frexp* tests: More tests.
[gnulib.git] / ChangeLog
1 2012-03-03  Bruno Haible  <bruno@clisp.org>
2
3         frexp* tests: More tests.
4         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
5         * tests/test-frexp.c (RANDOM): New macro.
6         * tests/test-frexpf.c (RANDOM): New macro.
7         * tests/test-frexpl.c (RANDOM): New macro.
8         * modules/frexp-tests (Files): Add tests/randomd.c.
9         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
10         * modules/frexpf-tests (Files): Add tests/randomf.c.
11         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
12         * modules/frexpl-tests (Files): Add tests/randoml.c.
13         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
14
15 2012-03-03  Bruno Haible  <bruno@clisp.org>
16
17         Support for pseudo-random numbers in tests.
18         * tests/randomf.c: New file.
19         * tests/randomd.c: New file.
20         * tests/randoml.c: New file.
21         * tests/macros.h (randomf, randomd, randoml): New declarations.
22
23 2012-03-03  Bruno Haible  <bruno@clisp.org>
24
25         frexp* tests: Refactor.
26         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
27         * tests/test-frexp.c: Include and use it.
28         * tests/test-frexpf.c: Likewise.
29         * tests/test-frexpl.c: Likewise.
30         * modules/frexp-tests (Files): Add tests/test-frexp.h.
31         * modules/frexpf-tests (Files): Likewise.
32         * modules/frexpl-tests (Files): Likewise.
33
34 2012-03-02  Jim Meyering  <meyering@redhat.com>
35
36         maint: don't specify XZ_OPT=-9ev in dist-related rule
37         Using xz's -9 option is warranted only if you have a very large
38         tarball (see xz's documentation for the sizes vs. presets), and
39         requires 64MiB of memory at decompression time.
40         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
41         Automake's default of just "-e" is fine.  Override on a
42         per-package basis by setting XZ_OPT e.g., in cfg.mk.
43
44 2012-03-01  Eric Blake  <eblake@redhat.com>
45
46         maint.mk: allow announcement for non-gnulib project
47         * maint.mk (announcement): Skip gnulib version if not used.
48
49 2012-03-01  Jim Meyering  <meyering@redhat.com>
50
51         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
52         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
53         envvar settings cannot interfere.  Otherwise, setting envvars like
54         prohibit=foo require=bar, etc. would cause spurious test failures.
55
56 2012-03-01  Eric Blake  <eblake@redhat.com>
57
58         maint.mk: add per-line exclusions to prohibitions
59         * maint.mk (_sc_search_regexp): Add $exclude parameter.
60         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
61         (sc_const_long_option): Use it.
62
63 2012-03-01  Bruno Haible  <bruno@clisp.org>
64
65         Tests for module 'expl-ieee'.
66         * modules/expl-ieee-tests: New file.
67         * tests/test-expl-ieee.c: New file.
68
69         New module 'expl-ieee'.
70         * modules/expl-ieee: New file.
71
72         Tests for module 'exp-ieee'.
73         * modules/exp-ieee-tests: New file.
74         * tests/test-exp-ieee.c: New file.
75
76         New module 'exp-ieee'.
77         * modules/exp-ieee: New file.
78
79         Tests for module 'expf-ieee'.
80         * modules/expf-ieee-tests: New file.
81         * tests/test-expf-ieee.c: New file.
82         * tests/test-exp-ieee.h: New file.
83
84         New module 'expf-ieee'.
85         * modules/expf-ieee: New file.
86
87 2012-02-29  Bruno Haible  <bruno@clisp.org>
88
89         cbrtl-ieee: Work around test failure on IRIX 6.5.
90         * m4/cbrtl-ieee.m4: New file.
91         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
92         test whether cbrtl works with a minus zero argument. Replace it if not.
93         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
94         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
95         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
96         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
97         (Depends-on): Update conditions.
98         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
99         m4/signbit.m4.
100         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
101         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
102         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
103
104         Tests for module 'cbrtl-ieee'.
105         * modules/cbrtl-ieee-tests: New file.
106         * tests/test-cbrtl-ieee.c: New file.
107
108         New module 'cbrtl-ieee'.
109         * modules/cbrtl-ieee: New file.
110
111         Tests for module 'cbrt-ieee'.
112         * modules/cbrt-ieee-tests: New file.
113         * tests/test-cbrt-ieee.c: New file.
114
115         New module 'cbrt-ieee'.
116         * modules/cbrt-ieee: New file.
117
118         Tests for module 'cbrtf-ieee'.
119         * modules/cbrtf-ieee-tests: New file.
120         * tests/test-cbrtf-ieee.c: New file.
121         * tests/test-cbrt-ieee.h: New file.
122
123         New module 'cbrtf-ieee'.
124         * modules/cbrtf-ieee: New file.
125
126 2012-02-29  Bruno Haible  <bruno@clisp.org>
127
128         cbrtf: Work around bug in IRIX 6.5 system function.
129         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
130         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
131         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
132         work.
133         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
134         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
135         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
136         (Depends-on): Update conditions.
137         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
138
139 2012-02-29  Bruno Haible  <bruno@clisp.org>
140
141         Tests for module 'cbrtl'.
142         * modules/cbrtl-tests: New file.
143         * tests/test-cbrtl.c: New file.
144
145         New module 'cbrtl'.
146         * lib/math.in.h (cbrtl): New declaration.
147         * lib/cbrtl.c: New file.
148         * m4/cbrtl.m4: New file.
149         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
150         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
151         HAVE_DECL_CBRTL.
152         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
153         HAVE_DECL_CBRTL.
154         * modules/cbrtl: New file.
155         * tests/test-math-c++.cc: Check the declaration of cbrtl.
156         * doc/posix-functions/cbrtl.texi: Mention the new module.
157
158 2012-02-29  Bruno Haible  <bruno@clisp.org>
159
160         Tests for module 'cbrtf'.
161         * modules/cbrtf-tests: New file.
162         * tests/test-cbrtf.c: New file.
163
164         New module 'cbrtf'.
165         * lib/math.in.h (cbrtf): New declaration.
166         * lib/cbrtf.c: New file.
167         * m4/cbrtf.m4: New file.
168         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
169         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
170         HAVE_DECL_CBRTF.
171         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
172         HAVE_DECL_CBRTF.
173         * modules/cbrtf: New file.
174         * tests/test-math-c++.cc: Check the declaration of cbrtf.
175         * doc/posix-functions/cbrtf.texi: Mention the new module.
176
177 2012-02-29  Bruno Haible  <bruno@clisp.org>
178
179         cbrt: Provide replacement on MSVC and Minix.
180         * lib/math.in.h (cbrt): New declaration.
181         * lib/cbrt.c: New file.
182         * m4/cbrt.m4: New file.
183         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
184         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
185         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
186         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
187         (Depends-on): Add dependencies.
188         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
189         * tests/test-math-c++.cc: Check the declaration of cbrt.
190         * doc/posix-functions/cbrt.texi: Mention that the module provides a
191         replacement.
192
193 2012-02-29  Bruno Haible  <bruno@clisp.org>
194
195         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
196         * m4/hypotl-ieee.m4: New file.
197         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
198         test whether hypotl works with mixed NaN and Infinity arguments.
199         Replace it if not.
200         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
201         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
202         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
203         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
204         (Depends-on): Update conditions.
205         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
206         (Depends-on): Add hypot-ieee.
207         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
208         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
209
210         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
211         * m4/hypotf-ieee.m4: New file.
212         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
213         test whether hypotf works with mixed NaN and Infinity arguments.
214         Replace it if not.
215         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
216         (Depends-on): Add hypot-ieee.
217         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
218         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
219
220         hypot-ieee: Work around test failure on OSF/1 and native Windows.
221         * lib/math.in.h (hypot): New declaration.
222         * lib/hypot.c: New file.
223         * m4/hypot-ieee.m4: New file.
224         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
225         whether hypot works with mixed NaN and Infinity arguments. Replace it
226         if not.
227         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
228         REPLACE_HYPOT.
229         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
230         * modules/hypot (Files): Add lib/hypot.c.
231         (Depends-on): Add dependencies.
232         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
233         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
234         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
235         * tests/test-math-c++.cc: Check the declaration of hypot.
236         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
237
238         Tests for module 'hypotl-ieee'.
239         * modules/hypotl-ieee-tests: New file.
240         * tests/test-hypotl-ieee.c: New file.
241
242         New module 'hypotl-ieee'.
243         * modules/hypotl-ieee: New file.
244
245         Tests for module 'hypot-ieee'.
246         * modules/hypot-ieee-tests: New file.
247         * tests/test-hypot-ieee.c: New file.
248
249         New module 'hypot-ieee'.
250         * modules/hypot-ieee: New file.
251
252         Tests for module 'hypotf-ieee'.
253         * modules/hypotf-ieee-tests: New file.
254         * tests/test-hypotf-ieee.c: New file.
255         * tests/test-hypot-ieee.h: New file.
256
257         New module 'hypotf-ieee'.
258         * modules/hypotf-ieee: New file.
259
260 2012-02-29  Bruno Haible  <bruno@clisp.org>
261
262         Remove unused variables.
263         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
264         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
265         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
266         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
267
268 2012-02-29  Eric Blake  <eblake@redhat.com>
269
270         termios: fix pid_t always, not just for tcgetsid
271         * doc/posix-headers/termios.texi (termios.h): Mention problem.
272         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
273         just when building tcgetsid.
274
275 2012-02-29  Bruno Haible  <bruno@clisp.org>
276
277         Tests for module 'hypotl'.
278         * modules/hypotl-tests: New file.
279         * tests/test-hypotl.c: New file.
280
281         New module 'hypotl'.
282         * lib/math.in.h (hypotl): New declaration.
283         * lib/hypotl.c: New file.
284         * m4/hypotl.m4: New file.
285         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
286         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
287         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
288         * modules/hypotl: New file.
289         * tests/test-math-c++.cc: Check the hypotl declaration.
290         * doc/posix-functions/hypotl.texi: Mention the new module.
291
292 2012-02-29  Eric Blake  <eblake@redhat.com>
293
294         tcgetsid: fix cygwin header bug
295         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
296
297         docs: update cygwin progress
298         * doc/posix-functions/llround.texi (llround): Added in cygwin
299         1.7.8.
300         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
301         * doc/glibc-functions/program_invocation_name.texi
302         (program_invocation_name): Likewise.
303         * doc/glibc-functions/program_invocation_short_name.texi
304         (program_invocation_short_name): Likewise.
305         * doc/glibc-functions/madvise.texi (madvise): Likewise.
306         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
307         Likewise.
308         * doc/posix-functions/pthread_spin_destroy.texi
309         (pthread_spin_destroy): Added in cygwin 1.7.10.
310         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
311         Likewise.
312         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
313         Likewise.
314         * doc/posix-functions/pthread_spin_trylock.texi
315         (pthread_spin_trylock): Likewise.
316         * doc/posix-functions/pthread_spin_unlock.texi
317         (pthread_spin_unlock): Likewise.
318         * doc/posix-functions/pthread_setschedprio.texi
319         (pthread_setschedprio): Likewise.
320         * doc/posix-functions/pthread_attr_getstack.texi
321         (pthread_attr_getstack): Likewise.
322         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
323         (pthread_attr_getstackaddr): Likewise.
324         * doc/glibc-functions/pthread_getattr_np.texi
325         (pthread_getattr_np): Likewise.
326         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
327         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
328         * doc/posix-functions/clock_settime.texi (clock_settime):
329         Likewise.
330         * doc/posix-functions/pthread_attr_getguardsize.texi
331         (pthread_attr_getguardsize): Likewise.
332         * doc/posix-functions/pthread_attr_setguardsize.texi
333         (pthread_attr_setguardsize): Likewise.
334         * doc/posix-functions/pthread_attr_setstack.texi
335         (pthread_attr_setstack): Likewise.
336         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
337         (pthread_attr_setstackaddr): Likewise.
338         * doc/posix-functions/clock_getcpuclockid.texi
339         (clock_getcpuclockid): Likewise.
340         * doc/posix-functions/pthread_getcpuclockid.texi
341         (pthread_getcpuclockid): Likewise.
342         * doc/glibc-functions/error.texi (error): Likewise.
343         * doc/glibc-functions/error_at_line.texi (error_at_line):
344         Likewise.
345         * doc/glibc-functions/error_message_count.texi
346         (error_message_count): Likewise.
347         * doc/glibc-functions/error_one_per_line.texi
348         (error_one_per_line): Likewise.
349         * doc/glibc-functions/error_print_progname.texi
350         (error_print_progname): Likewise.
351         * doc/posix-functions/pthread_condattr_getclock.texi
352         (pthread_condattr_getclock): Likewise.
353         * doc/posix-functions/pthread_condattr_setclock.texi
354         (pthread_condattr_setclock): Likewise.
355         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
356         Likewise.
357         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
358         * doc/glibc-functions/getpt.texi (getpt): Likewise.
359         * doc/glibc-functions/get_current_dir_name.texi
360         (get_current_dir_name): Likewise.
361         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
362         Likewise.
363         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
364         wrong return type.
365         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
366         1.7.11.
367
368 2012-02-29  Bruno Haible  <bruno@clisp.org>
369
370         Tests for module 'hypotf'.
371         * modules/hypotf-tests: New file.
372         * tests/test-hypotf.c: New file.
373
374         New module 'hypotf'.
375         * lib/math.in.h (hypotf): New declaration.
376         * lib/hypotf.c: New file.
377         * m4/hypotf.m4: New file.
378         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
379         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
380         REPLACE_HYPOTF.
381         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
382         REPLACE_HYPOTF.
383         * modules/hypotf: New file.
384         * tests/test-math-c++.cc: Check the hypotf declaration.
385         * doc/posix-functions/hypotf.texi: Mention the new module.
386
387         hypot: Prepare for hypotf module.
388         * m4/hypot.m4: New file.
389         * modules/hypot (Files): Add m4/hypot.m4.
390         (configure.ac): Invoke gl_FUNC_HYPOT.
391
392 2012-02-29  Bruno Haible  <bruno@clisp.org>
393
394         hypot tests: More tests.
395         * tests/test-hypot.c: Include <float.h>.
396         (main): Add tests about overflow and underflow.
397
398 2012-02-29  Bruno Haible  <bruno@clisp.org>
399
400         math code: Add comments.
401         * lib/acosl.c: Add comment about related glibc source files.
402         * lib/asinl.c: Likewise.
403         * lib/atanl.c: Likewise.
404         * lib/expl.c: Likewise.
405         * lib/logl.c: Likewise.
406         * lib/sincosl.c: Likewise.
407         * lib/sinl.c: Likewise.
408         * lib/tanl.c: Likewise.
409         * lib/trigl.c: Likewise.
410         * lib/cosl.c: Likewise. Fix comments.
411
412 2012-02-28  Bruno Haible  <bruno@clisp.org>
413
414         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
415         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
416         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
417         HUGE_VALL are defined.
418         (numeric_equald): Renamed from numeric_equal.
419         (numeric_equalf, numeric_equall): New functions.
420         (main): Check also HUGE_VALF, HUGE_VALL.
421         * modules/math-tests (Files): Add tests/macros.h.
422         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
423         HUGE_VALL.
424
425 2012-02-28  Bruno Haible  <bruno@clisp.org>
426
427         doc: Move ISO C11 feature notes into POSIX chapters.
428         * doc/posix-functions/aligned_alloc.texi: Renamed from
429         doc/glibc-functions/aligned_alloc.texi.
430         * doc/posix-functions/quick_exit.texi: Renamed from
431         doc/glibc-functions/quick_exit.texi.
432         * doc/posix-headers/uchar.texi: Renamed from
433         doc/glibc-headers/uchar.texi.
434         * doc/posix-functions/c16rtomb.texi: Renamed from
435         doc/glibc-functions/c16rtomb.texi.
436         * doc/posix-functions/c32rtomb.texi: Renamed from
437         doc/glibc-functions/c32rtomb.texi.
438         * doc/posix-functions/mbrtoc16.texi: Renamed from
439         doc/glibc-functions/mbrtoc16.texi.
440         * doc/posix-functions/mbrtoc32.texi: Renamed from
441         doc/glibc-functions/mbrtoc32.texi.
442         * doc/gnulib.texi: Update.
443         (Glibc uchar.h): Remove section.
444         Suggested by Eric Blake.
445
446 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
447
448         stdnoreturn: port to MSVC better
449         MSVC standard headers use __declspec(noreturn), so #define noreturn
450         to empty on that platform.  Reported by Bruno Haible in
451         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
452         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
453         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
454
455 2012-02-28  Bruno Haible  <bruno@clisp.org>
456
457         doc: Mention new glibc headers and functions.
458         * doc/glibc-headers/uchar.texi: New file.
459         * doc/glibc-functions/aligned_alloc.texi: New file.
460         * doc/glibc-functions/c16rtomb.texi: New file.
461         * doc/glibc-functions/c32rtomb.texi: New file.
462         * doc/glibc-functions/clock_adjtime.texi: New file.
463         * doc/glibc-functions/fanotify_init.texi: New file.
464         * doc/glibc-functions/fanotify_mark.texi: New file.
465         * doc/glibc-functions/inet6_opt_append.texi: New file.
466         * doc/glibc-functions/inet6_opt_find.texi: New file.
467         * doc/glibc-functions/inet6_opt_finish.texi: New file.
468         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
469         * doc/glibc-functions/inet6_opt_init.texi: New file.
470         * doc/glibc-functions/inet6_opt_next.texi: New file.
471         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
472         * doc/glibc-functions/inet6_rth_add.texi: New file.
473         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
474         * doc/glibc-functions/inet6_rth_init.texi: New file.
475         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
476         * doc/glibc-functions/inet6_rth_segments.texi: New file.
477         * doc/glibc-functions/inet6_rth_space.texi: New file.
478         * doc/glibc-functions/login.texi: New file.
479         * doc/glibc-functions/mbrtoc16.texi: New file.
480         * doc/glibc-functions/mbrtoc32.texi: New file.
481         * doc/glibc-functions/name_to_handle_at.texi: New file.
482         * doc/glibc-functions/ntp_gettimex.texi: New file.
483         * doc/glibc-functions/open_by_handle_at.texi: New file.
484         * doc/glibc-functions/prlimit.texi: New file.
485         * doc/glibc-functions/process_vm_readv.texi: New file.
486         * doc/glibc-functions/process_vm_writev.texi: New file.
487         * doc/glibc-functions/recvmmsg.texi: New file.
488         * doc/glibc-functions/scandirat.texi: New file.
489         * doc/glibc-functions/sendmmsg.texi: New file.
490         * doc/glibc-functions/setns.texi: New file.
491         * doc/glibc-functions/timespec_get.texi: New file.
492         * doc/gnulib.texi: Include them.
493         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
494         sections.
495         Reported by Eric Blake.
496
497 2012-02-28  Bruno Haible  <bruno@clisp.org>
498
499         Avoid compilation errors with MSVC option -fp:strict.
500         * lib/floor.c: Use MSVC specific pragma fenv_access.
501         * lib/ceil.c: Likewise.
502         * lib/trunc.c: Likewise.
503         * lib/round.c: Likewise.
504         * lib/rint.c: Likewise.
505         * lib/fma.c: Likewise.
506         * lib/integer_length.c: Likewise.
507         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
508         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
509         * tests/test-floor2.c: Likewise.
510         * tests/test-floorf2.c: Likewise.
511         * tests/test-ceil2.c: Likewise.
512         * tests/test-ceilf2.c: Likewise.
513         * tests/test-trunc2.c: Likewise.
514         * tests/test-truncf2.c: Likewise.
515         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
516
517 2012-02-27  Bruno Haible  <bruno@clisp.org>
518
519         Tests for module 'sqrtl-ieee'.
520         * modules/sqrtl-ieee-tests: New file.
521         * tests/test-sqrtl-ieee.c: New file.
522
523         New module 'sqrtl-ieee'.
524         * modules/sqrtl-ieee: New file.
525
526         Tests for module 'sqrt-ieee'.
527         * modules/sqrt-ieee-tests: New file.
528         * tests/test-sqrt-ieee.c: New file.
529
530         New module 'sqrt-ieee'.
531         * modules/sqrt-ieee: New file.
532
533         Tests for module 'sqrtf-ieee'.
534         * modules/sqrtf-ieee-tests: New file.
535         * tests/test-sqrtf-ieee.c: New file.
536         * tests/test-sqrt-ieee.h: New file.
537
538         New module 'sqrtf-ieee'.
539         * modules/sqrtf-ieee: New file.
540
541 2012-02-27  Bruno Haible  <bruno@clisp.org>
542
543         remainderl-ieee: Work around test failure on OSF/1.
544         * m4/remainderl-ieee.m4: New file.
545         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
546         present, test whether remainderl works with a zero second argument.
547         Replace it if not.
548         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
549         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
550         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
551         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
552         (Depends-on): Update conditions.
553         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
554         (Depends-on): Add remainder-ieee.
555         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
556         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
557         module.
558
559         remainderf-ieee: Work around test failure on OSF/1.
560         * m4/remainderf-ieee.m4: New file.
561         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
562         present, test whether remainderf works with a zero second argument.
563         Replace it if not.
564         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
565         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
566         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
567         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
568         (Depends-on): Update conditions.
569         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
570         (Depends-on): Add remainder-ieee.
571         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
572         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
573         module.
574
575         remainder-ieee: Work around test failure on OSF/1.
576         * m4/remainder-ieee.m4: New file.
577         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
578         present, test whether remainder works with a zero second argument.
579         Replace it if not.
580         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
581         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
582         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
583         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
584         (Depends-on): Update dependencies.
585         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
586         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
587         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
588
589         Tests for module 'remainderl-ieee'.
590         * modules/remainderl-ieee-tests: New file.
591         * tests/test-remainderl-ieee.c: New file.
592
593         New module 'remainderl-ieee'.
594         * modules/remainderl-ieee: New file.
595
596         Tests for module 'remainder-ieee'.
597         * modules/remainder-ieee-tests: New file.
598         * tests/test-remainder-ieee.c: New file.
599
600         New module 'remainder-ieee'.
601         * modules/remainder-ieee: New file.
602
603         Tests for module 'remainderf-ieee'.
604         * modules/remainderf-ieee-tests: New file.
605         * tests/test-remainderf-ieee.c: New file.
606         * tests/test-remainder-ieee.h: New file.
607
608         New module 'remainderf-ieee'.
609         * modules/remainderf-ieee: New file.
610
611 2012-02-27  Bruno Haible  <bruno@clisp.org>
612
613         modff, modfl: Fix configure syntax error.
614         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
615         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
616
617 2012-02-27  Bruno Haible  <bruno@clisp.org>
618
619         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
620         * m4/fmodl-ieee.m4: New file.
621         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
622         whether fmodl works with zero arguments. Replace it if not.
623         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
624         (Depends-on): Add fmod-ieee.
625         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
626         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
627
628         fmodf-ieee: Work around test failure on OSF/1.
629         * m4/fmodf-ieee.m4: New file.
630         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
631         whether fmodf works with zero arguments. Replace it if not.
632         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
633         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
634         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
635         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
636         (Depends-on): Update dependencies.
637         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
638         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
639         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
640
641         fmodf-ieee: Work around test failure on MSVC 9.
642         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
643         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
644
645         fmod-ieee: Work around test failures on OSF/1, mingw.
646         * m4/fmod-ieee.m4: New file.
647         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
648         whether fmod works with zero arguments. Replace it if not.
649         * lib/math.in.h (fmod): New declaration.
650         * lib/fmod.c: New file.
651         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
652         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
653         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
654         * modules/fmod (Files): Add lib/fmod.c.
655         (Depends-on): Add math, isinf, trunc, fma.
656         (configure.ac): Arrange to compile lib/fmod.c if needed.
657         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
658         m4/signbit.m4.
659         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
660         * tests/test-math-c++.cc: Check the declaration of fmod.
661         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
662
663         fmodl-ieee: Fix test failures.
664         * lib/fmodl.c (fmodl): Treat Inf specially.
665         * modules/fmodl (Depends-on): Add isinf.
666
667         Tests for module 'fmodl-ieee'.
668         * modules/fmodl-ieee-tests: New file.
669         * tests/test-fmodl-ieee.c: New file.
670
671         New module 'fmodl-ieee'.
672         * modules/fmodl-ieee: New file.
673
674         Tests for module 'fmod-ieee'.
675         * modules/fmod-ieee-tests: New file.
676         * tests/test-fmod-ieee.c: New file.
677
678         New module 'fmod-ieee'.
679         * modules/fmod-ieee: New file.
680
681         Tests for module 'fmodf-ieee'.
682         * modules/fmodf-ieee-tests: New file.
683         * tests/test-fmodf-ieee.c: New file.
684         * tests/test-fmod-ieee.h: New file.
685
686         New module 'fmodf-ieee'.
687         * modules/fmodf-ieee: New file.
688
689 2012-02-27  Bruno Haible  <bruno@clisp.org>
690
691         Tests for module 'rintl-ieee'.
692         * modules/rintl-ieee-tests: New file.
693         * tests/test-rintl-ieee.c: New file.
694
695         New module 'rintl-ieee'.
696         * modules/rintl-ieee: New file.
697
698         Tests for module 'rint-ieee'.
699         * modules/rint-ieee-tests: New file.
700         * tests/test-rint-ieee.c: New file.
701
702         New module 'rint-ieee'.
703         * modules/rint-ieee: New file.
704
705         Tests for module 'rintf-ieee'.
706         * modules/rintf-ieee-tests: New file.
707         * tests/test-rintf-ieee.c: New file.
708         * tests/test-rint-ieee.h: New file.
709
710         New module 'rintf-ieee'.
711         * modules/rintf-ieee: New file.
712
713 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
714
715         regex: re_search etc. should return -2 when memory exhausted
716         This bug was uncovered when testing 'grep'.  Without the fix,
717         re_search and friends return -1 when memory is exhausted, but -1
718         means no match, and this causes grep to falsely report no-match
719         instead of memory-exhaustion.  See
720         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
721         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
722         trouble; this can occur if re_search_internal ran out of memory.
723
724 2012-02-26  Bruno Haible  <bruno@clisp.org>
725
726         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
727         * m4/modfl-ieee.m4: New file.
728         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
729         whether modfl works with Inf. Replace it if not.
730         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
731         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
732         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
733         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
734         (Depends-on): Update dependencies.
735         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
736         m4/signbit.m4.
737         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
738         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
739
740         modfl-ieee: Fix dependencies.
741         * modules/modfl-ieee (Depends-on): Add modf-ieee.
742
743         modfl-ieee: Fix test failures.
744         * lib/modfl.c (modfl): Treat NaN and Inf specially.
745         * modules/modfl (Depends-on): Add isfinite, isinf.
746
747         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
748         * m4/modff-ieee.m4: New file.
749         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
750         whether modff works with NaN and Inf. Replace it if not.
751         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
752         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
753         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
754         * modules/modff (configure.ac): Consider REPLACE_MODFF.
755         (Depends-on): Update dependencies.
756         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
757         m4/signbit.m4.
758         (Depends-on): Add modf-ieee.
759         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
760         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
761
762         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
763         * m4/modf-ieee.m4: New file.
764         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
765         whether modf works with NaN and Inf. Replace it if not.
766         * lib/math.in.h (modf): New declaration.
767         * lib/modf.c: New file.
768         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
769         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
770         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
771         * modules/modf (Files): Add lib/modf.c.
772         (Depends-on): Add math, isfinite, trunc, isinf.
773         (configure.ac): Addrange to compile lib/modf.c if needed.
774         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
775         m4/signbit.m4.
776         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
777         * tests/test-math-c++.cc: Check the declaration of modf.
778         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
779
780         Tests for module 'modfl-ieee'.
781         * modules/modfl-ieee-tests: New file.
782         * tests/test-modfl-ieee.c: New file.
783
784         New module 'modfl-ieee'.
785         * modules/modfl-ieee: New file.
786
787         Tests for module 'modf-ieee'.
788         * modules/modf-ieee-tests: New file.
789         * tests/test-modf-ieee.c: New file.
790
791         New module 'modf-ieee'.
792         * modules/modf-ieee: New file.
793
794         Tests for module 'modff-ieee'.
795         * modules/modff-ieee-tests: New file.
796         * tests/test-modff-ieee.c: New file.
797         * tests/test-modf-ieee.h: New file.
798
799         New module 'modff-ieee'.
800         * modules/modff-ieee: New file.
801
802 2012-02-26  Bruno Haible  <bruno@clisp.org>
803
804         Tests for module 'fabsl-ieee'.
805         * modules/fabsl-ieee-tests: New file.
806         * tests/test-fabsl-ieee.c: New file.
807
808         New module 'fabsl-ieee'.
809         * modules/fabsl-ieee: New file.
810
811         Tests for module 'fabs-ieee'.
812         * modules/fabs-ieee-tests: New file.
813         * tests/test-fabs-ieee.c: New file.
814
815         New module 'fabs-ieee'.
816         * modules/fabs-ieee: New file.
817
818         Tests for module 'fabsf-ieee'.
819         * modules/fabsf-ieee-tests: New file.
820         * tests/test-fabsf-ieee.c: New file.
821         * tests/test-fabs-ieee.h: New file.
822
823         New module 'fabsf-ieee'.
824         * modules/fabsf-ieee: New file.
825
826 2012-02-26  Bruno Haible  <bruno@clisp.org>
827
828         Tests for module 'fmal-ieee'.
829         * modules/fmal-ieee-tests: New file.
830         * tests/test-fmal-ieee.c: New file.
831
832         New module 'fmal-ieee'.
833         * modules/fmal-ieee: New file.
834
835         Tests for module 'fma-ieee'.
836         * modules/fma-ieee-tests: New file.
837         * tests/test-fma-ieee.c: New file.
838
839         New module 'fma-ieee'.
840         * modules/fma-ieee: New file.
841
842         Tests for module 'fmaf-ieee'.
843         * modules/fmaf-ieee-tests: New file.
844         * tests/test-fmaf-ieee.c: New file.
845         * tests/test-fma-ieee.h: New file.
846
847         New module 'fmaf-ieee'.
848         * modules/fmaf-ieee: New file.
849
850 2012-02-26  Bruno Haible  <bruno@clisp.org>
851
852         Tests for module 'ldexpl-ieee'.
853         * modules/ldexpl-ieee-tests: New file.
854         * tests/test-ldexpl-ieee.c: New file.
855
856         New module 'ldexpl-ieee'.
857         * modules/ldexpl-ieee: New file.
858
859         Tests for module 'ldexp-ieee'.
860         * modules/ldexp-ieee-tests: New file.
861         * tests/test-ldexp-ieee.c: New file.
862
863         New module 'ldexp-ieee'.
864         * modules/ldexp-ieee: New file.
865
866         Tests for module 'ldexpf-ieee'.
867         * modules/ldexpf-ieee-tests: New file.
868         * tests/test-ldexpf-ieee.c: New file.
869         * tests/test-ldexp-ieee.h: New file.
870
871         New module 'ldexpf-ieee'.
872         * modules/ldexpf-ieee: New file.
873
874 2012-02-26  Bruno Haible  <bruno@clisp.org>
875
876         Refactor frexp*-ieee tests.
877         * tests/test-frexp-ieee.h: New file.
878         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
879         (main): Just call test_function.
880         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
881         (main): Just call test_function.
882         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
883         (main): Just call test_function.
884         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
885         * modules/frexp-ieee-tests (Files): Likewise.
886         * modules/frexpl-ieee-tests (Files): Likewise.
887
888         Tests for module 'frexpl-ieee'.
889         * modules/frexpl-ieee-tests: New file.
890         * tests/test-frexpl-ieee.c: New file.
891
892         New module 'frexpl-ieee'.
893         * modules/frexpl-ieee: New file.
894
895         Tests for module 'frexp-ieee'.
896         * modules/frexp-ieee-tests: New file.
897         * tests/test-frexp-ieee.c: New file.
898
899         New module 'frexp-ieee'.
900         * modules/frexp-ieee: New file.
901
902         Tests for module 'frexpf-ieee'.
903         * modules/frexpf-ieee-tests: New file.
904         * tests/test-frexpf-ieee.c: New file.
905
906         New module 'frexpf-ieee'.
907         * modules/frexpf-ieee: New file.
908
909 2012-02-26  Bruno Haible  <bruno@clisp.org>
910
911         roundl-ieee tests: More tests.
912         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
913         (main): Add tests for [MX] shaded specification in POSIX.
914         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
915         (Depends-on): Add isnanl-nolibm.
916
917         round-ieee tests: More tests.
918         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
919         (main): Add tests for [MX] shaded specification in POSIX.
920         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
921         (Depends-on): Add isnand-nolibm.
922
923         roundf-ieee tests: More tests.
924         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
925         (main): Add tests for [MX] shaded specification in POSIX.
926         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
927         (Depends-on): Add isnanf-nolibm.
928
929         truncl-ieee tests: More tests.
930         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
931         (main): Add tests for [MX] shaded specification in POSIX.
932         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
933         (Depends-on): Add isnanl-nolibm.
934
935         trunc-ieee tests: More tests.
936         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
937         (main): Add tests for [MX] shaded specification in POSIX.
938         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
939         (Depends-on): Add isnand-nolibm.
940
941         truncf-ieee tests: More tests.
942         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
943         (main): Add tests for [MX] shaded specification in POSIX.
944         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
945         (Depends-on): Add isnanf-nolibm.
946
947         ceill-ieee tests: More tests.
948         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
949         (main): Add tests for [MX] shaded specification in POSIX.
950         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
951         (Depends-on): Add isnanl-nolibm.
952
953         ceil-ieee tests: More tests.
954         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
955         (main): Add tests for [MX] shaded specification in POSIX.
956         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
957         (Depends-on): Add isnand-nolibm.
958
959         ceilf-ieee tests: More tests.
960         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
961         (main): Add tests for [MX] shaded specification in POSIX.
962         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
963         (Depends-on): Add isnanf-nolibm.
964
965         floorl-ieee tests: More tests.
966         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
967         (main): Add tests for [MX] shaded specification in POSIX.
968         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
969         (Depends-on): Add isnanl-nolibm.
970
971         floor-ieee tests: More tests.
972         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
973         (main): Add tests for [MX] shaded specification in POSIX.
974         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
975         (Depends-on): Add isnand-nolibm.
976
977         floorf-ieee tests: More tests.
978         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
979         (main): Add tests for [MX] shaded specification in POSIX.
980         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
981         (Depends-on): Add isnanf-nolibm.
982
983 2012-02-26  Bruno Haible  <bruno@clisp.org>
984
985         fpieee: More comments.
986         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
987
988 2012-02-25  Bruno Haible  <bruno@clisp.org>
989
990         Tests for module 'log10l'.
991         * modules/log10l-tests: New file.
992         * tests/test-log10l.c: New file.
993         * tests/test-math-c++.cc: Check the declaration of log10l.
994
995         New module 'log10l'.
996         * lib/math.in.h (log10l): New declaration.
997         * lib/log10l.c: New file.
998         * m4/log10l.m4: New file.
999         * modules/log10l: New file.
1000         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
1001         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
1002         HAVE_DECL_LOG10L.
1003         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
1004         HAVE_DECL_LOG10L.
1005         * doc/posix-functions/log10l.texi: Mention the new module.
1006
1007 2012-02-25  Bruno Haible  <bruno@clisp.org>
1008
1009         fmodl, remainder*: Avoid wrong results due to rounding errors.
1010         * lib/fmodl.c (fmodl): Correct the result if it is not within the
1011         expected bounds.
1012         * lib/remainderf.c (remainderf): Likewise.
1013         * lib/remainder.c (remainder): Likewise.
1014         * lib/remainderl.c (remainderl): Likewise.
1015
1016 2012-02-25  Bruno Haible  <bruno@clisp.org>
1017
1018         Tests for module 'remainderl'.
1019         * modules/remainderl-tests: New file.
1020         * tests/test-remainderl.c: New file.
1021         * tests/test-math-c++.cc: Check the declaration of remainderl.
1022
1023         New module 'remainderl'.
1024         * lib/math.in.h (remainderl): New declaration.
1025         * lib/remainderl.c: New file.
1026         * m4/remainderl.m4: New file.
1027         * modules/remainderl: New file.
1028         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
1029         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
1030         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
1031         HAVE_REMAINDERL.
1032         * doc/posix-functions/remainderl.texi: Mention the new module.
1033
1034 2012-02-25  Bruno Haible  <bruno@clisp.org>
1035
1036         Tests for module 'remainderf'.
1037         * modules/remainderf-tests: New file.
1038         * tests/test-remainderf.c: New file.
1039         * tests/test-math-c++.cc: Check the declaration of remainderf.
1040
1041         New module 'remainderf'.
1042         * lib/math.in.h (remainderf): New declaration.
1043         * lib/remainderf.c: New file.
1044         * m4/remainderf.m4: New file.
1045         * modules/remainderf: New file.
1046         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
1047         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
1048         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
1049         HAVE_REMAINDERF.
1050         * doc/posix-functions/remainderf.texi: Mention the new module.
1051
1052 2012-02-25  Bruno Haible  <bruno@clisp.org>
1053
1054         remainder: Support for MSVC.
1055         * lib/math.in.h (remainder): New declaration.
1056         * lib/remainder.c: New file.
1057         * m4/remainder.m4: New file.
1058         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
1059         (Depends-on): Add math, round, fma.
1060         (configure.ac): Use results of gl_FUNC_REMAINDER.
1061         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
1062         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
1063         HAVE_DECL_REMAINDER.
1064         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
1065         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
1066         * tests/test-math-c++.cc: Check the declaration of remainder.
1067         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
1068         problems are fixed.
1069
1070 2012-02-25  Bruno Haible  <bruno@clisp.org>
1071
1072         Tests for module 'fmodl'.
1073         * modules/fmodl-tests: New file.
1074         * tests/test-fmodl.c: New file.
1075         * tests/test-math-c++.cc: Check the declaration of fmodl.
1076
1077         New module 'fmodl'.
1078         * lib/math.in.h (fmodl): New declaration.
1079         * lib/fmodl.c: New file.
1080         * m4/fmodl.m4: New file.
1081         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
1082         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
1083         REPLACE_FMODL.
1084         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
1085         REPLACE_FMODL.
1086         * modules/fmodl: New file.
1087         * doc/posix-functions/fmodl.texi: Mention the new module.
1088
1089 2012-02-25  Bruno Haible  <bruno@clisp.org>
1090
1091         Tests for module 'modfl'.
1092         * modules/modfl-tests: New file.
1093         * tests/test-modfl.c: New file.
1094         * tests/test-math-c++.cc: Check the declaration of modfl.
1095
1096         New module 'modfl'.
1097         * lib/math.in.h (modfl): New declaration.
1098         * lib/modfl.c: New file.
1099         * m4/modfl.m4: New file.
1100         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
1101         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
1102         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
1103         * modules/modfl: New file.
1104         * doc/posix-functions/modfl.texi: Mention the new module.
1105
1106 2012-02-25  Bruno Haible  <bruno@clisp.org>
1107
1108         Tests for module 'fabsl'.
1109         * modules/fabsl-tests: New file.
1110         * tests/test-fabsl.c: New file.
1111         * tests/test-math-c++.cc: Check the declaration of fabsl.
1112
1113         New module 'fabsl'.
1114         * lib/math.in.h (fabsl): New declaration.
1115         * lib/fabsl.c: New file.
1116         * m4/fabsl.m4: New file.
1117         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
1118         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
1119         REPLACE_FABSL.
1120         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
1121         REPLACE_FABSL.
1122         * modules/fabsl: New file.
1123         * doc/posix-functions/fabsl.texi: Mention the new module.
1124
1125 2012-02-25  Bruno Haible  <bruno@clisp.org>
1126
1127         fabs tests: More tests.
1128         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
1129         (zero): New variable.
1130         (main): Add tests for signed zero.
1131         * modules/fabs-tests (Files): Add tests/minus-zero.h.
1132
1133         fabsf tests: More tests.
1134         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
1135         (zero): New variable.
1136         (main): Add tests for signed zero.
1137         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
1138
1139 2012-02-24  Bruno Haible  <bruno@clisp.org>
1140
1141         atanl: Provide function definition on MSVC.
1142         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
1143         function pointer.
1144         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
1145
1146 2012-02-24  Bruno Haible  <bruno@clisp.org>
1147
1148         acosl: Provide function definition on MSVC.
1149         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
1150         function pointer.
1151         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
1152
1153 2012-02-24  Bruno Haible  <bruno@clisp.org>
1154
1155         asinl: Provide function definition on MSVC.
1156         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
1157         function pointer.
1158         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
1159
1160 2012-02-24  Bruno Haible  <bruno@clisp.org>
1161
1162         tanl: Provide function definition on MSVC.
1163         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
1164         function pointer.
1165         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
1166
1167 2012-02-24  Bruno Haible  <bruno@clisp.org>
1168
1169         cosl: Provide function definition on MSVC.
1170         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
1171         function pointer.
1172         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
1173
1174 2012-02-24  Bruno Haible  <bruno@clisp.org>
1175
1176         sinl: Provide function definition on MSVC.
1177         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
1178         function pointer.
1179         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
1180
1181 2012-02-24  Bruno Haible  <bruno@clisp.org>
1182
1183         logl: Provide function definition on MSVC.
1184         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
1185         function pointer.
1186         * lib/math.in.h (logl): Undefine if it does not exist as a function.
1187
1188 2012-02-24  Bruno Haible  <bruno@clisp.org>
1189
1190         expl: Provide function definition on MSVC.
1191         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
1192         function pointer.
1193         * lib/math.in.h (expl): Undefine if it does not exist as a function.
1194
1195 2012-02-24  Bruno Haible  <bruno@clisp.org>
1196
1197         sqrtl: Provide function definition on MSVC.
1198         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
1199         a function pointer.
1200         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
1201
1202 2012-02-24  Bruno Haible  <bruno@clisp.org>
1203
1204         ceill: Provide function definition on MSVC.
1205         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
1206         used as a function pointer.
1207         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
1208
1209 2012-02-24  Bruno Haible  <bruno@clisp.org>
1210
1211         floorl: Provide function definition on MSVC.
1212         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
1213         used as a function pointer.
1214         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
1215
1216 2012-02-24  Bruno Haible  <bruno@clisp.org>
1217
1218         ceilf: Provide function definition on MSVC.
1219         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
1220         used as a function pointer.
1221         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
1222
1223 2012-02-24  Bruno Haible  <bruno@clisp.org>
1224
1225         floorf: Provide function definition on MSVC.
1226         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
1227         used as a function pointer.
1228         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
1229
1230 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
1231
1232         stdnoreturn: new module
1233         This implements a replacement for C11's <stdnoreturn.h>.
1234         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
1235         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
1236         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
1237         * tests/test-stdnoreturn.c: New files.
1238
1239 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
1240
1241         regex: fix false multibyte matches in some regular expressions
1242         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
1243         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
1244         * lib/regex_internal.c (re_string_skip_chars):
1245         Fix miscomputation of remain_len that may cause incomplete
1246         multi-byte character and false match.
1247
1248 2012-02-24  Jim Meyering  <meyering@redhat.com>
1249
1250         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
1251         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
1252         uses with "==" *before* the call, e.g., 0 == strcmp (...)
1253         Remove now-unnecessary str''cmp obfuscation.
1254         Suggested by Akim Demaille.
1255
1256 2012-02-24  Bruno Haible  <bruno@clisp.org>
1257
1258         streq: Rename macro.
1259         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
1260         * NEWS: Mention the change.
1261         * lib/mbrtowc.c (mbrtowc): Update.
1262         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
1263         * lib/wcwidth.c (wcwidth): Update.
1264         Suggested by Akim Demaille and Jim Meyering.
1265
1266 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
1267
1268         regex: fix typo in definition of MIN
1269         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
1270         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
1271
1272 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
1273             Bruno Haible  <bruno@clisp.org>
1274
1275         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
1276         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
1277         entries into a stack-allocated buffer directly.
1278         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
1279
1280 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
1281             Bruno Haible  <bruno@clisp.org>
1282
1283         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
1284
1285          - There were several instances of this pattern:
1286
1287              for (;;) {
1288                n = acl (f, GETACLCNT, 0, NULL);
1289                [ allocate an array A of size N ]
1290                if (acl (f, GETACL, n, a) == n)
1291                  break;
1292              }
1293
1294            This loop might never terminate if some other process is constantly
1295            manipulating the file's ACL.  The loop should be rewritten to
1296            terminate.
1297
1298          - The acl (... GETACLNT ...) call is merely an optimization; its value
1299            is merely a hint as to how big to make the array.  A better
1300            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
1301            and just guess a reasonably-big size, growing the size and trying
1302            again if it's not large enough.  This guarantees termination, and
1303            saves a system call.
1304
1305         * lib/acl-internal.h: Include <limits.h>.
1306         (MIN, SIZE_MAX): New macros.
1307         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
1308         a stack-allocated buffer, and use malloc if it does not fit. Don't
1309         use GETACLCNT.
1310         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
1311
1312 2012-02-19  Bruno Haible  <bruno@clisp.org>
1313
1314         acl: Fix endless loop on Solaris with vxfs.
1315         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
1316         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
1317         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
1318         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
1319         * tests/test-sameacls.c (main)[Solaris]: Likewise.
1320         Reported by Bill Jones in
1321         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
1322
1323 2012-02-19  Bruno Haible  <bruno@clisp.org>
1324
1325         acl: Fix copy-acl test failure on Solaris 11 2011-11.
1326         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
1327         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
1328         that this function returns 0 in some more cases.
1329
1330 2012-02-19  Bruno Haible  <bruno@clisp.org>
1331
1332         acl: Update doc references.
1333         * doc/acl-resources.txt: Update links to Solaris documentation.
1334
1335 2012-02-19  Bruno Haible  <bruno@clisp.org>
1336
1337         Fix test failure in many locales on Solaris 11.
1338         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
1339         'tr' arguments.
1340         * tests/test-pipe-filter-ii1.c (main): Likewise.
1341         * build-aux/bootstrap (check_versions): Run 'tr' command with range
1342         expressions in the C locale.
1343         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
1344         * m4/host-os.m4 (gl_HOST_OS): Likewise.
1345
1346 2012-02-19  Bruno Haible  <bruno@clisp.org>
1347
1348         gnulib-tool: Improve usage message.
1349         * gnulib-tool (func_usage): Move doc of --help and --version to the
1350         section "Operation modes".
1351
1352 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
1353
1354         README-release: make it easier to execute commands
1355         * top/README-release: break commands out on to separate lines.
1356
1357 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
1358
1359         GNUmakefile: simplify detection of unconfigured trees
1360         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
1361         whether the tree make is being run from is already configured or
1362         not.  Related simplifications.
1363
1364 2012-02-13  Simon Josefsson  <simon@josefsson.org>
1365
1366         * gnulib-tool (func_usage): Document --help and --version.
1367
1368 2012-02-11  Jim Meyering  <meyering@redhat.com>
1369
1370         bootstrap: don't exit 0 upon gnulib-tool failure
1371         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
1372         its exit status, not 0.
1373
1374 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
1375
1376         README-release: various improvements
1377         * top/README-release: Give a command to push changes for the
1378         release.  Add "distcheck" to list of other pre-release checks.
1379         Fix instance of "make stable" which should be "make TYPE".
1380
1381 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1382
1383         maint: replace FSF snail-mail addresses with URLs
1384         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
1385         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
1386         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
1387         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
1388         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
1389         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
1390         * lib/check-version.c, lib/check-version.h, lib/config.charset:
1391         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
1392         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
1393         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
1394         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
1395         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
1396         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
1397         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
1398         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
1399         * lib/glthread/thread.c, lib/glthread/thread.h:
1400         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
1401         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
1402         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
1403         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
1404         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
1405         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
1406         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
1407         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
1408         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
1409         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
1410         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
1411         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
1412         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
1413         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
1414         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
1415         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
1416         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
1417         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
1418         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
1419         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
1420         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
1421         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
1422         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
1423         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
1424         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
1425         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
1426         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
1427         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
1428         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
1429         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
1430         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
1431         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
1432         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
1433         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
1434         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
1435         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
1436         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
1437         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
1438         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
1439         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
1440         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
1441         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
1442         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
1443         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
1444         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
1445         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
1446         * tests/test-poll.c, tests/test-quotearg-simple.c:
1447         * tests/test-quotearg.c, tests/test-quotearg.h:
1448         * tests/test-round-ieee.c, tests/test-round1.c:
1449         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
1450         * tests/test-roundl-ieee.c, tests/test-roundl.c:
1451         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
1452         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
1453         * tests/test-strerror.c, tests/test-strerror_r.c:
1454         * tests/test-strsignal.c, tests/test-strverscmp.c:
1455         * tests/test-xmemdup0.c:
1456         Replace FSF snail mail addresses with URLs, as per GNU coding
1457         standards.  See glibc bug
1458         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
1459
1460 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
1461
1462         README-release: capitalize a word and split a line
1463         * top/README-release: Fix punctuation and spacing.
1464
1465 2012-02-08  Akim Demaille  <demaille@gostai.com>
1466
1467         fatal-signal: use C prototypes (with explicit void).
1468         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
1469         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
1470
1471 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
1472
1473         regex: spelling fix
1474         * lib/regexec.c: spelling fix
1475
1476         regex: rely on stdint.h for SIZE_MAX
1477         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
1478
1479 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
1480
1481         regex: merge glibc changes
1482
1483         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
1484         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
1485         (init_word_char): Work even if bitset words are not exactly 32 or
1486         64 bits wide.  Don't assume there are no padding bits.
1487         * lib/regex.c [_LIBC]: Do not include <config.h>.
1488         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
1489         and -Wtype-limits.
1490         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
1491         needless disagreement with glibc.  All uses changed.  Define it to
1492         1 only if _GNU_SOURCE, to match glibc.
1493         (_REG_RM_NAME): Remove; no longer needed, since the names in
1494         question are now all protected by __USE_GNU.
1495         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
1496         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
1497         * lib/regex_internal.h (MIN): New macro.
1498
1499         2012-01-03 Ulrich Drepper <drepper@gmail.com>
1500         * lib/regcomp.c (init_word_char): Optimize regex a bit.
1501
1502         2011-12-30 Jakub Jelinek <jakub@redhat.com>
1503         * lib/regex_internal.c (re_string_fetch_byte_case):
1504         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
1505         is miscompiled, and it turns out it is because of an incorrect
1506         attribute on re_string_fetch_byte_case.  Unlike
1507         re_string_peek_byte_case, this one is really not pure, it modifies
1508         memory (increments pstr->cur_idx), and with the pure attribute GCC
1509         assumed it doesn't and it cached the presumed value of
1510         regexp->cur_idx in a variable across the
1511          for (;; ++i)
1512            {
1513              if (i >= BRACKET_NAME_BUF_SIZE)
1514                return REG_EBRACK;
1515              if (token->type == OP_OPEN_CHAR_CLASS)
1516                ch = re_string_fetch_byte_case (regexp);
1517              else
1518                ch = re_string_fetch_byte (regexp);
1519              if (re_string_eoi(regexp))
1520                return REG_EBRACK;
1521              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
1522                break;
1523              elem->opr.name[i] = ch;
1524            }
1525
1526         2011-11-29 Andreas Schwab <schwab@redhat.com>
1527         * lib/regcomp.c (build_equiv_class):
1528         Fix access after end of search string in regex matcher.
1529
1530         2011-11-12 Ulrich Drepper <drepper@redhat.com>
1531         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
1532
1533         2011-10-12 Ulrich Drepper <drepper@redhat.com>
1534         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
1535
1536         2011-10-11 Ulrich Drepper <drepper@redhat.com>
1537         * lib/regcomp.c (parse_branch, parse_sub_exp):
1538         More regex memory leak fixes and tests.
1539         (parse_sub_exp, parse_bracket_exp):
1540         Fix memory leak for some invalid regular expressions.
1541
1542         2011-05-28 Ulrich Drepper <drepper@gmail.com>
1543         * lib/regex_internal.c, lib/regexec.c:
1544         Fix unnecessary overallocation due to incomplete character.  When
1545         incomplete characters are found at the end of a string the code
1546         ran amok and allocated lots of memory.  Stricter limits are now in
1547         place.
1548
1549         2011-05-20 Reuben Thomas <rrt@sc3d.org>
1550         * lib/regex.h: Update documentation.
1551
1552         2011-05-16 Aharon Robbins <arnold@skeeve.com>
1553         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
1554
1555         2010-05-05 Andreas Schwab <schwab@redhat.com>
1556         * lib/regexec.c (find_collation_sequence_value):
1557         Fix lookup of collation sequence value during regexp matching.
1558
1559         2010-01-22 Ulrich Drepper <drepper@redhat.com>
1560         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
1561
1562         2008-01-16 Ulrich Drepper <drepper@redhat.com>
1563         * lib/regex.h: Cleanup namespace.
1564
1565         2007-11-26 Ulrich Drepper <drepper@redhat.com>
1566         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
1567
1568         2007-08-26 Ulrich Drepper <drepper@redhat.com>
1569         * lib/regex_internal.h: Prevent some declarations and definitions
1570         to be seen when used in tests.
1571
1572         2005-05-06 Ulrich Drepper <drepper@redhat.com>
1573         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
1574         __libc_lock_* macros if not _LIBC.
1575         (struct re_dfa_t): Add lock.
1576
1577 2012-02-07  Eric Blake  <eblake@redhat.com>
1578
1579         maint.mk: also prohibit lower-case @var@
1580         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
1581         lower case, like @top_srcdir@.
1582
1583 2012-02-04  Eric Blake  <eblake@redhat.com>
1584
1585         canonicalize: avoid uninitialized memory use
1586         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
1587         random '/' left in dest.
1588         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
1589
1590 2012-02-04  Bruno Haible  <bruno@clisp.org>
1591
1592         isatty: Fix test failure of ptsname_r on native Windows.
1593         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
1594         and don't set errno.
1595         (isatty): Test first whether fd is valid. Set errno when returning 0.
1596
1597 2012-02-04  Bruno Haible  <bruno@clisp.org>
1598
1599         spawn-pipe tests: Fix a NULL program name in a diagnostic.
1600         * tests/test-spawn-pipe-main.c: Include progname.h.
1601         (main): Invoke set_program_name.
1602         * modules/spawn-pipe-tests (Depends-on): Add progname.
1603
1604         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
1605         * tests/test-nonblocking-socket-main.c: Include progname.h.
1606         (main): Invoke set_program_name.
1607         * modules/nonblocking-socket-tests (Depends-on): Add progname.
1608
1609         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
1610         * tests/test-nonblocking-pipe-main.c: Include progname.h.
1611         (main): Invoke set_program_name.
1612         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
1613
1614 2012-02-04  Eric Blake  <eblake@redhat.com>
1615
1616         canonicalize-lgpl: fix // handling
1617         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
1618
1619         canonicalize: fix // handling
1620         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
1621         /// to //, since only // is special.
1622
1623 2012-02-04  Bruno Haible  <bruno@clisp.org>
1624
1625         ioctl: Fix test failure on native Windows.
1626         * lib/ioctl.c: Include msvc-nothrow.h.
1627         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
1628
1629 2012-02-04  Bruno Haible  <bruno@clisp.org>
1630
1631         fsync: Avoid test failure on native Windows.
1632         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
1633         read-only.
1634
1635 2012-02-04  Bruno Haible  <bruno@clisp.org>
1636
1637         sys_select: Avoid syntax error on OpenBSD 5.0.
1638         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
1639         currently being included, just include the system's <sys/select.h>.
1640
1641 2012-02-04  Bruno Haible  <bruno@clisp.org>
1642
1643         sys_select: Avoid syntax error on OpenBSD 5.0.
1644         * lib/sys_select.in.h: Include <signal.h> only after the include_next
1645         <sys/select.h>, not before.
1646         Reported by Jiri B <jirib@devio.us>.
1647
1648 2012-02-04  Bruno Haible  <bruno@clisp.org>
1649
1650         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
1651         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
1652         global variables.
1653         * tests/test-get-rusage-data.c (main): Likewise.
1654         Reported by Jim Meyering.
1655
1656 2012-02-04  Bruno Haible  <bruno@clisp.org>
1657
1658         stdioext: Fix last commit.
1659         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
1660
1661 2012-02-03  Bruno Haible  <bruno@clisp.org>
1662
1663         stdioext: Add tentative support for Plan9.
1664         * lib/stdio-impl.h: Include <errno.h>.
1665         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
1666         * lib/freadable.c (freadable): Likewise.
1667         * lib/fwritable.c (fwritable): Likewise.
1668         * lib/fbufmode.c (fbufmode): Likewise.
1669         * lib/freading.c (freading): Likewise.
1670         * lib/fwriting.c (fwriting): Likewise.
1671         * lib/freadptr.c (freadptr): Likewise.
1672         * lib/freadseek.c (freadptrinc): Likewise.
1673         * lib/freadahead.c (freadahead): Likewise.
1674         * lib/fpurge.c (fpurge): Likewise.
1675         * lib/fseeko.c (rpl_fseeko): Likewise.
1676         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
1677         Reported by Jens Staal <staal1978@gmail.com>.
1678
1679 2012-02-02  Jim Meyering  <meyering@redhat.com>
1680
1681         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
1682         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
1683         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
1684         not even to try to add the attribute.  Instead, add a pragma to suppress
1685         the suggestion/warning.
1686
1687 2012-01-31  Karl Berry  <karl@gnu.org>
1688
1689         setstate doc: typo.
1690         * doc/posix-functions/setstate.texi (setstate): { not (.
1691
1692 2012-01-31  Bruno Haible  <bruno@clisp.org>
1693
1694         popen: Make more robust on Windows.
1695         * lib/popen.c: On native Windows, use the _popen based code even if
1696         HAVE_POPEN is set.
1697         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
1698         environment variable on native Windows.
1699
1700 2012-01-30  Bruno Haible  <bruno@clisp.org>
1701
1702         pclose: Fix typo.
1703         * lib/stdio.in.h (pclose): Fix typo in warning message.
1704
1705 2012-01-30  Bruno Haible  <bruno@clisp.org>
1706
1707         doc about getlogin_r, setstate.
1708         * doc/posix-functions/getlogin_r.texi: List the incompatible
1709         declaration problem under "not fixed by gnulib".
1710         * doc/posix-functions/setstate.texi: Mention incompatible declaration
1711         problem on Solaris 11 and other platforms.
1712
1713 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
1714             Bruno Haible  <bruno@clisp.org>
1715
1716         poll tests: Make test more robust.
1717         * tests/test-poll.c: Include macros.h.
1718         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
1719         return value of various I/O operations.
1720         * modules/poll-tests (Files): Add tests/macros.h.
1721
1722 2012-01-30  Bruno Haible  <bruno@clisp.org>
1723
1724         sys_stat: Fix support for mingw64 and MSVC.
1725         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
1726         header files already do it.
1727         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
1728         stat itself.
1729         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
1730
1731 2012-01-30  Bruno Haible  <bruno@clisp.org>
1732
1733         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
1734         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
1735         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
1736
1737 2012-01-29  Bruno Haible  <bruno@clisp.org>
1738
1739         quotearg: Fix test failure on MacOS X 10.5.
1740         * tests/test-quotearg-simple.c: Include localcharset.h.
1741         (main): If the locale encoding is not ASCII, bypass the tests of
1742         locale_quoting_style and clocale_quoting_style.
1743         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
1744
1745 2012-01-29  Jim Meyering  <meyering@redhat.com>
1746
1747         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
1748         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
1749         detect uses of canonicalize_file_name.
1750
1751 2012-01-28  Bruno Haible  <bruno@clisp.org>
1752
1753         test-framework-sh: Fix test failure with AIX 7.1 diff.
1754         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
1755         in column 1, like 'diff -c' does.
1756         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
1757         whether 'diff -u' is used. Instead, test whether the output contains
1758         some '@' character.
1759
1760 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
1761
1762         strtoimax: eliminate need for stdint.h, inttypes.h checks
1763         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
1764         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
1765         the prerequisites for a recently-introduced strtoimax test.
1766         I guess this might cause strtoimax to be replaced when not
1767         strictly necessary on older hosts, but this shouldn't introduce
1768         any bugs and it should make Emacs 'configure' faster on typical
1769         modern hosts.  Problem discovered when importing the latest gnulib
1770         to an Emacs test version.
1771         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
1772
1773 2012-01-28  Bruno Haible  <bruno@clisp.org>
1774
1775         sys_time: Override 'struct timeval' on some native Windows platforms.
1776         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
1777         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
1778         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
1779         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
1780         needs to be overridden.
1781         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
1782         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
1783         * tests/test-sys_select.c: Check that the tv_sec member has the same
1784         size as a 'time_t'.
1785         * tests/test-sys_time.c: Likewise.
1786         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
1787         is set, set also REPLACE_GETTIMEOFDAY.
1788         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
1789         convert the resulting 'struct timeval' before returning.
1790         * lib/select.c: Include <sys/time.h>.
1791         (select, timeval): Undefine at the right place.
1792         * modules/select (Depends-on): Add sys_time.
1793         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
1794         some Windows platforms.
1795         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
1796
1797 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
1798
1799         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
1800         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
1801         an integer.
1802         * lib/fcntl.c (dupfd): Likewise.
1803         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
1804
1805 2012-01-28  Bruno Haible  <bruno@clisp.org>
1806
1807         fcntl: Avoid compilation error on native Windows.
1808         * modules/fcntl (Depends-on): Add 'close'.
1809
1810 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
1811
1812         select, poll, isatty: Avoid warnings on x86_64 mingw64.
1813         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
1814         pointer to an integer.
1815         * lib/poll.c (IsConsoleHandle): Likewise.
1816         * lib/isatty.c (IsConsoleHandle): Likewise.
1817
1818 2012-01-28  Jim Meyering  <meyering@redhat.com>
1819
1820         doc: clarify README-release
1821         * top/README-release: Clarify: you should make a point to have
1822         the latest stable versions of build tools in your PATH, and the
1823         reference to buildreq is solely for its list of tool names, not
1824         for its minimal-functional version numbers.
1825         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
1826
1827         maint.mk: use more readable (yet functionally equivalent) quoting
1828         It is common to quote a single quote in a single quoted string like
1829         this:  '...'\''...'.  Unless you know the idiom, that looks like
1830         gibberish, so prefer to double-quote the string when possible.
1831         Then you can use a more readable, lone single quote: "...'..."
1832         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
1833         "don't" is more readable than the equivalent 'don'\''t'.
1834         (sc_cast_of_x_alloc_return_value): Likewise.
1835         (sc_cast_of_alloca_return_value): Likewise.
1836         (sc_makefile_path_separator_check): Similar: use ":" in '...',
1837         rather than '\'':'\''.
1838
1839 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1840
1841         stdalign: relax _Alignof and tighten _Alignas test
1842         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
1843         as it was too strict: alignof must divide offsetof, but it need
1844         not equal offsetof.  Inspired by Joseph S. Myers's comment
1845         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
1846         Conversely, tighten the _Alignas test a bit, as the resulting
1847         alignment must be exactly 8.
1848
1849 2012-01-27  Bruno Haible  <bruno@clisp.org>
1850
1851         stdalign: Document the last change.
1852         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
1853
1854 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1855
1856         stdalign: check that alignof and offsetof are consistent
1857         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
1858         Problem reported for gnulib by Richard W.M. Jones in
1859         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
1860
1861 2012-01-27  Jim Meyering  <meyering@redhat.com>
1862
1863         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
1864         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
1865         convert a sequence with gaps to the minimal containing range.
1866         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
1867         * tests/test-update-copyright.sh: Test for this.
1868         The FSF confirmed it is ok to do this, assuming there is at
1869         least one significant change per year in the affected range:
1870         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
1871
1872 2012-01-26  Bruno Haible  <bruno@clisp.org>
1873
1874         pipe2: refine doc about thread-safety
1875         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
1876         multithread-safety problem.
1877         * doc/glibc-functions/accept4.texi: Likewise.
1878
1879 2012-01-26  Bruno Haible  <bruno@clisp.org>
1880
1881         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
1882         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
1883         In the test program, include <fcntl.h>, for O_RDONLY.
1884
1885 2012-01-26  Eric Blake  <eblake@redhat.com>
1886
1887         pipe2: document lack of thread-safety in replacement
1888         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
1889         issue in replacement.
1890         * doc/glibc-functions/accept4.texi (accept4): Likewise.
1891         Based on a report by Eric Wong.
1892
1893 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
1894             Bruno Haible  <bruno@clisp.org>
1895
1896         malloca: Avoid warnings on x86_64 mingw64.
1897         * lib/malloca.c: Include <stdint.h>.
1898         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
1899         * modules/malloca (Depends-on): Add stdint.
1900         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
1901
1902 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
1903
1904         obstack: remove __STDC__ conditionals
1905         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
1906         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
1907         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
1908         m4/include_next.m4 as the only gnulib-maintained places that still
1909         refer to __STDC__.
1910
1911 2012-01-24  Bruno Haible  <bruno@clisp.org>
1912
1913         havelib: Modern quoting.
1914         * build-aux/config.rpath: Quote 'like this', not `like this', as per
1915         the recent change to the GNU coding standards.
1916
1917 2012-01-24  Bruno Haible  <bruno@clisp.org>
1918
1919         stdint: Improve support for Android.
1920         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
1921         Reported by Simon Josefsson <simon@josefsson.org>.
1922
1923 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1924
1925         doc: omit trailing empty lines from INSTALL etc.
1926         * doc/Makefile (INSTALL): Omit trailing empty lines.
1927         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
1928         omit trailing empty lines.  This simplifies the build procedure.
1929
1930 2012-01-23  Jim Meyering  <meyering@redhat.com>
1931
1932         tests: avoid spurious warnings about gl_sockets_startup
1933         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
1934         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
1935         reporting a "statement with no effect".
1936         * tests/test-accept.c (main): Mark as "(void)".
1937         * tests/test-accept4.c (main): Likewise.
1938         * tests/test-bind.c (main): Likewise.
1939         * tests/test-connect.c (main): Likewise.
1940         * tests/test-getpeername.c (main): Likewise.
1941         * tests/test-getsockname.c (main): Likewise.
1942         * tests/test-getsockopt.c (main): Likewise.
1943         * tests/test-listen.c (main): Likewise.
1944         * tests/test-recv.c (main): Likewise.
1945         * tests/test-recvfrom.c (main): Likewise.
1946         * tests/test-send.c (main): Likewise.
1947         * tests/test-sendto.c (main): Likewise.
1948         * tests/test-setsockopt.c (main): Likewise.
1949         * tests/test-shutdown.c (main): Likewise.
1950
1951 2012-01-21  Bruno Haible  <bruno@clisp.org>
1952
1953         locale-fr.m4: Fix for Android.
1954         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
1955         failure of the test program on Bionic libc.
1956
1957 2012-01-21  Jim Meyering  <meyering@redhat.com>
1958
1959         bootstrap: fail when bootstrap_post_import_hook fails
1960         Otherwise, it's far too easy to miss diagnostics emitted
1961         between gnulib-tool's output and that of running configure.
1962         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
1963
1964 2012-01-17  Jim Meyering  <meyering@redhat.com>
1965
1966         maint: enable sc_trailing_blank
1967         * build-aux/pmccabe.css: Remove trailing blanks.
1968         * doc/acl-cygwin.txt: Likewise.
1969         * doc/gnu-oids.texi: Likewise
1970         * cfg.mk: Enable sc_trailing_blank.
1971         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
1972
1973 2012-01-17  Jim Meyering  <meyering@redhat.com>
1974
1975         maint: enable sc_prohibit_openat_without_use
1976         * cfg.mk: Enable sc_prohibit_openat_without_use.
1977         Exempt lib/selinux-at.c.
1978
1979 2012-01-17  Jim Meyering  <meyering@redhat.com>
1980
1981         maint: enable sc_prohibit_cloexec_without_use
1982         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
1983         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
1984
1985 2012-01-17  Jim Meyering  <meyering@redhat.com>
1986
1987         maint: enable sc_prohibit_intprops_without_use
1988         * cfg.mk: Enable sc_prohibit_intprops_without_use
1989         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
1990
1991 2012-01-17  Jim Meyering  <meyering@redhat.com>
1992
1993         maint: enable sc_prohibit_hash_pjw_without_use
1994         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
1995         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
1996         to match any use of \<hash_pjw\>, i.e., not necessarily with a
1997         following " (".
1998
1999 2012-01-17  Jim Meyering  <meyering@redhat.com>
2000
2001         maint: enable double-word-prohibiting rule
2002         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
2003         Exempt three files.
2004
2005 2012-01-17  Jim Meyering  <meyering@redhat.com>
2006
2007         maint: remove empty lines at EOF, but excluding modules/*
2008         Apply syntax rules at home as well as abroad.  Most changes
2009         were induced by running this:
2010           make srcdir=. _build-aux=build-aux -f top/maint.mk \
2011             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
2012             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
2013         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
2014         Exempt modules/* and two binary files.
2015         Also exempt doc/INSTALL*, per request from Bruno Haible.
2016         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
2017         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
2018         * doc/Copyright/request-assign.future: Likewise.
2019         * doc/Copyright/request-disclaim.changes: Likewise.
2020         * doc/INSTALL: Likewise.
2021         * doc/INSTALL.ISO: Likewise.
2022         * doc/INSTALL.UTF-8: Likewise.
2023         * doc/acl-cygwin.txt: Likewise.
2024         * doc/acl-resources.txt: Likewise.
2025         * doc/fdl-1.2.texi: Likewise.
2026         * doc/fdl-1.3.texi: Likewise.
2027         * doc/fdl.texi: Likewise.
2028         * lib/argp-pin.c: Likewise.
2029         * lib/round.c: Likewise.
2030         * lib/unicase/u16-totitle.c: Likewise.
2031         * lib/unictype/block_test.c: Likewise.
2032         * lib/uninorm/canonical-decomposition.c: Likewise.
2033         * m4/README: Likewise.
2034         * m4/relocatable-lib.m4: Likewise.
2035         * tests/test-isnand-nolibm.c: Likewise.
2036         * tests/test-isnand.c: Likewise.
2037         * tests/uninorm/NormalizationTest.txt: Likewise.
2038
2039 2012-01-17  Jim Meyering  <meyering@redhat.com>
2040
2041         maint: add framework to run syntax-check rules against gnulib sources
2042         * cfg.mk: New file, to disable all currently-failing tests.
2043         We'll enable them one by one, as they are made to pass.
2044         * Makefile (sc_maint): New rule.
2045
2046 2012-01-21  Bruno Haible  <bruno@clisp.org>
2047
2048         stdint: Add support for Android.
2049         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
2050         include the system's <stdint.h>.
2051         Reported by Simon Josefsson <simon@josefsson.org>.
2052
2053 2012-01-19  Jim Meyering  <meyering@redhat.com>
2054
2055         bootstrap: add bootstrap_post_import_hook
2056         Bison does still need something like the gnulib_mk_hook whose
2057         invocation I had to remove along with slurp in commit 767ccd40.
2058         Technically, we could get along without it, but doing so would
2059         have required living with a warning and a mandatory post-bootstrap
2060         automake rerun.
2061         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
2062         (bootstrap_post_import_hook): New function.
2063         Invoke it after gnulib-tool --import and before autoreconf.
2064
2065 2012-01-18  Jim Meyering  <meyering@redhat.com>
2066
2067         gitlog-to-changelog: don't use "no_"-prefixed variable name
2068         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
2069         to enable both --cluster and --no-cluster.  Change variable name,
2070         s/\$no_cluster/$cluster/, and reverse usage to match.
2071
2072         gitlog-to-changelog: use "||", not "or" in expressions
2073         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
2074         expressions.
2075
2076 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
2077
2078         gitlog-to-changelog: new option --no-cluster
2079         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
2080         clustering of adjacent commit messages.
2081
2082 2012-01-17  Jim Meyering  <meyering@redhat.com>
2083
2084         maint: spell file systems with two words, not one
2085         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
2086         two words, not one.
2087
2088 2012-01-16  Jim Meyering  <meyering@redhat.com>
2089
2090         bootstrap: add a FIXME comment to ensure we eventually remove the hack
2091         * build-aux/bootstrap (gnulib_tool_options): Add comment.
2092
2093 2012-01-16  Eric Blake  <eblake@redhat.com>
2094
2095         bootstrap: cater to autoconf 2.59
2096         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
2097         is not available.
2098
2099         bootstrap: properly check for libtool
2100         * build-aux/bootstrap (libtoolize): Also run libtool when older
2101         usage is detected.
2102
2103 2012-01-15  Bruno Haible  <bruno@clisp.org>
2104
2105         Improve support for MSVC 9.
2106         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
2107         clashes on MSVC.
2108         * lib/fcntl.in.h: Likewise.
2109         * lib/stdlib.in.h: Likewise.
2110         * lib/sys_stat.in.h: Likewise.
2111
2112 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
2113
2114         gnupload: we hold the master copy of this script now
2115         For motivation and more information, see:
2116         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
2117         * build-aux/gnupload: Make it clear in the heading comments that the
2118         master copy of this file is maintained by gnulib.  Since we are at
2119         it, bump its copyright year and ...
2120         ($scriptversion): ... the date in its version.
2121         ($usage): Patches and bug reports should be sent to the gnulib list,
2122         not the automake one.
2123         * config/srclist.txt: Don't try to sync 'gnupload' from automake
2124         anymore.
2125
2126 2012-01-15  Bruno Haible  <bruno@clisp.org>
2127
2128         Fix module 'random'.
2129         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
2130         initstate, setstate are declared.
2131
2132 2012-01-14  Bruno Haible  <bruno@clisp.org>
2133
2134         Tests for module 'random'.
2135         * modules/random-tests: New file.
2136         * tests/test-random.c: New file, based on tests/test-random_r.c.
2137
2138         New module 'random'.
2139         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
2140         declarations.
2141         * lib/random.c: New file, based on glibc/stdlib/random.c.
2142         * m4/random.m4: New file.
2143         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
2144         HAVE_RANDOM.
2145         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
2146         * modules/random: New file.
2147         * config/srclist.txt: Add an entry for random.c.
2148         * doc/posix-functions/random.texi: Mention the 'random' module.
2149         * doc/posix-functions/initstate.texi: Likewise.
2150         * doc/posix-functions/setstate.texi: Likewise.
2151         * doc/posix-functions/srandom.texi: Likewise.
2152
2153 2012-01-12  Bruno Haible  <bruno@clisp.org>
2154
2155         random_r: Use common idioms.
2156         * lib/random_r.c: Include <stdlib.h> first.
2157
2158         random_r: Override incompatible API on AIX, OSF/1.
2159         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
2160         Override the system function if REPLACE_RANDOM_R is 1.
2161         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
2162         and OSF/1, set REPLACE_RANDOM_R.
2163         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
2164         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
2165         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
2166         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
2167         * doc/glibc-functions/random_r.texi: Likewise.
2168         * doc/glibc-functions/setstate_r.texi: Likewise.
2169
2170         random_r: Support for MSVC 9.
2171         * lib/random_r.c: Include stdint.h, not inttypes.h.
2172
2173 2012-01-12  Eric Blake  <eblake@redhat.com>
2174
2175         inet_ntop: guard extra work by IF_LINT
2176         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
2177         better code generation when not checking for warnings.
2178         Suggested by Paul Eggert and Jim Meyering.
2179
2180         strptime: fix regression on mingw
2181         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
2182         Fix regression.  Reported by Bruno Haible.
2183
2184 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
2185             Bruno Haible  <bruno@clisp.org>
2186
2187         copy-file: add error-code-returning variant.
2188         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
2189         (qcopy_file_preserving): New declaration.
2190         * lib/copy-file.c (qcopy_file_preserving): Renamed from
2191         copy_file_preserving. Change return type to 'int'. Don't emit an error
2192         message here.
2193         (copy_file_preserving): New function.
2194         * tests/test-copy-file.c: Include <stdlib.h>.
2195         (main): Test qcopy_file_preserving if the environment variable
2196         NO_STDERR_OUTPUT is set.
2197         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
2198         with NO_STDERR_OUTPUT
2199         * tests/test-copy-file-2.sh: Likewise.
2200
2201 2012-01-10  Bruno Haible  <bruno@clisp.org>
2202
2203         copy-file: Use 'quote' module consistently.
2204         * lib/copy-file.c (copy_file_preserving): Use quote().
2205
2206         copy-file: Refactor.
2207         * lib/copy-file.c: Include quote.h.
2208         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
2209         message here.
2210         * modules/copy-file (Depends-on): Add quote.
2211
2212         acl: Export qcopy_acl.
2213         * lib/acl.h (qcopy_acl): New declaration.
2214         * lib/copy-acl.c (qcopy_acl): Make non-static.
2215
2216         acl: Rename a local variable.
2217         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
2218
2219         acl: Align return values of copy_acl and qcopy_acl.
2220         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
2221         maybe < -1.
2222
2223 2012-01-11  Eric Blake  <eblake@redhat.com>
2224
2225         strptime: silence gcc warnings
2226         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
2227         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
2228         Reported by Daniel P. Berrange.
2229
2230         inet_ntop: silence gcc warning
2231         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
2232         Reported by Daniel P. Berrange.
2233
2234 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
2235
2236         getloadavg test: skip the test on GNU/Linux without /proc mounted
2237         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
2238         file.  When /proc is not mounted, it always fails with ENOENT.
2239         * tests/test-getloadavg.c (main): Treat ENOENT return code from
2240         getloadavg(3) the same way as ENOSYS and ENOTSUP.
2241
2242 2012-01-10  Bruno Haible  <bruno@clisp.org>
2243
2244         regex: Avoid link error on MSVC 9.
2245         * modules/regex (Depends-on): Add wctype.
2246
2247 2012-01-10  Bruno Haible  <bruno@clisp.org>
2248
2249         doc: Mention --with-tests option.
2250         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
2251         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
2252         --with-tests.
2253         Reported by Reuben Thomas.
2254
2255 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
2256
2257         users.txt: order package names lexicographically.
2258         * users.txt: Order package names lexicographically.
2259
2260 2012-01-10  Jim Meyering  <meyering@redhat.com>
2261
2262         maint.mk: fix description in comment
2263         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
2264
2265         ignore-value: remove deprecated ignore_ptr function
2266         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
2267         * NEWS: Note this.
2268
2269 2012-01-09  Jim Meyering  <meyering@redhat.com>
2270
2271         test-init.sh: avoid a subshell
2272         * tests/test-init.sh: Remove protective subshell.
2273         Suggested by Bernhard Voelker.  While a subshell is normally
2274         required to protect against older shells (Solaris, FreeBSD) that
2275         warn about a missing program before performing redirection, the
2276         shell-selection tests performed by init.sh probably exclude any
2277         offending shell.
2278
2279 2012-01-08  Bruno Haible  <bruno@clisp.org>
2280
2281         setlocale tests: Avoid test failure on Solaris 11 2011-11.
2282         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
2283         variable.
2284
2285 2012-01-08  Bruno Haible  <bruno@clisp.org>
2286
2287         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
2288         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2289         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
2290         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
2291         macro.
2292         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
2293         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
2294         * lib/spawn_faction_addopen.c: Add workaround implementation if
2295         HAVE_WORKING_POSIX_SPAWN.
2296         * modules/spawn (Makefile): Substitute
2297         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
2298         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
2299         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
2300         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
2301         (Depends-on): Update conditions.
2302         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
2303         the Solaris 11 bug.
2304
2305 2012-01-08  Bruno Haible  <bruno@clisp.org>
2306
2307         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
2308         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2309         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
2310         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
2311         macro.
2312         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
2313         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
2314         * lib/spawn_faction_adddup2.c: Add workaround implementation if
2315         HAVE_WORKING_POSIX_SPAWN.
2316         * modules/spawn (Makefile): Substitute
2317         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
2318         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
2319         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
2320         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
2321         (Depends-on): Update conditions.
2322         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
2323         the Solaris 11 bug.
2324
2325 2012-01-08  Bruno Haible  <bruno@clisp.org>
2326
2327         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
2328         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2329         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
2330         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
2331         HAVE_WORKING_POSIX_SPAWN.
2332         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
2333         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
2334         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
2335         * lib/spawn_faction_addclose.c: Add workaround implementation if
2336         HAVE_WORKING_POSIX_SPAWN.
2337         * modules/spawn (Makefile): Substitute
2338         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
2339         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
2340         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
2341         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
2342         (Depends-on): Update conditions.
2343         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
2344         the Solaris 11 bug.
2345
2346 2012-01-08  Bruno Haible  <bruno@clisp.org>
2347
2348         doc: Update for Solaris 11 2011-11.
2349         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
2350         * m4/printf.m4: Update comments.
2351
2352 2012-01-08  Bruno Haible  <bruno@clisp.org>
2353
2354         mktime: Avoid compilation error on Solaris 11.
2355         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
2356
2357 2012-01-08  Bruno Haible  <bruno@clisp.org>
2358
2359         doc: Small fix.
2360         * doc/posix-headers/nl_types.texi: Correct platforms list.
2361
2362 2012-01-08  Simon Josefsson  <simon@josefsson.org>
2363
2364         Add lgpl-3.0 module.
2365         * MODULES.html.sh (Support for building documentation): Add
2366         lgpl-3.0.
2367         * modules/lgpl-3.0: New file.
2368
2369 2012-01-08  Jim Meyering  <meyering@redhat.com>
2370
2371         select.c: indent with spaces, not TABs
2372         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
2373
2374 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
2375
2376         quotearg: do not use grave accent for left quote
2377         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
2378         locale_quoting_style.
2379         (quotearg_buffer_restyled): Fix example.
2380         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
2381
2382 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
2383
2384         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
2385         Most programs do not have translation catalogs for English and much
2386         less separate catalogs for British and American English.  Drop the
2387         suggestion to translators about these two, and provide it
2388         automatically for Unicode locales.  Like most programs, even those
2389         using American English, we use single quotation marks.  This conflicts
2390         with the American typographic convention, but works better when you
2391         cite the entire error message within double quotes.  It also tries not
2392         to clash with established practice and with what non-gnulib programs
2393         will usually do.
2394         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
2395         using an UTF-8 or GB-18030 locale.  The list of other locales with
2396         quotes was provided by Bruno Haible.
2397         (quotearg_buffer_restyled): Adjust instructions to translators.
2398         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
2399         text, since this would be wrong when using Unicode.
2400         * modules/quotearg: Depend on c-strcaseeq.
2401
2402 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
2403
2404         quotearg: fix Wikipedia link
2405         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
2406
2407 2012-01-07  Simon Josefsson  <simon@josefsson.org>
2408
2409         Fix for mingw with MSVC9.
2410         * m4/ld-version-script.m4: Check that compiler rejects version
2411         scripts with syntax errors.  Reported by Bruno Haible
2412         <bruno@clisp.org>.
2413
2414 2012-01-06  Bruno Haible  <bruno@clisp.org>
2415
2416         Talk about "native Windows API", not "Woe32".
2417         * lib/accept4.c: Update comments to mention native Windows.
2418         * lib/execute.c: Likewise.
2419         * lib/fatal-signal.c: Likewise.
2420         * lib/localcharset.c: Likewise.
2421         * lib/nanosleep.c: Likewise.
2422         * lib/nl_langinfo.c: Likewise.
2423         * lib/pclose.c: Likewise.
2424         * lib/pipe-filter-gi.c: Likewise.
2425         * lib/pipe-filter-ii.c: Likewise.
2426         * lib/pipe.c: Likewise.
2427         * lib/pipe2.c: Likewise.
2428         * lib/popen.c: Likewise.
2429         * lib/progreloc.c: Likewise.
2430         * lib/relocatable.c: Likewise.
2431         * lib/sigaction.c: Likewise.
2432         * lib/sigprocmask.c: Likewise.
2433         * lib/spawn-pipe.h: Likewise.
2434         * lib/spawn-pipe.c: Likewise.
2435         * lib/spawni.c: Likewise.
2436         * lib/stat-time.h: Likewise.
2437         * lib/w32spawn.h: Likewise.
2438         * tests/test-isatty.c: Likewise.
2439         * lib/config.charset: More comments.
2440         * doc/gnulib-intro.texi: Mention native Windows.
2441         * doc/posix-functions/_Exit_C99.texi: Likewise.
2442         * doc/posix-headers/fcntl.texi: Likewise.
2443
2444 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
2445
2446         argp: Avoid crash if translator uses % characters in a translation.
2447         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
2448         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
2449
2450 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
2451
2452         doc: C11 and C++11 are now official
2453         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
2454         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
2455         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
2456         * modules/stdalign:
2457         Replace references to draft C1X to C11, and to draft C++0X to C++11.
2458
2459 2012-01-06  Bruno Haible  <bruno@clisp.org>
2460
2461         uc-is-grapheme-break tests: Tweak.
2462         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
2463         message.
2464
2465 2012-01-06  Bruno Haible  <bruno@clisp.org>
2466
2467         test-init.sh: correct the test for diff -u
2468         * tests/test-init.sh: Also redirect stdout to /dev/null.
2469
2470 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
2471
2472         Use ', not `, for quoting output.
2473         * build-aux/announce-gen (usage, sizes, print_news_deltas)
2474         (print_changelog_deltas, get_tool_versions, main program):
2475         * build-aux/git-version-gen:
2476         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
2477         * build-aux/move-if-change (help):
2478         * build-aux/useless-if-before-free (usage, main program):
2479         * check-module (parse_module_file, usage)
2480         (find_included_lib_files, check_module):
2481         * lib/argmatch.c (main) [TEST]:
2482         * lib/argp-help.c (_help):
2483         * lib/getopt1.c (main) [TEST]:
2484         * lib/git-merge-changelog.c (usage):
2485         * lib/xstrtol-error.c (xstrtol_error):
2486         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
2487         * m4/argz.m4 (gl_FUNC_ARGZ):
2488         * m4/bison.m4 (gl_BISON):
2489         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
2490         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
2491         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
2492         * m4/fpending.m4 (gl_PREREQ_FPENDING):
2493         * m4/gc-random.m4 (gl_GC_RANDOM):
2494         * m4/intl.m4 (gt_CHECK_DECL):
2495         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
2496         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
2497         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
2498         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
2499         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
2500         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
2501         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
2502         * tests/test-dirname.c (main):
2503         * tests/test-getpass.c (main):
2504         * tests/test-iconvme.c (main):
2505         * tests/test-parse-datetime.c (LOG):
2506         * tests/test-xstrtoimax.sh:
2507         * tests/test-xstrtol.sh:
2508         * tests/test-xstrtoll.sh:
2509         * tests/test-xstrtoumax.sh:
2510         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
2511         * top/GNUmakefile (abort-due-to-no-makefile):
2512         Quote 'like this', not `like this', as per the recent change to
2513         the GNU coding standards.
2514
2515 2012-01-05  Bruno Haible  <bruno@clisp.org>
2516
2517         strtoimax: Don't force a replacement on systems where intmax_t is int.
2518         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
2519         'intmax_t' is not larger than 'int'.
2520         Reported by Pádraig Brady <P@draigBrady.com>.
2521
2522 2012-01-05  Bruno Haible  <bruno@clisp.org>
2523
2524         doc: Mention NetBSD bugs.
2525         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
2526         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
2527
2528 2012-01-05  Bruno Haible  <bruno@clisp.org>
2529
2530         strtoumax tests: Enhance tests.
2531         * tests/test-strtoumax.c (main): Add tests for large values.
2532
2533 2012-01-05  Bruno Haible  <bruno@clisp.org>
2534
2535         strtoimax: Work around AIX 5.1 bug.
2536         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
2537         definition.
2538         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
2539         Set HAVE_STRTOIMAX.
2540         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
2541         REPLACE_STRTOIMAX.
2542         * modules/inttypes-incomplete (Makefile.am): Substitute
2543         REPLACE_STRTOIMAX.
2544         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
2545         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
2546         (Depends-on): Update conditions.
2547         * tests/test-strtoimax.c (main): Add tests for large values.
2548         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
2549
2550 2012-01-05  Bruno Haible  <bruno@clisp.org>
2551
2552         inttypes: Modernize.
2553         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
2554         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
2555         (Makefile.am): Update inttypes.h rule.
2556
2557 2012-01-05  Jim Meyering  <meyering@redhat.com>
2558
2559         init.sh: don't waste a subshell just to redirect stderr
2560         * tests/init.sh: In testing for diff -u and diff -c, use a
2561         stderr-redirecting exec inside `...` rather than a subshell.
2562
2563         test-init.sh: avoid failure on HP-UX 11.00
2564         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
2565         resolves to diff -c or cmp.  Reported by Bruno Haible.
2566
2567 2012-01-05  Bruno Haible  <bruno@clisp.org>
2568
2569         Tests for module 'strtoull'.
2570         * modules/strtoull-tests: New file.
2571         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
2572
2573 2012-01-05  Bruno Haible  <bruno@clisp.org>
2574
2575         Tests for module 'strtoll'.
2576         * modules/strtoll-tests: New file.
2577         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
2578
2579 2012-01-05  Bruno Haible  <bruno@clisp.org>
2580
2581         Tests for module 'strtoul'.
2582         * modules/strtoul-tests: New file.
2583         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
2584
2585 2012-01-05  Bruno Haible  <bruno@clisp.org>
2586
2587         Tests for module 'strtol'.
2588         * modules/strtol-tests: New file.
2589         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
2590
2591 2012-01-04  Jim Meyering  <meyering@redhat.com>
2592
2593         test-init.sh: accommodate Solaris 5.10's different diff -u output
2594         * tests/test-init.sh: Also exempt @@ lines from the comparison
2595         of diff output, since Solaris 5.10 and GNU diff formats differ.
2596         Reported by Stefano Lattarini.
2597
2598 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
2599
2600         test-posixtm: don't assume signed integer wraparound
2601         * tests/test-posixtm.c (main): Don't assume wraparound semantics
2602         after signed integer overflow.  Inspired by (though it may not
2603         fix) Bruno Haible's bug report in
2604         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
2605
2606         Spell out "Windows 9x" and "Windows XP".
2607         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
2608         "Windows 9x" and "WinXP" with "Windows XP".
2609
2610 2012-01-04  Jim Meyering  <meyering@redhat.com>
2611
2612         test-vc-list-files-cvs.sh: remove obsolete comment
2613         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
2614         double exit.  Now that's all encapsulated via skip_ and Exit.
2615
2616 2012-01-04  Bruno Haible  <bruno@clisp.org>
2617
2618         Talk about "native Windows API", not "Win32".
2619         * lib/classpath.c: Update comments to mention native Windows.
2620         * lib/csharpexec.c: Likewise.
2621         * lib/dup2.c: Likewise.
2622         * lib/error.c: Likewise.
2623         * lib/fcntl.c: Likewise.
2624         * lib/filename.h: Likewise.
2625         * lib/findprog.c: Likewise.
2626         * lib/get-rusage-as.c: Likewise.
2627         * lib/get-rusage-data.c: Likewise.
2628         * lib/getpagesize.c: Likewise.
2629         * lib/javaexec.c: Likewise.
2630         * lib/msvc-inval.c: Likewise.
2631         * lib/msvc-nothrow.c: Likewise.
2632         * lib/nanosleep.c: Likewise.
2633         * lib/nonblocking.c: Likewise.
2634         * lib/printf-parse.c: Likewise.
2635         * lib/setlocale.c: Likewise.
2636         * lib/sigaction.c: Likewise.
2637         * lib/strerror_r.c: Likewise.
2638         * lib/tmpdir.c: Likewise.
2639         * lib/vasnprintf.c: Likewise.
2640         * lib/w32spawn.h: Likewise.
2641         * lib/waitpid.c: Likewise.
2642         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
2643         * m4/locale-ar.m4: Likewise.
2644         * m4/locale-fr.m4: Likewise.
2645         * m4/locale-ja.m4: Likewise.
2646         * m4/locale-tr.m4: Likewise.
2647         * m4/locale-zh.m4: Likewise.
2648         * m4/printf.m4: Likewise.
2649         * tests/test-cloexec.c: Likewise.
2650         * tests/test-copy-acl.sh: Likewise.
2651         * tests/test-copy-file.sh: Likewise.
2652         * tests/test-file-has-acl.sh: Likewise.
2653         * tests/test-set-mode-acl.sh: Likewise.
2654         * tests/test-dup-safer.c: Likewise.
2655         * tests/test-dup2.c: Likewise.
2656         * tests/test-dup3.c: Likewise.
2657         * tests/test-fcntl.c: Likewise.
2658         * tests/test-nonblocking-pipe.h: Likewise.
2659         * tests/test-nonblocking-socket.h: Likewise.
2660         * tests/test-pipe.c: Likewise.
2661         * tests/test-pipe2.c: Likewise.
2662         * tests/test-spawn-pipe-child.c: Likewise.
2663         * doc/acl-resources.txt: Likewise.
2664         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2665         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
2666         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
2667         * lib/localcharset.c: Update comments to mention native Windows.
2668         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2669         * lib/localename.c: Likewise.
2670         * lib/progreloc.c: Likewise.
2671         * lib/relocatable.c: Likewise.
2672         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2673         (windows_compute_revents): Renamed from win32_compute_revents.
2674         (windows_compute_revents_socket): Renamed from
2675         win32_compute_revents_socket.
2676         * lib/select.c: Update comments to mention native Windows.
2677         (windows_poll_handle): Renamed from win32_poll_handle.
2678         * m4/threadlib.m4: Update comments to mention native Windows.
2679         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
2680         --enable-threads=windows instead of --enable-threads=win32. Set
2681         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
2682         * lib/glthread/lock.h: Update comments to mention native Windows.
2683         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
2684         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
2685         USE_WIN32_THREADS.
2686         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
2687         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
2688         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
2689         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
2690         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
2691         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
2692         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
2693         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
2694         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
2695         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
2696         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
2697         * tests/test-tls.c: Likewise.
2698         Rationale:
2699         Microsoft renamed the "Win32 API" to "Windows API", as it is available
2700         on both 32-bit and 64-bit Windows systems.
2701         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
2702         line of distinction is between "native Windows" on one side and Unix/
2703         POSIX systems on the other side. More details in
2704         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
2705         Suggested by Paul Eggert.
2706
2707 2012-01-03  Bruno Haible  <bruno@clisp.org>
2708
2709         isatty: Support for MSVC 9.
2710         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
2711         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
2712         (_isatty_nothrow): New function.
2713         (isatty): Use it instead of _isatty.
2714         (IsConsoleHandle): Add comment, from Paolo Bonzini.
2715         * lib/poll.c (IsConsoleHandle): Likewise.
2716         * lib/select.c (IsConsoleHandle): Likewise.
2717         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
2718         (gl_PREREQ_ISATTY): New macro.
2719         * modules/isatty (Depends-on): Add msvc-inval.
2720         (configure.ac): Invoke gl_PREREQ_ISATTY.
2721
2722 2012-01-03  Jim Meyering  <meyering@redhat.com>
2723
2724         maint.mk: remove temporary transition aid from over 1.5 years ago
2725         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
2726         purpose was to aid in the transition (avoiding silent malfunction)
2727         from that old name to the new _sc_search_regexp.  This shim was
2728         added by commit 219c504b.
2729
2730         init.sh: do not try to accommodate compare arguments starting with "-"
2731         * tests/init.sh (compare_dev_null_): Do not try to accommodate
2732         compare arguments that start with "-".  Besides, we do not worry
2733         about this when invoking diff or cmp; why start now with sed?
2734         Using "--" to separate options from argument would trigger sed
2735         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
2736         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
2737
2738 2012-01-02  Bruno Haible  <bruno@clisp.org>
2739
2740         Enhance tests for module 'isatty'.
2741         * modules/isatty-tests (Depends-on): Add pipe-posix.
2742         * tests/test-isatty.c: Include <fcntl.h>.
2743         (DEV_NULL): New macro.
2744         (main): Test the resut of isatty() also on regular files, pipes, and
2745         /dev/null.
2746
2747         New module 'isatty'.
2748         * lib/unistd.in.h (isatty): New declaration.
2749         * lib/isatty.c: New file, based on an idea of
2750         Bastien Roucariès <roucaries.bastien@gmail.com>.
2751         * m4/isatty.m4: New file.
2752         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
2753         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
2754         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
2755         REPLACE_ISATTY.
2756         * modules/isatty: New file.
2757         * doc/posix-functions/isatty.texi: Mention the new module.
2758         Suggested by Paolo Bonzini.
2759
2760 2012-01-02  Bruno Haible  <bruno@clisp.org>
2761
2762         canonicalize: Tweak 2011-12-29 commit.
2763         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
2764         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
2765
2766 2012-01-02  Jim Meyering  <meyering@redhat.com>
2767
2768         gitlog-to-changelog: describe input syntax in --help output
2769         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
2770
2771         gitlog-to-changelog: fix typo in --help: show backslash before email @
2772         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
2773         in sources, but not in actual output.
2774
2775 2011-12-30  Jim Meyering  <meyering@redhat.com>
2776
2777         gitlog-to-changelog: don't malfunction when name contains %-directive
2778         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
2779         in a name string cause trouble.  E.g., with a user name of "%s",
2780         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
2781
2782 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
2783
2784         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
2785         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
2786         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
2787         the "  (tiny change)" notation that is appended to the standard
2788         ChangeLog "date  name  email" header line.
2789
2790 2012-01-01  Jim Meyering  <meyering@redhat.com>
2791
2792         test-framework-sh: init.sh: fix "make dist" failure
2793         When using gnulib-tool's --with-tests option and any module that
2794         depends on test-framework-sh, "make dist" would fail due to the
2795         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
2796         in the gltests directory, and not in the gllib/ directory.
2797         One way to work around that is to move the EXTRA_DIST += init.sh
2798         from the primary module to the -tests one:
2799         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
2800         * modules/test-framework-sh (Makefile.am): ...not here.
2801         Reported by Tom G. Christensen in
2802         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
2803
2804         version-etc: update copyright year reported by --version
2805         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
2806
2807 2011-12-31  Pádraig Brady  <P@draigBrady.com>
2808
2809         canonicalize: only stat() if required
2810         * lib/canonicalize.c (canonicalize_filename_mode):
2811         Avoid calling l?stat() when both CAN_MISSING,
2812         and CAN_NOLINKS are set, as we neither need
2813         to resolve symlinks or test component existence.
2814
2815 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
2816
2817         doc: cover st_ino issues once; add OpenVMS etc.
2818         * doc/posix-functions/stat.texi (stat):
2819         * doc/posix-functions/lstat.texi (lstat):
2820         * doc/posix-functions/fstatat.texi (fstatat):
2821         * doc/posix-functions/fstat.texi (fstat):
2822         Move general 'struct stat' stuff to sys_stat.texi,
2823         leaving behind a pointer.
2824         * doc/posix-headers/sys_stat.texi (sys/stat.h):
2825         Merge duplicate info about 'struct stat' problems into here.
2826         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
2827         and suggest partial workarounds.
2828
2829         same-inode: port to OpenVMS
2830         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
2831         three st_ino values.
2832
2833 2011-12-30  Pádraig Brady  <P@draigBrady.com>
2834
2835         canonicalize: fix references to stat() and lstat()
2836         * lib/canonicalize.c (canonicalize_filename_mode):
2837         Ensure references always resolve to a replacement
2838         function if required (even via a macro).
2839
2840 2011-12-30  Jim Meyering  <meyering@redhat.com>
2841
2842         gitlog-to-changelog: remove a little duplication
2843         * build-aux/gitlog-to-changelog (main): Grep @lines once,
2844         rather than twice.
2845
2846 2011-12-29  Pádraig Brady  <P@draigBrady.com>
2847
2848         canonicalize: add support for not resolving symlinks
2849         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
2850         indicate we don't want to follow symlinks.  Also
2851         provide CAN_MODE_MASK to aid setting these existing
2852         mutually exclusive values.
2853         * lib/canonicalize.c (canonicalize_filename_mode):
2854         Extract the flags from can_mode parameter, which
2855         are currently just used to select between stat()
2856         and lstat().  Also ensure that mutually exclusive
2857         values are flagged immediately as invalid.
2858         * tests/test-canonicalize.c: Verify symlinks are
2859         not followed, and that invalid flag combinations
2860         are diagnosed.
2861
2862 2011-12-25  Jim Meyering  <meyering@redhat.com>
2863
2864         gitlog-to-changelog: do not clump multi-paragraph entries
2865         Identical header lines (date,name,email+coauthors) are suppressed,
2866         thus putting all entries with those same characteristics under
2867         a single header.  However, when a log entry consists of two or
2868         more paragraphs, it may not be clear where it starts and ends.
2869         This change makes it so that such an entry is always separated
2870         from others by a header line, even when that header would
2871         otherwise be suppressed.
2872         * build-aux/gitlog-to-changelog: Implement the above.
2873         Inspired by a related request from Stefano Lattarini in
2874         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
2875
2876 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
2877
2878         announce-gen: fix `cmd' typo in diagnostic
2879         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
2880         diagnostic: a missing '$' meant that the command was not output.
2881
2882 2011-12-23  Jim Meyering  <meyering@redhat.com>
2883
2884         test-framework-sh: distribute init.sh
2885         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
2886         Otherwise, "make -C gnulib-tests check" (at least in grep) would
2887         fail due to the lack of init.sh.
2888
2889         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
2890         * modules/atexit-tests: Rather than listing tests/init.sh,
2891         now that there's a module for it, simply depend on that new module.
2892         * modules/closein-tests: Likewise.
2893         * modules/exclude-tests: Likewise.
2894         * modules/getcwd-tests: Likewise.
2895         * modules/perror-tests: Likewise.
2896         * modules/pread-tests: Likewise.
2897         * modules/pwrite-tests: Likewise.
2898         * modules/vc-list-files-tests: Likewise.
2899         * modules/verify-tests: Likewise.
2900         * modules/xalloc-die-tests: Likewise.
2901         * modules/xstrtoimax-tests: Likewise.
2902         * modules/xstrtol-tests: Likewise.
2903         * modules/xstrtoll-tests: Likewise.
2904         * modules/xstrtoumax-tests: Likewise.
2905         * modules/yesno-tests: Likewise.
2906
2907 2011-12-22  Jim Meyering  <meyering@redhat.com>
2908
2909         test-framework-sh: add minimal tests of init.sh's compare function
2910         * modules/test-framework-sh-tests: New file.
2911         * tests/test-init.sh: New file.
2912
2913         test-framework-sh: new module
2914         * modules/test-framework-sh: New file.
2915         * MODULES.html.sh (Support for maintaining and releasing projects):
2916         List it.
2917
2918         init.sh: do not emit simulated diff output to stderr
2919         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
2920
2921 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
2922
2923         .gitignore: ignore gnulib.dvi and regex.info
2924         * doc/.gitignore:add gnulib.dvi and regex.info
2925
2926 2011-12-22  Jim Meyering  <meyering@redhat.com>
2927
2928         init.sh: correct previous change
2929         * tests/init.sh (compare): My previous change was wrong.
2930         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
2931
2932         init.sh: avoid unwarranted test failure when using "set -e"
2933         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
2934         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
2935         a use like "compare exp out" would get evoke an unconditional failure.
2936
2937 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
2938
2939         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
2940         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
2941         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
2942         autoreconf that did not.
2943         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
2944         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
2945
2946 2011-12-17  Jim Meyering  <meyering@redhat.com>
2947
2948         bootstrap: remove some now-unneeded code
2949         This script arose back when gnulib-tool was young.
2950         Since then, it has seen improvements that render much of this
2951         script unnecessary.  In particular, it can now make symlinks
2952         to the files it uses.  Also, I no longer see as much value in
2953         marking files as read-only via comments.
2954         If you relied on the symlink-creation feature of the preceding
2955         version of this script, you can get most of that functionality
2956         by adding the --symlink option to the definition of
2957         gnulib_tool_option_extras in your bootstrap.conf file.
2958         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
2959         Run autopoint and libtoolize *before* gnulib-tool.
2960         After it, run an abbreviated autoreconf, rather than a loop around
2961         all tools.
2962         (slirp, bt_mark_as_generated): Remove functions.
2963
2964 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
2965
2966         ftoastr: fix typo
2967         * lib/ftoastr.h: Fix misspelling in comment.
2968
2969 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
2970
2971         * top/README-release: fix punctuation.
2972
2973 2011-12-17  Jim Meyering  <meyering@redhat.com>
2974
2975         bootstrap: correct the recent buildreq change
2976         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
2977         had no effect.
2978         * build-aux/bootstrap (buildreq): Bracket each search term with
2979         "*...*", so that the shell "case" statement works as intended.
2980         Add comments.
2981
2982 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
2983
2984         build: let bootstrap resort to wget when downloading .po files
2985         * build-aux/bootstrap (download_po_files): Fallback to wget when
2986         downloading the .po files via rsync fails.  This is necessary to
2987         bootstrap from behind a strict firewall.
2988
2989 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
2990
2991         stdint: don't assume C++11 when compiling with g++
2992         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
2993         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
2994         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
2995         work also in C++ before C++11, as that improperly inhibits
2996         generating a substitute stdint.h for that case.
2997
2998 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
2999
3000         alloca: protect comment from gnulib-tool
3001         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
3002         that gnulib-tool doesn't think it's a license, and munge it to
3003         say "GCC version 3".
3004
3005 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
3006
3007         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
3008         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
3009         $(abs_top_builddir) instead of $(top_builddir).
3010
3011 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
3012
3013         strftime-tests: also test nanoseconds
3014         * tests/test-strftime.c (T): Add a test of %N.
3015
3016 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
3017
3018         inttypes, stdint: add C++11 support
3019         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
3020         when including inttypes.h and stdint.h.  Support this change to
3021         the standard.
3022         * doc/posix-headers/inttypes.texi (inttypes.h):
3023         * doc/posix-headers/stdint.texi (stdint.h): Document this.
3024         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
3025         Define if not defined already, for the benefit of pre-C++11 hosts.
3026         Define the standard format macros (e.g., PRId8) always.
3027         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
3028         Likewise, if __cpluspus.  Define the standard constant and limit
3029         macros (e.g., INT8_C, INT8_MAX) always.
3030         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
3031         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
3032         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
3033         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
3034         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
3035         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
3036         Likewise.
3037
3038 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
3039
3040         nonblocking tests: Fix test failure on Linux/PPC.
3041         Suggested by Prerna Saxena in
3042         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
3043         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
3044         Set to 1100000.
3045
3046 2011-12-12  Jim Meyering  <meyering@redhat.com>
3047
3048         argmatch: don't hard-code `' when listing valid option arguments
3049         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
3050         use the quote function to add quotes.  Use fputs rather than
3051         fprintf for the format string with no format directive.
3052
3053 2011-12-07  Eric Blake  <eblake@redhat.com>
3054
3055         bootstrap: detect tools required by gnulib-tool
3056         * build-aux/bootstrap (buildreq): Provide minimum implicit
3057         dependencies.
3058         * DEPENDENCIES: Mention patch as a prereq.
3059
3060 2011-12-04  Bruno Haible  <bruno@clisp.org>
3061
3062         sethostname: Port to Windows platforms.
3063         * lib/sethostname.c: Provide an alternate implementation for Windows
3064         platforms.
3065         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
3066         (main): Skip the test if sethostname() fails with EPERM. On Windows
3067         platforms, don't check the result of gethostname().
3068
3069 2011-12-04  Bruno Haible  <bruno@clisp.org>
3070             Jim Meyering  <meyering@redhat.com>
3071
3072         tests: Avoid spurious error message on platforms without mktemp program.
3073         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
3074
3075 2011-12-04  Bruno Haible  <bruno@clisp.org>
3076
3077         sethostname: Fix documentation.
3078         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
3079         "not fixed" section.
3080
3081 2011-12-03  Bruno Haible  <bruno@clisp.org>
3082
3083         gnulib-tool: Verify that the License field is present and non-empty.
3084         * gnulib-tool (func_get_license_raw): New function, extracted from
3085         func_get_license.
3086         (func_get_license): Use it. Warn if the module is not a test module and
3087         has no license.
3088         Suggested by Jim Meyering.
3089
3090 2011-12-03  Bruno Haible  <bruno@clisp.org>
3091
3092         sethostname tests: Fix link error on mingw.
3093         * tests/test-sethostname1.c: New file, extracted from
3094         tests/test-sethostname.c.
3095         * tests/test-sethostname2.c: New file, extracted from
3096         tests/test-sethostname.c.
3097         * tests/test-sethostname.c: Remove file.
3098         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
3099         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
3100         (Depends-on): Add gethostname.
3101         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
3102         Link the latter with $(GETHOSTNAME_LIB).
3103
3104         sethostname tests: Fix compilation error on mingw.
3105         * tests/test-sethostname.c: Don't include <sys/types.h>.
3106         (geteuid): Use a dummy value without uid_t.
3107         * modules/sethostname-tests (Depends-on): Remove sys_types.
3108
3109         sethostname tests: Avoid a gcc warning.
3110         * tests/test-sethostname.c (main): Remove an unused variable.
3111
3112         Tweak last commit.
3113         * modules/sethostname-tests (Files): Sort by decreasing importance.
3114         (configure.ac): Check for geteuid.
3115         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
3116         the test when there's nothing to test. Drop an unnecessary cast.
3117         Improve an error message. Verify that the final sethostname() call
3118         succeeds.
3119
3120 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3121
3122         Add a test suite for the sethostname module.
3123         * modules/sethostname-tests: New file.  A test program
3124         for the sethostname module.
3125         * tests/test-sethostname.c: Likewise.
3126
3127 2011-12-03  Bruno Haible  <bruno@clisp.org>
3128
3129         Tweak last commit.
3130         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
3131         Fix preprocessor directives indentation. Fix typos.
3132         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
3133         * modules/unistd (Makefile): Likewise.
3134
3135 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3136
3137         Integrate the sethostname module into unistd.
3138         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
3139         into the unistd.h header.
3140         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
3141         preprocessor directives.
3142         * modules/unistd: Setup the Makefile substitutions of the
3143         SETHOSTNAME preprocessor directives.
3144
3145 2011-12-03  Bruno Haible  <bruno@clisp.org>
3146
3147         Tweak last commit.
3148         * lib/sethostname.c: Don't include <string.h>.
3149         (sethostname): No need to copy the argument string to the stack. Don't
3150         call clearerr. Preserve errno when fprintf failed.
3151         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
3152         Don't invoke AC_REPLACE_FUNCS.
3153         * modules/sethostname (Link): Remove empty section.
3154         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
3155         failure problem.
3156
3157 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3158
3159         New module 'sethostname'.
3160         * lib/sethostname.c (sethostname): New file.  Provide sethostname
3161         for systems that lack it.
3162         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
3163         sethostname declaration and function.
3164         * modules/sethostname: New file.  Define the sethostname module.
3165
3166 2011-12-03  Bruno Haible  <bruno@clisp.org>
3167
3168         Tweak last commit.
3169         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
3170
3171 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3172
3173         Split the HOST_NAME_MAX detection into a separate m4 macro.
3174         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
3175         macro so it can be used by the pending sethostname module.
3176
3177 2011-12-03  Bruno Haible  <bruno@clisp.org>
3178
3179         Fix module descriptions syntax.
3180         * modules/argv-iter (License): Fix syntax.
3181         * modules/di-set (License): Likewise.
3182         * modules/ino-map (License): Likewise.
3183         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
3184
3185 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
3186
3187         stdalign: port to Clang 3.0
3188         Problem reported by Simon Josefsson in
3189         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
3190         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
3191         which has <stdalign.h> but which does not define alignof.
3192         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
3193
3194 2011-12-01  Eric Blake  <eblake@redhat.com>
3195
3196         mktempd: silence dd usage
3197         * build-aux/mktempd (rand_bytes): Silence dd.
3198
3199 2011-11-30  Simon Josefsson  <simon@josefsson.org>
3200
3201         manywarnings: Don't mention gcc version in docstring.
3202         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
3203         Jim Meyering <meyering@redhat.com>.
3204
3205 2011-11-30  Jim Meyering  <meyering@redhat.com>
3206
3207         hash: mark a few floating point constants with "f" suffix
3208         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
3209         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
3210         floating point constants with "f", since they're destined to be
3211         saved/used as "float"s.
3212
3213 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
3214
3215         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
3216         * tests/test-float.c (test_long_double): Correct and re-enable the
3217         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
3218
3219 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
3220
3221         Avoid subtracting two pointers that don't point into the same block.
3222         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
3223         only pointers into the same memory block are subtracted. We cannot
3224         assume that sizeof (ptrdiff_t) == sizeof (void *).
3225
3226 2011-11-29  Eric Blake  <eblake@redhat.com>
3227
3228         maint.mk: add syntax check for use of compare from init.sh
3229         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
3230         moved here from coreutils.
3231
3232         manywarnings: drop -Wunsuffixed-float-constants
3233         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
3234         '1.0D', which is the only way to silence this warning for 'double'.
3235
3236 2011-11-29  Jim Meyering  <meyering@redhat.com>
3237
3238         hash: mark compute_bucket_size with the pure attribute
3239         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
3240
3241         quotearg, propername: correct pragma guard expression
3242         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
3243         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
3244
3245 2011-11-28  Jim Meyering  <meyering@redhat.com>
3246
3247         propername: do not mark proper_name with the const attribute
3248         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
3249         since it examines data pointed to by its parameter.
3250         * lib/propername.c (proper_name): Instead, add a pragma to suppress
3251         the suggestion from -Wsuggest-attribute=const.
3252
3253         propername: mark one more function as const
3254         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
3255
3256 2011-11-27  Jim Meyering  <meyering@redhat.com>
3257
3258         mark functions with const and pure attributes
3259
3260         Mark functions per suggestions from gcc-4.6 when using these options:
3261         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
3262         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
3263         Follow these guidelines: when possible, apply the attribute to
3264         an extern declaration, not to its definition.  Apply it to the
3265         definition only when the definition is static.
3266         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
3267         * lib/argv-iter.h (argv_iter_n_args): Likewise.
3268         * lib/base64.h (isbase64): Likewise.
3269         * lib/basename-lgpl.c (last_component, base_len): Likewise.
3270         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
3271         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
3272         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
3273         (c_tolower, c_toupper): Likewise.
3274         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
3275         * lib/chdir-long.c (find_non_slash): Likewise.
3276         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
3277         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
3278         * lib/file-type.h (file_type): Likewise.
3279         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
3280         * lib/filevercmp.c (verrevcmp): Likewise.
3281         * lib/freadahead.h (freadahead): Likewise.
3282         * lib/fts.c (fts_maxarglen): Likewise.
3283         * lib/hash-pjw.h (hash_pjw): Likewise.
3284         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
3285         * lib/hash.c (is_prime, next_prime): Likewise.
3286         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
3287         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
3288         (hash_table_ok, hash_get_first, hash_string): Likewise.
3289         (compute_bucket_size): Likewise.
3290         * lib/i-ring.h (i_ring_empty): Likewise.
3291         * lib/isnan.c (isnanl): Likewise.
3292         * lib/math.h (isnanl, rpl_isnanl): Likewise.
3293         * lib/memcasecmp.h (memcasecmp): Likewise.
3294         * lib/memchr2.h (memchr2): Likewise.
3295         * lib/memcmp2.h (memcmp2): Likewise.
3296         * lib/parse-datetime.y (lookup_zone): Likewise.
3297         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
3298         [!WINDOWS_SOCKETS]: Likewise.
3299         * lib/strnlen1.h (strnlen1): Likewise.
3300         * lib/uniwidth.in.h (uc_width): Likewise.
3301         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
3302         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
3303         (quoting_options_from_style): Add a comment.
3304         * lib/propername.h (proper_name): Add a comment.
3305
3306 2011-11-27  Bruno Haible  <bruno@clisp.org>
3307
3308         Remove unused macros from !_LIBC code in glibc-borrowed files.
3309         * lib/fnmatch.c (STRCOLL): Remove macro.
3310         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
3311         * lib/glob.c (__stat, __readdir64): Remove macros.
3312         * lib/tempname.c (__open64, __xstat64): Remove macros.
3313         Suggested by Paul Eggert.
3314
3315 2011-11-27  Bruno Haible  <bruno@clisp.org>
3316
3317         getcwd: Fix link error on MSVC 9.
3318         * modules/getcwd (Depends-on): Add readdir, rewinddir.
3319
3320 2011-11-27  Bruno Haible  <bruno@clisp.org>
3321
3322         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
3323         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
3324         HAVE_OPENDIR is 0.
3325         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
3326         HAVE_CLOSEDIR is 0.
3327         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
3328         is 0.
3329         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
3330
3331 2011-11-27  Bruno Haible  <bruno@clisp.org>
3332
3333         getcwd: Fix bug from 2011-08-17.
3334         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
3335         platforms that need it.
3336         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
3337         code of 4 to be a failure, not a success. This ensures that
3338         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
3339
3340 2011-11-27  Bruno Haible  <bruno@clisp.org>
3341
3342         binary-io tests: Avoid test failure on mingw when libtool is used.
3343         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
3344         Don't verify the size of t-bin-out1.tmp here.
3345         * tests/test-binary-io.sh: Verify it here.
3346         Reported by Simon Josefsson.
3347
3348 2011-11-26  Bruno Haible  <bruno@clisp.org>
3349
3350         Fix conflict between two instantiations of module 'unistd'.
3351         * gnulib-tool (func_emit_autoconf_snippet): Substitute
3352         ${include_guard_prefix} also in the autoconf snippet.
3353         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
3354         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
3355         GNULIB_UNISTD_H_GETOPT.
3356         * modules/getopt-posix (configure.ac): Set the
3357         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
3358         * modules/getopt-gnu (configure.ac): Likewise.
3359         * modules/unistd (Makefile.am): Change the substitution value of
3360         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
3361         Reported by Simon Josefsson.
3362
3363 2011-11-25  Bruno Haible  <bruno@clisp.org>
3364
3365         pagealign_alloc: Doc and comments.
3366         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
3367         module.
3368         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
3369
3370 2011-11-25  Jim Meyering  <meyering@redhat.com>
3371
3372         test-update-copyright.sh: avoid false-positive failure
3373         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
3374         around false positive failure on Cygwin/Windows.  The latter was
3375         matching erroneously-created files with names like
3376         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
3377
3378 2011-11-25  Simon Josefsson  <simon@josefsson.org>
3379
3380         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
3381         * m4/valgrind-tests.m4: Check that the parameters that will be
3382         used works, not just a subset of them.  Reported by Bruno Haible
3383         <bruno@clisp.org>.
3384
3385 2011-11-24  Jim Meyering  <meyering@redhat.com>
3386
3387         test-stdalign.c: comment out long double tests
3388         * tests/test-stdalign.c: Don't try to reduce alignment of long double
3389         variables.  That provokes errors like this from gcc-4.7.0 20111124:
3390         error: '_Alignas' specifiers cannot reduce alignment of \
3391         'static_longdouble_alignas'.
3392
3393 2011-11-22  Jim Meyering  <meyering@redhat.com>
3394
3395         init.sh: make "compare /dev/null FILE" output more readable
3396         * tests/init.sh (compare_): Document the preferred order of arguments.
3397         (emit_diff_u_header_): New function.
3398         (compare_dev_null_): Emit a simulated diff, rather than just the
3399         contents of the unexpected file.  Suggestion from Bruno Haible.
3400
3401 2011-11-21  Jim Meyering  <meyering@redhat.com>
3402             Eric Blake  <eblake@redhat.com>
3403
3404         init.sh: work around OSF/1 5.1's mishandling of /dev/null
3405         * tests/init.sh: Make our compare function slightly more portable.
3406         Reported by Bruno Haible in
3407         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
3408
3409 2011-11-21  Simon Josefsson  <simon@josefsson.org>
3410
3411         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
3412         before using it, in code that ends up in config.h.
3413
3414 2011-11-20  Bruno Haible  <bruno@clisp.org>
3415
3416         getcwd: Work around getcwd bug on AIX 5..7.
3417         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
3418         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
3419         Use a different value for gl_cv_func_getcwd_path_max. Move the
3420         definition of HAVE_PARTLY_WORKING_GETCWD from here...
3421         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
3422         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
3423         Define HAVE_MINIMALLY_WORKING_GETCWD.
3424         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
3425         where it is not even minimally working, that is, on AIX.
3426         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
3427         m4/getcwd-path-max.m4.
3428         (main): Update exit code computation.
3429         * doc/posix-functions/getcwd.texi: Mention list of platforms where
3430         getcwd does not handle long file names.
3431
3432 2011-11-20  Bruno Haible  <bruno@clisp.org>
3433
3434         getcwd: Fix bug from 2009-09-10.
3435         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
3436         like "no".
3437
3438 2011-11-20  Simon Josefsson  <simon@josefsson.org>
3439
3440         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
3441
3442 2011-11-20  Bruno Haible  <bruno@clisp.org>
3443
3444         fma tests: Avoid shadowing local variables.
3445         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
3446         expected.
3447
3448 2011-11-20  Bruno Haible  <bruno@clisp.org>
3449
3450         copysignf tests: Fix.
3451         * tests/test-copysignf.c: Fix signature check.
3452
3453 2011-11-20  Bruno Haible  <bruno@clisp.org>
3454
3455         fma: Remove unused code.
3456         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
3457         unused macros.
3458
3459 2011-11-20  Bruno Haible  <bruno@clisp.org>
3460
3461         sethostname: Fix doc about AIX.
3462         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
3463         sethostname; it has it.
3464
3465         sethostname: Mention more portability problems.
3466         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
3467         problem.
3468         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
3469
3470 2011-11-19  Bruno Haible  <bruno@clisp.org>
3471
3472         Depend on module fcntl-h when AT_FDCWD is used.
3473         * modules/utimens (Depends-on): Add fcntl-h.
3474         * modules/areadlinkat (Depends-on): Likewise.
3475         * modules/areadlinkat-with-size (Depends-on): Likewise.
3476         * modules/faccessat (Depends-on): Likewise.
3477         * modules/fchmodat (Depends-on): Likewise.
3478         * modules/fchownat (Depends-on): Likewise.
3479         * modules/getcwd (Depends-on): Likewise.
3480         * modules/mkdirat (Depends-on): Likewise.
3481         * modules/mkfifoat (Depends-on): Likewise.
3482         * modules/readlinkat (Depends-on): Likewise.
3483         * modules/symlinkat (Depends-on): Likewise.
3484         * modules/dup2-tests (Depends-on): Likewise.
3485         * modules/fdutimensat-tests (Depends-on): Likewise.
3486         * modules/futimens-tests (Depends-on): Likewise.
3487
3488 2011-11-19  Bruno Haible  <bruno@clisp.org>
3489
3490         euidaccess: Update a comment.
3491         * lib/euidaccess.c: Update comment about platforms with faccessat.
3492
3493 2011-11-19  Bruno Haible  <bruno@clisp.org>
3494
3495         openat: Fix file list.
3496         * modules/openat (Files): Remove lib/at-func.c.
3497
3498 2011-11-19  Bruno Haible  <bruno@clisp.org>
3499
3500         fstatat: Simplify.
3501         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
3502         gnulib should define rpl_fstatat, there is a
3503         "#define fstatat rpl_fstatat" in <sys/stat.h>.
3504
3505 2011-11-19  Bruno Haible  <bruno@clisp.org>
3506
3507         Ensure 'inline' can be used in tests/test-utimens-common.h.
3508         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
3509         * modules/futimens-tests (configure.ac): Likewise.
3510         * modules/utimens-tests (configure.ac): Likewise.
3511         * modules/utimensat-tests (configure.ac): Likewise.
3512
3513 2011-11-19  Simon Josefsson  <simon@josefsson.org>
3514
3515         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
3516         not hash_insert0.
3517         (hash_insert_if_absent): Doc fix.
3518
3519 2011-11-19  Simon Josefsson  <simon@josefsson.org>
3520
3521         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
3522
3523 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
3524
3525         test-getcwd: disambiguate exit status
3526         * tests/test-getcwd.c (test_long_name): Return 0..7.
3527         (main): Exit with an unambiguous exit status.  The old
3528         code yielded a mysterious mixture of two failure codes.
3529
3530         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
3531         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
3532         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
3533         rpl_fstatat or fstatat.  This should fix the other problem
3534         reported by Kai Habel in
3535         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
3536         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
3537         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
3538         and I reproduced it on a Solaris 8 host we still have in production.
3539
3540 2011-11-18  Jim Meyering  <meyering@redhat.com>
3541
3542         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
3543         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
3544         Add a sentence to the comment.
3545         (hash_insert0): New function that simply calls hash_insert_if_absent.
3546         * lib/hash.h (hash_insert_if_absent): Declare it.
3547         (hash_insert0): Add deprecation attribute.
3548         (_GL_ATTRIBUTE_DEPRECATED): Define.
3549         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
3550         not hash_insert0.
3551         * NEWS: Mention it, even though it's not really an incompatible change.
3552
3553 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
3554
3555         openat: avoid compilation failure due to lack of <errno.h> inclusion
3556         * lib/openat.c: Include <errno.h>.
3557
3558 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
3559
3560         * modules/getcwd (Depends-on): Add fdopendir.
3561         This fixes one of the two problems reported by Kai Habel in
3562         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
3563
3564         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
3565         stdalign problem reported by Ian Beckwith in
3566         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
3567         * modules/crypto/gc-arcfour (Depends-on):
3568         Depend conditionally on crypto/arcfour.
3569         * modules/crypto/gc-arctwo (Depends-on):
3570         Depend conditionally on crypto/arctwo.
3571         * modules/crypto/gc-des (Depends-on):
3572         Depend conditionally on crypto/des.
3573         * modules/crypto/gc-hmac-md5 (Depends-on):
3574         Depend conditionally on crypto/hmac-md5.
3575         * modules/crypto/gc-hmac-sha1 (Depends-on):
3576         Depend conditionally on crypto/hmac-sha1.
3577         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
3578         * modules/crypto/gc-md4 (Depends-on):
3579         Depend conditionally on crypto/md4.
3580         * modules/crypto/gc-md5 (Depends-on):
3581         Depend conditionally on crypto/md5.
3582         * modules/crypto/gc-rijndael (Depends-on):
3583         Depend conditionally on crypto/rijndael.
3584         * modules/crypto/gc-sha1 (Depends-on):
3585         Depend conditionally on crypto/sha1.
3586         * modules/crypto/gc-arcfour:
3587         * modules/crypto/gc-arctwo:
3588         * modules/crypto/gc-des:
3589         * modules/crypto/gc-hmac-md5:
3590         * modules/crypto/gc-hmac-sha1:
3591         * modules/crypto/gc-md2:
3592         * modules/crypto/gc-md4:
3593         * modules/crypto/gc-md5:
3594         * modules/crypto/gc-rijndael:
3595         * modules/crypto/gc-sha1:
3596         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
3597         now that the conditional dependencies do the work for us.
3598
3599 2011-11-17  Jim Meyering  <meyering@redhat.com>
3600
3601         tests: factor st_ctime-comparison out of two headers
3602         * tests/test-utimens-common.h (ctime_compare): Define.
3603         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
3604         * tests/test-lutimens.h (test_lutimens): Likewise.
3605         * tests/test-utimens.h (test_utimens): Likewise.
3606
3607         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
3608         Invoke the test program via an init.sh-using wrapper.
3609         * tests/test-getcwd.sh: New file.
3610         * modules/getcwd-tests (Files): Add it.
3611         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
3612
3613 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
3614
3615         gitlog-to-changelog: support multi-author commits.
3616         The FSF cares about keeping track of all authors of patches to its
3617         projects, but Git doesn't provide obvious support for multi-author
3618         changesets. Consensus seems to be forming around the use of extra
3619         Signed-off-by inspired lines in the log message formatted as
3620         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
3621         multi-author commits between version control systems.
3622         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
3623         log message and output in standard ChangeLog multi-author format.
3624         Reported by Peter Rosin <peda@lysator.liu.se>
3625
3626 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
3627             Bruno Haible  <bruno@clisp.org>
3628
3629         Fix some modules' file list.
3630         * modules/fstatat (Files): Add m4/lstat.m4.
3631         * modules/openat (Files): Likewise.
3632         * modules/unlinkat (Files): Likewise.
3633
3634 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
3635
3636         maint.mk: fix tight-scope.mk generation in VPATH builds.
3637         * top/maint.mk (tight-scope.mk): Make sure to prefix file
3638         reference with $(srcdir) so that the file is found correctly even
3639         when running `make syntax-check' in a VPATH build.
3640
3641 2011-11-13  Bruno Haible  <bruno@clisp.org>
3642             Jim Meyering  <meyering@redhat.com>
3643
3644         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
3645         * tests/init.sh (compare): Remove "No differences encountered" or
3646         synonymous output from the 'diff' program.
3647
3648 2011-11-13  Bruno Haible  <bruno@clisp.org>
3649
3650         Makefile: Tweak indentation.
3651         * Makefile: Use tab as first character in every line that contains rule
3652         commands.
3653
3654 2011-11-13  Bruno Haible  <bruno@clisp.org>
3655
3656         Syntax check for copyright statements.
3657         * check-copyright: New file.
3658         * Makefile (sc_check_copyright): New rule.
3659
3660 2011-11-13  Simon Josefsson  <simon@josefsson.org>
3661
3662         * build-aux/git-version-gen: Add --prefix to configure the tag
3663         match string.
3664
3665 2011-11-13  Simon Josefsson  <simon@josefsson.org>
3666
3667         * build-aux/git-version-gen: Add --help and --version.
3668
3669 2011-11-12  Jim Meyering  <meyering@redhat.com>
3670
3671         revamp the other test-exclude?.sh scripts to use init.sh, too
3672         * tests/test-exclude1.sh: Use init.sh.
3673         * tests/test-exclude2.sh: Likewise.
3674         * tests/test-exclude3.sh: Likewise.
3675         * tests/test-exclude4.sh: Likewise.
3676         * tests/test-exclude5.sh: Likewise.
3677         * tests/test-exclude6.sh: Likewise.
3678         * tests/test-exclude7.sh: Likewise.
3679         * tests/test-exclude8.sh: Likewise.
3680         * modules/exclude-tests (Files): List init.sh.
3681
3682         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
3683         These shell scripts ignored failure of the binary test-exclude,
3684         so making the latter return 77 didn't cause them to be skipped.
3685         * tests/test-exclude5.sh: Exit with test-exclude's error status
3686         when that program fails.  Revamp to use init.sh.
3687         * tests/test-exclude2.sh: Likewise.
3688
3689         test-exclude: fix a typo
3690         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
3691
3692 2011-11-11  Bruno Haible  <bruno@clisp.org>
3693
3694         obstack: Fix compilation error on MSVC 9.
3695         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
3696
3697 2011-11-11  Jim Meyering  <meyering@redhat.com>
3698
3699         test-exclude: skip tests rather than failing on deficient systems
3700         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
3701         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
3702         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
3703         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
3704
3705 2011-11-10  Bruno Haible  <bruno@clisp.org>
3706
3707         ptsname_r test: Avoid gcc warning on glibc systems.
3708         * tests/test-ptsname_r.c (null_ptr): New function.
3709         (test_errors): Use it.
3710
3711 2011-11-10  Bruno Haible  <bruno@clisp.org>
3712
3713         ptsname_r: Avoid compilation error on OSF/1 5.1.
3714         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
3715         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
3716         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
3717         function is not declared or incompatibly declared.
3718         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
3719         * modules/ptsname_r (Depends-on, configure.ac): Update.
3720         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
3721
3722 2011-11-10  Bruno Haible  <bruno@clisp.org>
3723
3724         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
3725         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
3726         When cross-compiling, guess yes on all platforms except AIX.
3727         Reported by Ludovic Courtès <ludo@gnu.org>.
3728
3729 2011-11-09  Bruno Haible  <bruno@clisp.org>
3730
3731         ptsname_r tests: Fix bugs.
3732         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
3733         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
3734
3735 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3736
3737         fstatat: work with cross-compilation
3738         Problem reported by Ludovic Courtès in
3739         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
3740         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
3741         "cross-compiling" and assume the bug is present.  Replace
3742         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
3743         an inverted sense, to be more conservative about our assumptions.
3744         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
3745
3746 2011-11-09  Bruno Haible  <bruno@clisp.org>
3747
3748         Improve MODULES.html output.
3749         * modules/mkfifoat (Description): Use the word "function".
3750         * modules/readlinkat (Description): Likewise.
3751         * modules/symlinkat (Description): Likewise.
3752
3753 2011-11-09  Eric Blake  <eblake@redhat.com>
3754
3755         ptsname_r-tests: new test module
3756         * modules/ptsname_r-tests: New module.
3757         * tests/test-ptsname_r.c: New file.
3758
3759         ptsname_r: new module
3760         * modules/ptsname_r: New module.
3761         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
3762         * lib/ptsname.c (__ptsname_r): Split...
3763         * lib/ptsname_r.c: ...into new file.
3764         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
3765         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
3766         * modules/stdlib (Makefile.am): Substitute witnesses.
3767         * lib/stdlib.in.h (ptsname_r): Declare it.
3768         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
3769         * MODULES.html.sh (Misc): Likewise.
3770         * modules/ptsname (Depends-on): Alter dependency.
3771         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
3772
3773 2011-11-09  Jim Meyering  <meyering@redhat.com>
3774
3775         announce-gen: be more concise when there's only one URL+tarball
3776         * build-aux/announce-gen (get_tool_versions): When you distribute
3777         only one type of tarball, combine the first two "Here are..."
3778         sections and make the key-checking grammar independent of
3779         how many tarballs there are.
3780
3781 2011-11-09  Eric Blake  <eblake@redhat.com>
3782
3783         openpty: provide a stub on mingw
3784         * lib/pty.in.h (includes): Provide forward declarations.
3785         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
3786
3787         raise: fix mingw handling of SIGPIPE
3788         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
3789
3790 2011-11-08  Bruno Haible  <bruno@clisp.org>
3791
3792         More conditional dependencies.
3793         * modules/faccessat (Depends-on): Add conditions.
3794         * modules/fchmodat (Depends-on): Likewise.
3795         * modules/fchownat (Depends-on): Likewise.
3796         * modules/fstatat (Depends-on): Likewise.
3797         * modules/mkfifoat (Depends-on): Likewise.
3798         * modules/readlinkat (Depends-on): Likewise.
3799         * modules/symlinkat (Depends-on): Likewise.
3800         * modules/unlinkat (Depends-on): Likewise.
3801         * modules/utimensat (Depends-on): Likewise.
3802         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
3803         * modules/linkat (Depends-on): Refine the conditions.
3804         * modules/renameat (Depends-on): Likewise.
3805
3806 2011-11-08  Bruno Haible  <bruno@clisp.org>
3807
3808         faccessat: Move AC_LIBOBJ invocation to module description.
3809         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
3810         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
3811         invocation from here...
3812         * modules/faccessat (configure.ac): ... to here. Invoke
3813         gl_PREREQ_FACCESSAT.
3814
3815 2011-11-08  Bruno Haible  <bruno@clisp.org>
3816
3817         faccessat: Simplify autoconf macro.
3818         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
3819         gl_FUNC_EUIDACCESS.
3820
3821 2011-11-08  Bruno Haible  <bruno@clisp.org>
3822
3823         renameat: Fix dependencies.
3824         * modules/renameat (Depends-on): Add stdbool.
3825
3826 2011-11-08  Bruno Haible  <bruno@clisp.org>
3827
3828         mkfifoat: Fix module description.
3829         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
3830         not gl_UNISTD_MODULE_INDICATOR.
3831
3832 2011-11-08  Bruno Haible  <bruno@clisp.org>
3833
3834         fstatat: Remove unused dependency.
3835         * modules/fstatat (Depends-on): Remove fstat.
3836
3837 2011-11-08  Simon Josefsson  <simon@josefsson.org>
3838
3839         GNUmakefile: behave when Makefile is missing.
3840         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
3841
3842 2011-11-08  Bruno Haible  <bruno@clisp.org>
3843
3844         openat: Conditionalize dependencies.
3845         * lib/openat.c: Reduce the scope of some #includes.
3846         * modules/openat (Depends-on): Add conditions.
3847
3848 2011-11-07  Jim Meyering  <meyering@redhat.com>
3849
3850         maint.mk: extract GPG key ID without using a temporary file
3851         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
3852         without using a temporary file.  Based on a suggestion from Werner Koch
3853         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
3854
3855 2011-11-07  Eric Blake  <eblake@redhat.com>
3856
3857         grantpt: fix typo
3858         * lib/stdlib.in.h (grantpt): Check correct function.
3859
3860         maint.mk: silence new syntax check
3861         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
3862
3863 2011-11-06  Bruno Haible  <bruno@clisp.org>
3864
3865         Doc about floating-point and math API.
3866         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
3867         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
3868
3869 2011-11-06  Bruno Haible  <bruno@clisp.org>
3870
3871         stdalign tests: Skip the test when compiled by Sun C.
3872         * tests/test-stdalign.c (main): Skip the test on Sun C.
3873
3874 2011-11-06  Bruno Haible  <bruno@clisp.org>
3875
3876         ansi-c++-opt: Complete the 2011-06-05 change.
3877         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
3878         does not support namespaces, set the variable to "no", not to ":".
3879
3880 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3881
3882         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
3883
3884 2011-11-06  Bruno Haible  <bruno@clisp.org>
3885
3886         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
3887         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
3888         (minus_zerol) [HP-UX]: New macro.
3889         (unary_minus) [HP-UX]: New function.
3890         (copysignl) [HP-UX]: Use unary_minus function.
3891
3892 2011-11-06  Bruno Haible  <bruno@clisp.org>
3893
3894         ldexp, ldexpf, ldexpl: Enhance tests.
3895         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
3896         and tests/test-ldexpl.c.
3897         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
3898         LDEXP, MIN_EXP, MAX_EXP): New macros.
3899         Include test-ldexp.h.
3900         (main): Just call test_function.
3901         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
3902         infinity.h, nan.h.
3903         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
3904         MAX_EXP): New macros.
3905         Include test-ldexp.h.
3906         (x, y): Remove variables.
3907         (main): Just call test_function.
3908         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
3909         infinity.h, nan.h.
3910         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
3911         MAX_EXP): New macros.
3912         Include test-ldexp.h.
3913         (x, y): Remove variables.
3914         (main): Just call test_function.
3915         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
3916         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
3917         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
3918         (Depends-on): Add isnand-nolibm, signbit, float.
3919         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
3920         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
3921         (Depends-on): Add isnanf-nolibm, signbit, float.
3922
3923 2011-11-06  Bruno Haible  <bruno@clisp.org>
3924
3925         math tests: Cosmetics.
3926         * tests/test-math-c++.cc: Reorder declarations.
3927
3928 2011-11-05  Bruno Haible  <bruno@clisp.org>
3929
3930         fma*: Simplify test.
3931         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
3932         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
3933
3934         Tests for module 'fmal'.
3935         * modules/fmal-tests: New file.
3936         * tests/test-fmal1.c: New file.
3937         * tests/test-fmal2.c: New file.
3938
3939         New module 'fmal'.
3940         * lib/math.in.h (fmal): New declaration.
3941         * lib/fmal.c: New file.
3942         * m4/fmal.m4: New file.
3943         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
3944         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
3945         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
3946         REPLACE_FMAL.
3947         * modules/fmal: New file.
3948         * doc/posix-functions/fmal.texi: Mention the new module and the various
3949         bugs.
3950
3951         Tests for module 'fmaf'.
3952         * modules/fmaf-tests: New file.
3953         * tests/test-fmaf1.c: New file.
3954         * tests/test-fmaf2.c: New file.
3955
3956         New module 'fmaf'.
3957         * lib/math.in.h (fmaf): New declaration.
3958         * lib/fmaf.c: New file.
3959         * m4/fmaf.m4: New file.
3960         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
3961         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
3962         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
3963         REPLACE_FMAF.
3964         * modules/fmaf: New file.
3965         * doc/posix-functions/fmaf.texi: Mention the new module and the various
3966         bugs.
3967
3968         Tests for module 'fma'.
3969         * modules/fma-tests: New file.
3970         * tests/test-fma1.c: New file.
3971         * tests/test-fma1.h: New file.
3972         * tests/test-fma2.c: New file.
3973         * tests/test-fma2.h: New file.
3974
3975         New module 'fma'.
3976         * lib/math.in.h (fma): New declaration.
3977         * lib/fma.c: New file.
3978         * m4/fma.m4: New file.
3979         * m4/fegetround.m4: New file.
3980         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
3981         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
3982         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
3983         REPLACE_FMA.
3984         * modules/fma: New file.
3985         * doc/posix-functions/fma.texi: Mention the new module and the various
3986         bugs.
3987
3988         Extend gl_MATHFUNC.
3989         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
3990         Support 'void' as argument type.
3991         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
3992
3993 2011-11-05  Jim Meyering  <meyering@redhat.com>
3994
3995         maint.mk: also prohibit inclusion of dirent.h without use
3996         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
3997
3998 2011-11-05  Bruno Haible  <bruno@clisp.org>
3999
4000         ldexpl tests: Avoid test failure on MSVC 9.
4001         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
4002         value. Needed in order to enforce the conversion from a value greater
4003         than LDBL_MAX to Infinity.
4004
4005 2011-11-05  Bruno Haible  <bruno@clisp.org>
4006
4007         New modules 'at-internal', 'openat-h', split off from module 'openat'.
4008         * modules/at-internal: New file, extracted from modules/openat.
4009         * modules/openat-h: New file.
4010         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
4011         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
4012         * modules/openat (Description): Add reference to POSIX function.
4013         (Files): Remove lib/openat.h, lib/openat-proc.c.
4014         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
4015         intprops, unistd.
4016         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
4017         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
4018         gl_FCNTL_MODULE_INDICATOR.
4019         (Include): Remove unistd.h, openat.h.
4020         * modules/areadlinkat (Files): Add lib/at-func.c.
4021         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4022         openat-die, openat-h, save-cwd.
4023         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
4024         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4025         openat-die, openat-h, save-cwd, unistd.
4026         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
4027         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4028         openat-h, save-cwd. Remove fcntl-h, openat.
4029         * modules/fchmodat (Files): Remove lib/openat.h.
4030         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4031         openat, stdbool, unistd.
4032         * modules/fchownat (Files): Remove lib/openat.h.
4033         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4034         openat, stdbool, sys_stat.
4035         * modules/fdopendir (Files): Remove lib/openat-priv.h,
4036         lib/openat-proc.c.
4037         (Depends-on): Add at-internal.
4038         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
4039         * modules/fstatat (Files): Remove lib/openat.h.
4040         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
4041         stdbool, unistd.
4042         * modules/fts (Depends-on): Add openat-h.
4043         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
4044         openat.
4045         * modules/mkdirat (Files): Remove lib/openat.h.
4046         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4047         openat, stdbool, sys_stat.
4048         * modules/mkfifoat (Files): Add lib/at-func.c.
4049         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4050         openat-h, save-cwd. Remove fcntl-h, openat.
4051         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
4052         * modules/readlinkat (Files): Add lib/at-func.c.
4053         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4054         openat-h, save-cwd. Remove fcntl-h, openat.
4055         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
4056         openat.
4057         * modules/selinux-at (Files): Add lib/at-func.c.
4058         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4059         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
4060         * modules/symlinkat (Files): Add lib/at-func.c.
4061         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4062         openat-h, save-cwd. Remove fcntl-h, openat.
4063         * modules/unlinkat (Files): Remove lib/openat.h.
4064         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
4065         stdbool.
4066         * modules/utimensat (Files): Add lib/at-func.c.
4067         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
4068         openat-die, openat-h, save-cwd.
4069         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
4070         * modules/fdutimensat-tests (Depends-on): Add openat.
4071         * modules/fstatat-tests (Depends-on): Add openat-h.
4072         * modules/readlinkat-tests (Depends-on): Add openat.
4073         * modules/symlinkat-tests (Depends-on): Add openat.
4074
4075 2011-11-05  Bruno Haible  <bruno@clisp.org>
4076
4077         openat: Include <stdbool.h>.
4078         * lib/openat.c: Include <stdbool.h>.
4079
4080 2011-11-04  Bruno Haible  <bruno@clisp.org>
4081
4082         fchownat, renameat, unlinkat: Fix dependencies.
4083         * modules/fchownat (Depends-on): Add fstatat.
4084         * modules/renameat (Depends-on): Likewise.
4085         * modules/unlinkat (Depends-on): Likewise.
4086
4087 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
4088
4089         openat: remove direct dependency on dirent
4090         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
4091         and hasn't been needed ever since fdopendir was split into its own
4092         module on 2009-08-31.
4093         * modules/openat (Depends-on): Remove dirent.
4094
4095 2011-11-04  Bruno Haible  <bruno@clisp.org>
4096
4097         renameat: Optimize code size.
4098         * modules/renameat (configure.ac): Don't compile at-func2.c if
4099         REPLACE_RENAMEAT is 1.
4100
4101 2011-11-04  Bruno Haible  <bruno@clisp.org>
4102
4103         openat tests: Fix file list.
4104         * modules/openat-tests (Files): Add tests/test-open.h.
4105
4106 2011-11-04  Bruno Haible  <bruno@clisp.org>
4107
4108         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
4109         * modules/fchmodat (Depends-on): Add openat-die.
4110         * modules/fchownat (Depends-on): Likewise.
4111         * modules/linkat (Depends-on): Likewise.
4112         * modules/renameat (Depends-on): Likewise.
4113         * modules/openat (Depends-on): Add dirent.
4114
4115 2011-11-04  Jim Meyering  <meyering@redhat.com>
4116
4117         at-func*.c: fix comments
4118         * lib/at-func2.c: Correct/improve first-line comment.
4119         * lib/at-func.c: Correct grammar in first-line comment.
4120
4121 2011-11-04  Bruno Haible  <bruno@clisp.org>
4122
4123         New module 'mkdirat', split off from module 'openat'.
4124         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
4125         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
4126         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
4127         * modules/mkdirat: New file, extracted from modules/openat.
4128         * modules/openat (Files): Remove lib/mkdirat.c.
4129         (Depends-on): Remove mkdir.
4130         (configure.ac): Remove AC_LIBOBJ of mkdirat.
4131         (Include): Remove <sys/stat.h>.
4132         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
4133         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
4134         tests/test-mkdir.h.
4135         (Depends-on): Remove ignore-value.
4136         (Makefile.am): Remove rules for test-mkdirat.
4137         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
4138         of module 'openat'.
4139         * NEWS: Mention the change.
4140
4141 2011-11-04  Bruno Haible  <bruno@clisp.org>
4142
4143         closedir: Avoid warning on mingw.
4144         * lib/closedir.c: Include <unistd.h>.
4145
4146 2011-11-04  Bruno Haible  <bruno@clisp.org>
4147
4148         New module 'fstatat', split off from module 'openat'.
4149         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
4150         defined.
4151         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
4152         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
4153         gl_FUNC_FSTATAT.
4154         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
4155         * modules/fstatat: New file, extracted from modules/openat.
4156         * modules/openat (Files): Remove lib/fstatat.c.
4157         (Depends-on): Remove lstat.
4158         (configure.ac): Remove AC_LIBOBJ of fstatat.
4159         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
4160         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
4161         tests/test-lstat.h, tests/test-stat.h.
4162         (Depends-on): Remove getcwd-lgpl.
4163         (Makefile.am): Remove rules for test-fstatat.
4164         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
4165         of module 'openat'.
4166         * NEWS: Mention the change.
4167         * modules/getcwd (Depends-on): Add fstatat.
4168         * modules/linkat (Depends-on): Likewise.
4169         * modules/mkfifoat-tests (Depends-on): Likewise.
4170         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
4171
4172 2011-11-03  Bruno Haible  <bruno@clisp.org>
4173
4174         New module 'unlinkat', split off from module 'openat'.
4175         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
4176         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
4177         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
4178         * modules/unlinkat: New file, extracted from modules/openat. Correct
4179         the dependency conditions.
4180         * modules/openat (Files): Remove lib/unlinkat.c.
4181         (Depends-on): Remove rmdir, unlink.
4182         (configure.ac): Remove AC_LIBOBJ of unlinkat.
4183         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
4184         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
4185         tests/test-rmdir.h, tests/test-unlink.h.
4186         (Depends-on): Remove unlinkdir.
4187         (Makefile.am): Remove rules for test-unlinkat.
4188         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
4189         of module 'openat'.
4190         * NEWS: Mention the change.
4191         * modules/linkat-tests (Depends-on): Add unlinkat.
4192         * modules/mkfifoat-tests (Depends-on): Likewise.
4193         * modules/readlinkat-tests (Depends-on): Likewise.
4194
4195 2011-11-02  Bruno Haible  <bruno@clisp.org>
4196
4197         New module 'fchmodat', split off from module 'openat'.
4198         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
4199         defined.
4200         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
4201         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
4202         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
4203         * modules/fchmodat: New file, extracted from modules/openat.
4204         * modules/openat (Files): Remove lib/fchmodat.c.
4205         (configure.ac): Remove AC_LIBOBJ of fchmodat.
4206         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
4207         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
4208         (Makefile.am): Remove rules for test-fchmodat.
4209         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
4210         of module 'openat'.
4211         * NEWS: Mention the change.
4212
4213 2011-11-02  Jim Meyering  <meyering@redhat.com>
4214
4215         putenv: indent #definition of "environ" to placate cppi
4216         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
4217
4218         gitlog-to-changelog: provide a ChangeLog-repair mechanism
4219         Git logs are often treated as immutable, because editing them
4220         changes the SHA1 checksums of all descendants.  Thus, errors in
4221         git logs tend to stay there forever.  However, when we generate
4222         a ChangeLog file -- typically for distribution -- from that git log,
4223         we can actually make corrections in the generated file.  The key
4224         lies in recording in machine-readable/applicable form the desired
4225         corrections.  See --help for description and an example.
4226         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
4227         (usage): Describe it; alphabetize option descriptions.
4228         (main): Honor the new option, carefully.
4229
4230 2011-11-01  Jim Meyering  <meyering@redhat.com>
4231
4232         gitlog-to-changelog: avoid an infloop
4233         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
4234         that ends up being empty.
4235
4236 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
4237
4238         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
4239         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
4240         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
4241         contains (possibly-quoted) backslashes.  This should avoid
4242         all-too-common shell bugs if COMPLICATED contains backslashes in
4243         the "wrong" places.  Reported by David Evans in
4244         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
4245         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
4246         because we want ASCII ranges.  Is there some reason we don't use
4247         the C locale everywhere in this script?
4248         (func_module, top level): Avoid unwanted pathname expansion when
4249         $repo_url_prefix or $repo_url_suffix_repl contain shell
4250         metacharacters like '?' and '*'.
4251
4252 2011-11-01  Bruno Haible  <bruno@clisp.org>
4253
4254         fchownat: Improve description.
4255         * modules/fchownat (Description): Add link to function.
4256
4257 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
4258
4259         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
4260         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
4261         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
4262         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
4263
4264 2011-11-01  Bruno Haible  <bruno@clisp.org>
4265
4266         alignof: Avoid collision with stdalign module.
4267         * lib/alignof.h (alignof): Remove macro.
4268         * NEWS: Mention the change.
4269         Reported by Paul Eggert.
4270
4271 2011-11-01  Bruno Haible  <bruno@clisp.org>
4272
4273         New module 'fchownat', split off from module 'openat'.
4274         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
4275         defined.
4276         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
4277         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
4278         invoke gl_FUNC_FCHOWNAT.
4279         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
4280         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
4281         * modules/fchownat: New file, extracted from modules/openat.
4282         * modules/openat (Files): Remove lib/fchownat.c.
4283         (Depends-on): Remove lchown.
4284         (configure.ac): Remove AC_LIBOBJ of fchownat.
4285         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
4286         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
4287         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
4288         (Depends-on): Remove mgetgroups, usleep, stat-time.
4289         (configure.ac): Remove test for getegid.
4290         (Makefile.am): Remove rules for test-fchownat.
4291         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
4292         of module 'openat'.
4293         * NEWS: Mention the change.
4294
4295 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
4296
4297         stdalign: port better to MSVC and to Sun C 5.11
4298         This fixes some of the problems reported by Bruno Haible in
4299         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
4300         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
4301         shortcomings of MSVC and of Sun C 5.11.
4302         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
4303         around __declspec arg.
4304         * modules/stdalign-tests (Files): Add tests/macros.h.
4305         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
4306         Include macros.h, for ASSERT.
4307         (DECLARE_ALIGNED): Remove.
4308         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
4309         to catch bug), and to 1 if not (simplifies the rest of the code).
4310         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
4311         (CHECK_AUTO): Remove.
4312         (CHECK_ALIGNED): Check only the alignment of the static vars,
4313         since auto var alignment isn't supported by Sun C 5.11.
4314         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
4315         ASSERT failures are easier to diagnose.
4316
4317 2011-10-31  Bruno Haible  <bruno@clisp.org>
4318
4319         doc about some IRIX 5.3 problems.
4320         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
4321         on IRIX 5.3.
4322         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
4323         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
4324         5.3.
4325         * doc/posix-functions/grantpt.texi: Likewise.
4326         * doc/posix-functions/unlockpt.texi: Likewise.
4327         * doc/posix-functions/lgamma.texi: Likewise.
4328         * doc/posix-functions/nextafter.texi: Likewise.
4329         * doc/posix-functions/remainder.texi: Likewise.
4330         * doc/posix-functions/select.texi: Mention misplaced declaration on
4331         IRIX 5.3.
4332         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4333
4334 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
4335
4336         gitlog-to-changelog: fix git-log invocation.
4337         git-log mishandles date strings before 1970-01-01 UTC, and there is
4338         no use to specify --since=1970-01-01 by default anyway.
4339         * build-aux/gitlog-to-changelog: By default, when no --since option
4340         was given, do not specify explicit --since option to git-log.
4341
4342 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
4343
4344         gitlog-to-changelog: new option --append-dot.
4345         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
4346         first non-blank line of each commit message terminated with a dot.
4347
4348 2011-10-30  Bruno Haible  <bruno@clisp.org>
4349
4350         ffsl, ffsll: Avoid compilation error due to 'restrict'.
4351         * lib/ffsl.h: Include <config.h>.
4352         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
4353
4354 2011-10-30  Jim Meyering  <meyering@redhat.com>
4355
4356         GNUmakefile: reenable "make syntax-check" for most projects
4357         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
4358         build-aux variable", "syntax-check" would do nothing but succeed with
4359         the "No version control files detected..." diagnostic (unless you
4360         happened to override _build-aux via cfg.mk).
4361         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
4362         to precede inclusion of maint.mk.  Otherwise, these variables would
4363         be used undefined in any project that does not override the default.
4364
4365 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
4366
4367         gitlog-to-changelog: treat a message with only blank lines as empty.
4368         * build-aux/gitlog-to-changelog: Move the code that removes leading and
4369         trailing blank lines before the code that issues a warning about an
4370         empty commit message.
4371
4372 2011-10-30  Jim Meyering  <meyering@redhat.com>
4373
4374         test-parse-datetime.c: avoid new DST-related false positive test failure
4375         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
4376         based on the time/date we'll convert, not the current time.
4377         Otherwise, the moment we cross a DST boundary like today's in
4378         Europe, (CEST to CET), that offset ends up being one hour off.
4379
4380 2011-10-27  Bruno Haible  <bruno@clisp.org>
4381
4382         fstat: Tweak documentation.
4383         * modules/fstat (Description): More precise description.
4384
4385 2011-10-27  Bruno Haible  <bruno@clisp.org>
4386
4387         Update documentation regarding 'largefile' module.
4388         * doc/posix-functions/fstat.texi: Tweak wording.
4389         * doc/posix-functions/opendir.texi: Mention that the module fixes the
4390         problems with huge directories and/or small ino_t types.
4391         * doc/posix-functions/readdir.texi: Likewise.
4392         * doc/posix-functions/rewinddir.texi: Likewise.
4393
4394 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
4395
4396         maint.mk: don't maintain a second build-aux variable.
4397         * maint.mk (build_aux): Removed.  The maintainer-makefile module
4398         depends on GNUmakefile, which already maintains a cfg.mk
4399         overridable $(_build-aux) for projects with a non-standard
4400         build-aux directory location, although without the $(srcdir)
4401         prefix.  Use that variable consistently instead of introducing a
4402         second one.  Adjust all call sites.
4403
4404 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
4405
4406         Add stdalign module and use it in other modules.
4407         This is based on a previous proposal by Bruno Haible
4408         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
4409
4410         stdalign: new module
4411         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
4412         * modules/stdalign: New files.
4413         * MODULES.html.sh (c1x_core_properties): Add stdalign.
4414         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
4415
4416         stdalign-tests: new module
4417         * modules/stdalign-tests, tests/test-stdalign.c: New files.
4418
4419         argp: use stdalign
4420         * lib/argp-parse.c: Include <stdalign.h>.
4421         (alignof): Remove.
4422         * modules/argp (Depends-on): Add stdalign.
4423
4424         crypto libraries: use stdalign
4425         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
4426         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
4427         Do not include <stdlib.h> twice, in md4.c.
4428         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
4429         because we are accessing a pointer's bit-pattern, not a size.
4430         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
4431         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
4432         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
4433         * modules/crypto/sha512: Likewise.
4434
4435         sys_socket: use stdalign, not alignof
4436         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
4437         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
4438
4439 2011-10-27  Bruno Haible  <bruno@clisp.org>
4440
4441         raise test: Avoid a test failure on Linux/MIPS.
4442         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
4443         because 99 is a valid signal on Linux/MIPS.
4444
4445 2011-10-27  Bruno Haible  <bruno@clisp.org>
4446
4447         nonblocking tests: Fix test failure on Linux/MIPS.
4448         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
4449         Set to 270000.
4450
4451 2011-10-27  Bruno Haible  <bruno@clisp.org>
4452
4453         utimensat: Work around problem on Linux/hppa.
4454         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
4455         values.
4456         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
4457
4458 2011-10-25  Jim Meyering  <meyering@redhat.com>
4459
4460         maint.mk: fix a bug in sc_prohibit_stddef_without_use
4461         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
4462         after symbols like NULL, size_t, etc.
4463         Reported by Alfred M. Szmidt.
4464
4465         maint.mk: exempt ENODATA from a syntax-check rule
4466         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
4467         from the sc_prohibit_always-defined_macros syntax-check rule.
4468         Add a comment.  See this for more details:
4469         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
4470
4471 2011-10-23  Jim Meyering  <meyering@redhat.com>
4472
4473         fts: close parent dir FD before returning from post-traversal fts_read
4474         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
4475         unlink A, even though an FD open on A remained.  This is suboptimal
4476         (holding a file descriptor open longer than needed), but otherwise not
4477         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
4478         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
4479         that represents a real problem: it causes the removal of A to fail
4480         with e.g., "rm: cannot remove `A': Device or resource busy"
4481
4482         fts visits each directory twice and keeps a cache (fts_fd_ring) of
4483         directory file descriptors.  After completing the final, FTS_DP,
4484         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
4485         cache, but then proceeded to add a new FD to it via the subsequent
4486         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
4487         final file descriptor would be closed only via fts_close's call to
4488         fd_ring_clear.  Now, it is usually closed earlier, via the final
4489         FTS_DP-returning fts_read call.
4490         * lib/fts.c (restore_initial_cwd): New function, converted from
4491         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
4492         Update callers.
4493         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
4494         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
4495
4496 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
4497             Bruno Haible  <bruno@clisp.org>
4498             Jim Meyering  <jim@meyering.net>
4499
4500         readme-release: improve safety of release prep instructions.
4501         * README-release: Don't git pull all branches when only master
4502         is needed for the release process.
4503         Run make maintainer-clean before changing trees and merging.
4504         Don't try to run ./configure right after git pull in case files
4505         that influence the bootstrap process have changed, move the
4506         ./configure step to after running ./bootstrap.
4507         Don't bootstrap "one last time"... it's the first time!
4508
4509 2011-10-22  Bruno Haible  <bruno@clisp.org>
4510
4511         errno, strerror-override: Support for MSVC 10.
4512         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
4513         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
4514         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
4515         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
4516         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
4517         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
4518         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
4519         Assign values compatible with MSVC 10.
4520         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
4521         New macros.
4522         (GNULIB_defined_EWINSOCK): New macro.
4523         * lib/strerror-override.c (strerror_override): Update accordingly.
4524         * lib/strerror-override.h: Likewise.
4525         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
4526         longer equal to the corresponding errno value.
4527         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4528
4529 2011-10-22  Bruno Haible  <bruno@clisp.org>
4530
4531         perror: Recognize when test program crashes.
4532         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
4533         strerror, set gl_cv_func_perror_works to no.
4534         Reported by Daniel Richard G. <skunk@iskunk.org>.
4535
4536         perror: Fix indentation.
4537         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
4538
4539 2011-10-22  Bruno Haible  <bruno@clisp.org>
4540
4541         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
4542         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
4543         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
4544         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
4545         functions, not as a macro.
4546         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
4547         macros.
4548         (isfinite, isinf, isnan, signbit): Check overloaded functions and
4549         absence of macro.
4550         Suggested by Eric Blake.
4551         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4552
4553 2011-10-21  Bruno Haible  <bruno@clisp.org>
4554
4555         relocatable-prog-wrapper: Don't leave object files behind.
4556         * build-aux/install-reloc: Re-synchronize list of .o files to be
4557         removed with list of compilation units.
4558
4559 2011-10-20  Bruno Haible  <bruno@clisp.org>
4560
4561         openpty, posix_openpt: Remove code duplication.
4562         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
4563         * lib/openpty.c: Include <stdlib.h>.
4564         (openpty): Use posix_openpt on all platforms except IRIX.
4565         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
4566
4567 2011-10-20  Bruno Haible  <bruno@clisp.org>
4568
4569         unlockpt: Detect invalid argument.
4570         * lib/unlockpt.c: Include <fcntl.h>.
4571         (unlockpt): Check whether fd is valid, using fcntl().
4572         * modules/unlockpt (Depends-on): Add fcntl-h.
4573
4574 2011-10-20  Bruno Haible  <bruno@clisp.org>
4575
4576         openpty: Avoid compilation error on AIX 6.1.
4577         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
4578
4579 2011-10-20  Bruno Haible  <bruno@clisp.org>
4580
4581         posix_openpt: Support for OpenBSD.
4582         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
4583         (posix_openpt) [OpenBSD]: New code.
4584         * lib/grantpt.c: Include <fcntl.h>.
4585         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
4586         * modules/grantpt (Depends-on): Add fcntl-h.
4587
4588 2011-10-20  Bruno Haible  <bruno@clisp.org>
4589
4590         posix_openpt test: Coding style.
4591         * tests/test-posix_openpt.c: Use GNU coding style.
4592
4593 2011-10-20  Bruno Haible  <bruno@clisp.org>
4594
4595         grantpt: Support --avoid=pt_chown.
4596         * modules/grantpt (Files): Add lib/pty-private.h.
4597
4598 2011-10-20  Bruno Haible  <bruno@clisp.org>
4599
4600         posix_openpt: Fix autoconf macro.
4601         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
4602         unneeded check for _getpty.
4603
4604 2011-10-20  Bruno Haible  <bruno@clisp.org>
4605
4606         openpty: Update comments.
4607         * lib/openpty.c: Add comments about Minix.
4608
4609 2011-10-19  Eric Blake  <eblake@redhat.com>
4610
4611         openpty: relax license
4612         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
4613
4614         pt_chown: use configmake to simplify build
4615         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
4616
4617         ptsname and others: relax license
4618         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
4619         * modules/unlockpt (License): Likewise.
4620         * modules/pt_chown (License): Likewise.
4621         * modules/ptsname (License): Likewise.
4622         * modules/ttyname_r (License): Likewise.
4623
4624 2011-10-19  Jim Meyering  <meyering@redhat.com>
4625
4626         posix_openpt: remove spurious #endif
4627         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
4628
4629 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
4630
4631         maint.mk: Respect $(build_aux) in web-manual rule.
4632         * top/maint.mk (web-manual): Find gen-announce script in user's
4633         $(build_aux) directory instead of hard-coding 'build-aux'.
4634
4635 2011-10-19  Bruno Haible  <bruno@clisp.org>
4636
4637         posix_openpt: Fix compilation error.
4638         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
4639         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
4640         Mention the openpty module as an alternative.
4641
4642 2011-10-19  Bruno Haible  <bruno@clisp.org>
4643
4644         Support for old NeXTstep 3.3 frexp().
4645         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
4646         execution time of the test to 5 seconds.
4647         Reported by Daniel Richard G. <skunk@iskunk.org>.
4648
4649 2011-10-19  Bruno Haible  <bruno@clisp.org>
4650
4651         Support for old NeXTstep 3.3 sed.
4652         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
4653         part, use /.../, not \|...|. Escape periods in the header file name.
4654         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
4655         Reported by Daniel Richard G. <skunk@iskunk.org>.
4656
4657 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4658
4659         Support for old NeXTstep 3.3 gcc.
4660         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
4661         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
4662         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
4663         * lib/spawn.in.h (_Restrict_arr_): Likewise.
4664         * lib/regex.h (_Restrict_arr_): Likewise.
4665         * lib/regex_internal.h (re_token_t): Likewise.
4666         * lib/regexec.c (check_node_accept_bytes): Likewise.
4667         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
4668
4669 2011-10-18  Eric Blake  <eblake@redhat.com>
4670
4671         posix_openpt: new module
4672         * modules/posix_openpt: New module.
4673         * m4/posix_openpt.m4: New file.
4674         * lib/posix_openpt.c: Likewise.
4675         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
4676         (gl_STDLIB_H_DEFAULTS): Set defaults.
4677         * modules/stdlib (Makefile.am): Substitute macros.
4678         * lib/stdlib.in.h (posix_openpt): Declare.
4679         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
4680         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
4681         * modules/posix_openpt-tests: New test module.
4682         * tests/test-posix_openpt.c: New test.
4683
4684 2011-10-15  Bruno Haible  <bruno@clisp.org>
4685
4686         xstrtoll: Fix compilation failure.
4687         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
4688         from lib/strtol.c.
4689         * doc/posix-headers/limits.texi: Mention missing numerical limits on
4690         some platforms.
4691         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4692
4693 2011-10-15  Bruno Haible  <bruno@clisp.org>
4694
4695         vasnprintf: Optimize bit search operation.
4696         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
4697         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
4698         gl_DOUBLE_EXPONENT_LOCATION.
4699         * modules/vasnprintf (Files): Add m4/exponentd.m4.
4700         * modules/unistdio/u8-vasnprintf (Files): Likewise.
4701         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
4702         * modules/unistdio/u16-vasnprintf (Files): Likewise.
4703         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
4704         * modules/unistdio/u32-vasnprintf (Files): Likewise.
4705         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
4706         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
4707         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
4708
4709 2011-10-15  Bruno Haible  <bruno@clisp.org>
4710
4711         vasnprintf: Fix comments.
4712         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
4713
4714 2011-10-14  Bruno Haible  <bruno@clisp.org>
4715
4716         Tests for module 'integer_length_ll'.
4717         * modules/integer_length_ll-tests: New file.
4718         * tests/test-integer_length_ll.c: New file.
4719
4720         New module 'integer_length_ll'.
4721         * lib/integer_length_ll.c: New file.
4722         * modules/integer_length_ll: New file.
4723
4724 2011-10-14  Bruno Haible  <bruno@clisp.org>
4725
4726         Tests for module 'integer_length_l'.
4727         * modules/integer_length_l-tests: New file.
4728         * tests/test-integer_length_l.c: New file.
4729
4730         New module 'integer_length_l'.
4731         * lib/integer_length_l.c: New file.
4732         * modules/integer_length_l: New file.
4733
4734 2011-10-14  Bruno Haible  <bruno@clisp.org>
4735
4736         Tests for module 'integer_length'.
4737         * modules/integer_length-tests: New file.
4738         * tests/test-integer_length.c: New file.
4739
4740         New module 'integer_length'.
4741         * lib/integer_length.h: New file.
4742         * lib/integer_length.c: New file.
4743         * modules/integer_length: New file.
4744
4745 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4746
4747         popen: Fix dependency conditions.
4748         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
4749
4750 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4751
4752         perror: Fix autoconf test.
4753         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
4754         <stdlib.h> and <string.h>.
4755
4756 2011-10-14  Bruno Haible  <bruno@clisp.org>
4757
4758         ffsl: Optimize on 64-bit platforms.
4759         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
4760         unrolling.
4761
4762 2011-10-13  Bruno Haible  <bruno@clisp.org>
4763
4764         ffsl: Optimize on 32-bit platforms.
4765         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
4766         use ffs() without a loop.
4767
4768         ffsl, ffsll: Optimize for GCC.
4769         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
4770         * lib/ffsl.c (GCC_BUILTIN): New macro.
4771         * lib/ffsll.c (GCC_BUILTIN): Likewise.
4772
4773 2011-10-13  Bruno Haible  <bruno@clisp.org>
4774
4775         ffs, bcopy, memset: Support symbol renaming via config.h.
4776         * lib/ffs.c: Include <config.h>.
4777         * lib/bcopy.c: Likewise.
4778         * lib/memset.c: Likewise.
4779
4780 2011-10-10  Bruno Haible  <bruno@clisp.org>
4781
4782         atanl: Simplify for platforms where 'long double' == 'double'.
4783         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4784         alternative implementation.
4785         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4786         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4787         * modules/atanl (Depends-on): Add atan. Update conditions.
4788
4789 2011-10-10  Bruno Haible  <bruno@clisp.org>
4790
4791         acosl: Simplify for platforms where 'long double' == 'double'.
4792         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4793         alternative implementation.
4794         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4795         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4796         * modules/acosl (Depends-on): Add acos. Update conditions.
4797
4798 2011-10-10  Bruno Haible  <bruno@clisp.org>
4799
4800         asinl: Simplify for platforms where 'long double' == 'double'.
4801         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4802         alternative implementation.
4803         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4804         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4805         * modules/asinl (Depends-on): Add asin. Update conditions.
4806
4807 2011-10-10  Bruno Haible  <bruno@clisp.org>
4808
4809         tanl: Simplify for platforms where 'long double' == 'double'.
4810         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4811         implementation.
4812         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4813         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4814         * modules/tanl (Depends-on): Add tan. Update conditions.
4815         (configure.ac): Don't compile trigl.c if
4816         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4817
4818 2011-10-10  Bruno Haible  <bruno@clisp.org>
4819
4820         cosl: Simplify for platforms where 'long double' == 'double'.
4821         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4822         implementation.
4823         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4824         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4825         * modules/cosl (Depends-on): Add cos. Update conditions.
4826         (configure.ac): Don't compile sincosl.c and trigl.c if
4827         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4828
4829 2011-10-10  Bruno Haible  <bruno@clisp.org>
4830
4831         sinl: Simplify for platforms where 'long double' == 'double'.
4832         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4833         implementation.
4834         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4835         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4836         * modules/sinl (Depends-on): Add sin. Update conditions.
4837         (configure.ac): Don't compile sincosl.c and trigl.c if
4838         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4839
4840 2011-10-10  Bruno Haible  <bruno@clisp.org>
4841
4842         logl: Simplify for platforms where 'long double' == 'double'.
4843         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4844         implementation.
4845         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4846         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4847         * modules/logl (Depends-on): Add log. Update conditions.
4848
4849 2011-10-10  Bruno Haible  <bruno@clisp.org>
4850
4851         expl: Simplify for platforms where 'long double' == 'double'.
4852         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4853         implementation.
4854         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4855         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4856         * modules/expl (Depends-on): Add exp. Update conditions.
4857
4858 2011-10-10  Bruno Haible  <bruno@clisp.org>
4859
4860         sqrtl: Simplify for platforms where 'long double' == 'double'.
4861         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4862         alternative implementation.
4863         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4864         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4865         * modules/sqrtl (Depends-on): Update conditions.
4866
4867 2011-10-10  Bruno Haible  <bruno@clisp.org>
4868
4869         ldexpl: Simplify for platforms where 'long double' == 'double'.
4870         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4871         alternative implementation.
4872         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4873         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4874         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
4875
4876 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
4877
4878         ffsll: set correct witness
4879         * modules/ffsll (configure.ac): Fix typo.
4880
4881 2011-10-10  Bruno Haible  <bruno@clisp.org>
4882
4883         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
4884         * lib/printf-frexpl.c: Include <config.h>.
4885         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4886         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
4887         second time.
4888         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
4889         gl_LONG_DOUBLE_VS_DOUBLE.
4890         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
4891         conditions.
4892
4893 2011-10-10  Bruno Haible  <bruno@clisp.org>
4894
4895         frexpl: Simplify for platforms where 'long double' == 'double'.
4896         * lib/frexpl.c: Include <config.h>.
4897         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4898         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4899         time.
4900         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4901         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4902         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
4903         * modules/frexpl (Depends-on): Add frexp. Update conditions.
4904         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
4905         conditions.
4906
4907 2011-10-10  Jim Meyering  <meyering@redhat.com>
4908
4909         test-renameat: don't leave behind a temporary file
4910         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
4911           ERROR: files left in build directory after distclean:
4912           ./gltests/test-renameat.too
4913           make[1]: *** [distcleancheck] Error 1
4914         Reported by Tom G. Christensen.
4915
4916 2011-10-09  Bruno Haible  <bruno@clisp.org>
4917
4918         rint: Determine RINT_LIBM correctly on AIX 7.
4919         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
4920         directly, not only through a function pointer. Also accept an optional
4921         4th argument with extra code.
4922         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
4923         rintf() call by gcc when optimizing.
4924
4925         mathfunc.m4: Refactor.
4926         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
4927         m4 variable.
4928
4929 2011-10-09  Bruno Haible  <bruno@clisp.org>
4930
4931         rintl: Simplify for platforms where 'long double' == 'double'.
4932         * lib/rintl.c: Include <config.h>.
4933         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4934         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4935         time.
4936         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4937         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4938         * modules/rintl (Depends-on): Add rint. Update conditions.
4939
4940 2011-10-09  Bruno Haible  <bruno@clisp.org>
4941
4942         roundl: Simplify for platforms where 'long double' == 'double'.
4943         * lib/roundl.c: Include <config.h>.
4944         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4945         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4946         time.
4947         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4948         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4949         * modules/roundl (Depends-on): Add round. Update conditions.
4950
4951 2011-10-09  Bruno Haible  <bruno@clisp.org>
4952
4953         truncl: Simplify for platforms where 'long double' == 'double'.
4954         * lib/truncl.c: Include <config.h>.
4955         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4956         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4957         time.
4958         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4959         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4960         * modules/truncl (Depends-on): Add trunc. Update conditions.
4961
4962 2011-10-09  Bruno Haible  <bruno@clisp.org>
4963
4964         ceill: Simplify for platforms where 'long double' == 'double'.
4965         * lib/ceill.c: Include <config.h>.
4966         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4967         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4968         time.
4969         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4970         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4971         * modules/ceill (Depends-on): Add ceil. Update conditions.
4972
4973 2011-10-09  Bruno Haible  <bruno@clisp.org>
4974
4975         floorl: Simplify for platforms where 'long double' == 'double'.
4976         * lib/floorl.c: Include <config.h>.
4977         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4978         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4979         time.
4980         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4981         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4982         * modules/floorl (Depends-on): Add floor. Update conditions.
4983
4984 2011-10-09  Bruno Haible  <bruno@clisp.org>
4985
4986         rint: Fix ordering constraints.
4987         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
4988         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
4989         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
4990
4991 2011-10-09  Bruno Haible  <bruno@clisp.org>
4992
4993         copysignl: Simplify for platforms where 'long double' == 'double'.
4994         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4995         alternative.
4996         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4997         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4998         * modules/copysignl (Depends-on): Add copysign. Update conditions.
4999
5000 2011-10-09  Bruno Haible  <bruno@clisp.org>
5001
5002         Tests for module 'rintl'.
5003         * modules/rintl-tests: New file.
5004         * tests/test-rintl.c: New file.
5005
5006         New module 'rintl'.
5007         * lib/math.in.h (rintl): New declaration.
5008         * lib/rintl.c: New file.
5009         * m4/rintl.m4: New file.
5010         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
5011         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
5012         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
5013         * modules/rintl: New file.
5014         * tests/test-math-c++.cc: Check the declaration of rintl.
5015         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5016         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
5017         * doc/posix-functions/rintl.texi: Mention the new module.
5018
5019 2011-10-09  Bruno Haible  <bruno@clisp.org>
5020
5021         Tests for module 'rintf'.
5022         * modules/rintf-tests: New file.
5023         * tests/test-rintf.c: New file.
5024
5025         New module 'rintf'.
5026         * lib/math.in.h (rintf): New declaration.
5027         * lib/rintf.c: New file.
5028         * m4/rintf.m4: New file.
5029         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
5030         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
5031         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
5032         * modules/rintf: New file.
5033         * tests/test-math-c++.cc: Check the declaration of rintf.
5034         * doc/posix-functions/rintf.texi: Mention the new module.
5035
5036 2011-10-09  Bruno Haible  <bruno@clisp.org>
5037
5038         rint: Support for MSVC.
5039         * lib/math.in.h (rint): New declaration.
5040         * lib/rint.c: New file.
5041         * m4/rint.m4: New file.
5042         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
5043         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
5044         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
5045         * modules/rint (Description): Fix.
5046         (Files): Add lib/rint.c, m4/rint.m4.
5047         (Depends-on): Add math.
5048         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
5049         gl_MATH_MODULE_INDICATOR.
5050         * tests/test-math-c++.cc: Check the declaration of rint.
5051         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5052         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
5053         * doc/posix-functions/rint.texi: Mention the replacement provided by
5054         the module.
5055
5056         rint tests: More tests.
5057         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
5058         minus-zero.h, infinity.h, nan.h.
5059         (main): Skip the test if the current rounding mode is not standard. Add
5060         tests for negative numbers, minus zero, infinity, NaN.
5061         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
5062         tests/nan.h.
5063         (Depends-on): Add isnand-nolibm.
5064
5065 2011-10-09  Bruno Haible  <bruno@clisp.org>
5066
5067         Tests for module 'copysignl'.
5068         * modules/copysignl-tests: New file.
5069         * tests/test-copysignl.c: New file.
5070
5071         New module 'copysignl'.
5072         * lib/math.in.h (copysignl): New declaration.
5073         * lib/copysignl.c: New file.
5074         * m4/copysignl.m4: New file.
5075         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
5076         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
5077         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
5078         HAVE_COPYSIGNL.
5079         * modules/copysignl: New file.
5080         * tests/test-math-c++.cc: Check the declaration of copysignl.
5081         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5082         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
5083         * doc/posix-functions/copysignl.texi: Mention the new module.
5084
5085 2011-10-09  Bruno Haible  <bruno@clisp.org>
5086
5087         Tests for module 'copysignf'.
5088         * modules/copysignf-tests: New file.
5089         * tests/test-copysignf.c: New file.
5090
5091         New module 'copysignf'.
5092         * lib/math.in.h (copysignf): New declaration.
5093         * lib/copysignf.c: New file.
5094         * m4/copysignf.m4: New file.
5095         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
5096         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
5097         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
5098         HAVE_COPYSIGNF.
5099         * modules/copysignf: New file.
5100         * tests/test-math-c++.cc: Check the declaration of copysignf.
5101         * doc/posix-functions/copysignf.texi: Mention the new module.
5102
5103 2011-10-09  Bruno Haible  <bruno@clisp.org>
5104
5105         Ensure that HAVE_* variables are set to 1 before they are set to 0.
5106         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
5107         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
5108         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
5109         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
5110         gl_SIGNAL_H_DEFAULTS.
5111
5112 2011-10-09  Bruno Haible  <bruno@clisp.org>
5113
5114         poll: Make macro safer.
5115         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
5116         ac_cv_header_poll_h is not set.
5117
5118 2011-10-09  Bruno Haible  <bruno@clisp.org>
5119
5120         copysign: Provide replacement.
5121         * lib/math.in.h (copysign): New declaration.
5122         * lib/copysign.c: New file.
5123         * m4/copysign.m4: New file.
5124         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
5125         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
5126         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
5127         HAVE_COPYSIGN.
5128         * modules/copysign (Description): Clarify.
5129         (Files): Add lib/copysign.c, m4/copysign.m4.
5130         (Depends-on): Add math, signbit.
5131         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
5132         gl_MATH_MODULE_INDICATOR.
5133         * tests/test-math-c++.cc: Check the declaration of copysign.
5134         * doc/posix-functions/copysign.texi: Mention the effects of the module
5135         on Minix and MSVC.
5136
5137 2011-10-09  Bruno Haible  <bruno@clisp.org>
5138
5139         isinf: Ensure macro on AIX 5.1.
5140         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
5141         macro.
5142         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
5143
5144 2011-10-09  Bruno Haible  <bruno@clisp.org>
5145
5146         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
5147         * modules/snprintf-posix-tests (configure.ac): Require
5148         gl_LONG_DOUBLE_VS_DOUBLE.
5149         * modules/sprintf-posix-tests (configure.ac): Likewise.
5150         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
5151         * modules/vasprintf-posix-tests (configure.ac): Likewise.
5152         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
5153         * modules/vsprintf-posix-tests (configure.ac): Likewise.
5154         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
5155         tests on platforms where 'long double' is the same as 'double'.
5156         * tests/test-sprintf-posix.h (test_function): Likewise.
5157         * tests/test-vasnprintf-posix.c (test_function): Likewise.
5158         * tests/test-vasprintf-posix.c (test_function): Likewise.
5159
5160         *printf: Fix for platforms where 'long double' == 'double'.
5161         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
5162         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
5163         * modules/dprintf-posix (Files): Add m4/math_h.m4.
5164         * modules/fprintf-posix (Files): Likewise.
5165         * modules/obstack-printf-posix (Files): Likewise.
5166         * modules/snprintf-posix (Files): Likewise.
5167         * modules/sprintf-posix (Files): Likewise.
5168         * modules/vasnprintf (Files): Likewise.
5169         * modules/vasnprintf-posix (Files): Likewise.
5170         * modules/vasprintf-posix (Files): Likewise.
5171         * modules/vdprintf-posix (Files): Likewise.
5172         * modules/vfprintf-posix (Files): Likewise.
5173         * modules/vsnprintf-posix (Files): Likewise.
5174         * modules/vsprintf-posix (Files): Likewise.
5175         * modules/unistdio/u8-vasnprintf (Files): Likewise.
5176         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
5177         * modules/unistdio/u16-vasnprintf (Files): Likewise.
5178         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
5179         * modules/unistdio/u32-vasnprintf (Files): Likewise.
5180         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
5181         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
5182
5183         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
5184         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
5185         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5186         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
5187         'long double'.
5188         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
5189
5190         isinf: Fix for platforms where 'long double' == 'double'.
5191         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
5192         Don't blindly assume 80-bit 'long double'.
5193
5194         isfinite: Fix for platforms where 'long double' == 'double'.
5195         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
5196         Don't blindly assume 80-bit 'long double'.
5197
5198         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
5199         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
5200         * modules/isfinite-tests (configure.ac): Require
5201         gl_LONG_DOUBLE_VS_DOUBLE.
5202         * modules/isinf-tests (configure.ac): Likewise.
5203         * modules/isnan-tests (configure.ac): Likewise.
5204         * modules/isnanl-tests (configure.ac): Likewise.
5205         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
5206         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
5207         tests on platforms where 'long double' is the same as 'double'.
5208         * tests/test-isinf.c (test_isinfl): Likewise.
5209         * tests/test-isnan.c (test_long_double): Likewise.
5210         * tests/test-isnanl.h (main): Likewise.
5211
5212 2011-10-08  Bruno Haible  <bruno@clisp.org>
5213
5214         Tests for module 'tanhf'.
5215         * modules/tanhf-tests: New file.
5216         * tests/test-tanhf.c: New file.
5217
5218         New module 'tanhf'.
5219         * lib/math.in.h (tanhf): New declaration.
5220         * lib/tanhf.c: New file.
5221         * m4/tanhf.m4: New file.
5222         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
5223         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
5224         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
5225         * modules/tanhf: New file.
5226         * tests/test-math-c++.cc: Check the declaration of tanhf.
5227         * doc/posix-functions/tanhf.texi: Mention the new module.
5228
5229         tanh: Use a .m4 file.
5230         * m4/tanh.m4: New file.
5231         * modules/tanh (Files): Add it.
5232         (configure.ac): Just invoke gl_FUNC_TANH.
5233
5234 2011-10-08  Bruno Haible  <bruno@clisp.org>
5235
5236         Tests for module 'coshf'.
5237         * modules/coshf-tests: New file.
5238         * tests/test-coshf.c: New file.
5239
5240         New module 'coshf'.
5241         * lib/math.in.h (coshf): New declaration.
5242         * lib/coshf.c: New file.
5243         * m4/coshf.m4: New file.
5244         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
5245         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
5246         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
5247         * modules/coshf: New file.
5248         * tests/test-math-c++.cc: Check the declaration of coshf.
5249         * doc/posix-functions/coshf.texi: Mention the new module.
5250
5251         cosh: Use a .m4 file.
5252         * m4/cosh.m4: New file.
5253         * modules/cosh (Files): Add it.
5254         (configure.ac): Just invoke gl_FUNC_COSH.
5255
5256 2011-10-08  Bruno Haible  <bruno@clisp.org>
5257
5258         Tests for module 'sinhf'.
5259         * modules/sinhf-tests: New file.
5260         * tests/test-sinhf.c: New file.
5261
5262         New module 'sinhf'.
5263         * lib/math.in.h (sinhf): New declaration.
5264         * lib/sinhf.c: New file.
5265         * m4/sinhf.m4: New file.
5266         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
5267         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
5268         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
5269         * modules/sinhf: New file.
5270         * tests/test-math-c++.cc: Check the declaration of sinhf.
5271         * doc/posix-functions/sinhf.texi: Mention the new module.
5272
5273         sinh: Use a .m4 file.
5274         * m4/sinh.m4: New file.
5275         * modules/sinh (Files): Add it.
5276         (configure.ac): Just invoke gl_FUNC_SINH.
5277
5278 2011-10-08  Bruno Haible  <bruno@clisp.org>
5279
5280         Tests for module 'atan2f'.
5281         * modules/atan2f-tests: New file.
5282         * tests/test-atan2f.c: New file.
5283
5284         New module 'atan2f'.
5285         * lib/math.in.h (atan2f): New declaration.
5286         * lib/atan2f.c: New file.
5287         * m4/atan2f.m4: New file.
5288         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
5289         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
5290         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
5291         * modules/atan2f: New file.
5292         * tests/test-math-c++.cc: Check the declaration of atan2f.
5293         * doc/posix-functions/atan2f.texi: Mention the new module.
5294
5295         atan2: Use a .m4 file.
5296         * m4/atan2.m4: New file.
5297         * modules/atan2 (Files): Add it.
5298         (configure.ac): Just invoke gl_FUNC_ATAN2.
5299
5300 2011-10-08  Bruno Haible  <bruno@clisp.org>
5301
5302         Tests for module 'atanf'.
5303         * modules/atanf-tests: New file.
5304         * tests/test-atanf.c: New file.
5305
5306         New module 'atanf'.
5307         * lib/math.in.h (atanf): New declaration.
5308         * lib/atanf.c: New file.
5309         * m4/atanf.m4: New file.
5310         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
5311         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
5312         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
5313         * modules/atanf: New file.
5314         * tests/test-math-c++.cc: Check the declaration of atanf.
5315         * doc/posix-functions/atanf.texi: Mention the new module.
5316
5317         atan: Use a .m4 file.
5318         * m4/atan.m4: New file.
5319         * modules/atan (Files): Add it.
5320         (configure.ac): Just invoke gl_FUNC_ATAN.
5321
5322 2011-10-08  Bruno Haible  <bruno@clisp.org>
5323
5324         Tests for module 'acosf'.
5325         * modules/acosf-tests: New file.
5326         * tests/test-acosf.c: New file.
5327
5328         New module 'acosf'.
5329         * lib/math.in.h (acosf): New declaration.
5330         * lib/acosf.c: New file.
5331         * m4/acosf.m4: New file.
5332         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
5333         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
5334         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
5335         * modules/acosf: New file.
5336         * tests/test-math-c++.cc: Check the declaration of acosf.
5337         * doc/posix-functions/acosf.texi: Mention the new module.
5338
5339         acos: Use a .m4 file.
5340         * m4/acos.m4: New file.
5341         * modules/acos (Files): Add it.
5342         (configure.ac): Just invoke gl_FUNC_ACOS.
5343
5344 2011-10-08  Bruno Haible  <bruno@clisp.org>
5345
5346         Tests for module 'asinf'.
5347         * modules/asinf-tests: New file.
5348         * tests/test-asinf.c: New file.
5349
5350         New module 'asinf'.
5351         * lib/math.in.h (asinf): New declaration.
5352         * lib/asinf.c: New file.
5353         * m4/asinf.m4: New file.
5354         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
5355         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
5356         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
5357         * modules/asinf: New file.
5358         * tests/test-math-c++.cc: Check the declaration of asinf.
5359         * doc/posix-functions/asinf.texi: Mention the new module.
5360
5361         asin: Use a .m4 file.
5362         * m4/asin.m4: New file.
5363         * modules/asin (Files): Add it.
5364         (configure.ac): Just invoke gl_FUNC_ASIN.
5365
5366 2011-10-08  Bruno Haible  <bruno@clisp.org>
5367
5368         Tests for module 'tanf'.
5369         * modules/tanf-tests: New file.
5370         * tests/test-tanf.c: New file.
5371
5372         New module 'tanf'.
5373         * lib/math.in.h (tanf): New declaration.
5374         * lib/tanf.c: New file.
5375         * m4/tanf.m4: New file.
5376         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
5377         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
5378         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
5379         * modules/tanf: New file.
5380         * tests/test-math-c++.cc: Check the declaration of tanf.
5381         * doc/posix-functions/tanf.texi: Mention the new module.
5382
5383         tan: Use a .m4 file.
5384         * m4/tan.m4: New file.
5385         * modules/tan (Files): Add it.
5386         (configure.ac): Just invoke gl_FUNC_TAN.
5387
5388 2011-10-08  Bruno Haible  <bruno@clisp.org>
5389
5390         Tests for module 'cosf'.
5391         * modules/cosf-tests: New file.
5392         * tests/test-cosf.c: New file.
5393
5394         New module 'cosf'.
5395         * lib/math.in.h (cosf): New declaration.
5396         * lib/cosf.c: New file.
5397         * m4/cosf.m4: New file.
5398         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
5399         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
5400         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
5401         * modules/cosf: New file.
5402         * tests/test-math-c++.cc: Check the declaration of cosf.
5403         * doc/posix-functions/cosf.texi: Mention the new module.
5404
5405         cos: Use a .m4 file.
5406         * m4/cos.m4: New file.
5407         * modules/cos (Files): Add it.
5408         (configure.ac): Just invoke gl_FUNC_COS.
5409
5410 2011-10-08  Bruno Haible  <bruno@clisp.org>
5411
5412         Tests for module 'sinf'.
5413         * modules/sinf-tests: New file.
5414         * tests/test-sinf.c: New file.
5415
5416         New module 'sinf'.
5417         * lib/math.in.h (sinf): New declaration.
5418         * lib/sinf.c: New file.
5419         * m4/sinf.m4: New file.
5420         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
5421         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
5422         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
5423         * modules/sinf: New file.
5424         * tests/test-math-c++.cc: Check the declaration of sinf.
5425         * doc/posix-functions/sinf.texi: Mention the new module.
5426
5427         sin: Use a .m4 file.
5428         * m4/sin.m4: New file.
5429         * modules/sin (Files): Add it.
5430         (configure.ac): Just invoke gl_FUNC_SIN.
5431
5432 2011-10-08  Bruno Haible  <bruno@clisp.org>
5433
5434         Tests for module 'powf'.
5435         * modules/powf-tests: New file.
5436         * tests/test-powf.c: New file.
5437
5438         New module 'powf'.
5439         * lib/math.in.h (powf): New declaration.
5440         * lib/powf.c: New file.
5441         * m4/powf.m4: New file.
5442         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
5443         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
5444         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
5445         * modules/powf: New file.
5446         * tests/test-math-c++.cc: Check the declaration of powf.
5447         * doc/posix-functions/powf.texi: Mention the new module.
5448
5449         pow: Use a .m4 file.
5450         * m4/pow.m4: New file.
5451         * modules/pow (Files): Add it.
5452         (configure.ac): Just invoke gl_FUNC_POW.
5453
5454 2011-10-08  Bruno Haible  <bruno@clisp.org>
5455
5456         Tests for module 'log10f'.
5457         * modules/log10f-tests: New file.
5458         * tests/test-log10f.c: New file.
5459
5460         New module 'log10f'.
5461         * lib/math.in.h (log10f): New declaration.
5462         * lib/log10f.c: New file.
5463         * m4/log10f.m4: New file.
5464         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
5465         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
5466         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
5467         * modules/log10f: New file.
5468         * tests/test-math-c++.cc: Check the declaration of log10f.
5469         * doc/posix-functions/log10f.texi: Mention the new module.
5470
5471         log10: Use a .m4 file.
5472         * m4/log10.m4: New file.
5473         * modules/log10 (Files): Add it.
5474         (configure.ac): Just invoke gl_FUNC_LOG10.
5475
5476 2011-10-08  Bruno Haible  <bruno@clisp.org>
5477
5478         Tests for module 'logf'.
5479         * modules/logf-tests: New file.
5480         * tests/test-logf.c: New file.
5481
5482         New module 'logf'.
5483         * lib/math.in.h (logf): New declaration.
5484         * lib/logf.c: New file.
5485         * m4/logf.m4: New file.
5486         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
5487         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
5488         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
5489         * modules/logf: New file.
5490         * tests/test-math-c++.cc: Check the declaration of logf.
5491         * doc/posix-functions/logf.texi: Mention the new module.
5492
5493         log: Use a .m4 file.
5494         * m4/log.m4: New file.
5495         * modules/log (Files): Add it.
5496         (configure.ac): Just invoke gl_FUNC_LOG.
5497
5498 2011-10-08  Bruno Haible  <bruno@clisp.org>
5499
5500         Tests for module 'expf'.
5501         * modules/expf-tests: New file.
5502         * tests/test-expf.c: New file.
5503
5504         New module 'expf'.
5505         * lib/math.in.h (expf): New declaration.
5506         * lib/expf.c: New file.
5507         * m4/expf.m4: New file.
5508         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
5509         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
5510         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
5511         * modules/expf: New file.
5512         * tests/test-math-c++.cc: Check the declaration of expf.
5513         * doc/posix-functions/expf.texi: Mention the new module.
5514
5515         exp: Use a .m4 file.
5516         * m4/exp.m4: New file.
5517         * modules/exp (Files): Add it.
5518         (configure.ac): Just invoke gl_FUNC_EXP.
5519
5520 2011-10-08  Bruno Haible  <bruno@clisp.org>
5521
5522         Tests for module 'sqrtf'.
5523         * modules/sqrtf-tests: New file.
5524         * tests/test-sqrtf.c: New file.
5525
5526         New module 'sqrtf'.
5527         * lib/math.in.h (sqrtf): New declaration.
5528         * lib/sqrtf.c: New file.
5529         * m4/sqrtf.m4: New file.
5530         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
5531         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
5532         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
5533         * modules/sqrtf: New file.
5534         * tests/test-math-c++.cc: Check the declaration of sqrtf.
5535         * doc/posix-functions/sqrtf.texi: Mention the new module.
5536
5537 2011-10-08  Bruno Haible  <bruno@clisp.org>
5538
5539         Tests: Avoid link failures w.r.t. libintl.
5540         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
5541         $(LIBINTL).
5542         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
5543         $(LIBINTL).
5544         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
5545         against $(LIBINTL).
5546         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
5547         $(LIBINTL).
5548         * modules/openat-tests (Makefile.am): Link test-fchmodat against
5549         $(LIBINTL).
5550         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
5551
5552 2011-10-08  Bruno Haible  <bruno@clisp.org>
5553
5554         pow tests: Defeat compiler optimizations.
5555         * tests/test-pow.c (main): Assign arguments to x and y before use.
5556
5557 2011-10-08  Bruno Haible  <bruno@clisp.org>
5558
5559         gnulib-tool: Improve last commit.
5560         * gnulib-tool (func_modules_transitive_closure): Simplify code.
5561         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
5562         ignore dependencies that are not among the modules list.
5563
5564 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
5565
5566         gnulib-tool: don't follow dependencies to avoided modules
5567         This fixes a bug that is related to the previous one.
5568         * gnulib-tool (func_modules_transitive_closure)
5569         (func_emit_autoconf_snippets):
5570         Check whether a dependency is acceptable before using it.
5571         (--extract-dependencies): Report an error if --avoid is also used,
5572         since this combination of options is not yet supported.
5573
5574         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
5575         Problem reported by Peter Dyballa in
5576         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
5577         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
5578         when echoing "$condition".
5579
5580 2011-10-07  Bruno Haible  <bruno@clisp.org>
5581
5582         Fix documentation about math functions on MacOS X.
5583         * doc/posix-functions/exp2.texi: Don't say the function is missing on
5584         MacOS X 10.5.
5585         * doc/posix-functions/fdim.texi: Likewise.
5586         * doc/posix-functions/feclearexcept.texi: Likewise.
5587         * doc/posix-functions/fegetenv.texi: Likewise.
5588         * doc/posix-functions/fegetround.texi: Likewise.
5589         * doc/posix-functions/feholdexcept.texi: Likewise.
5590         * doc/posix-functions/feraiseexcept.texi: Likewise.
5591         * doc/posix-functions/fesetenv.texi: Likewise.
5592         * doc/posix-functions/fesetround.texi: Likewise.
5593         * doc/posix-functions/fetestexcept.texi: Likewise.
5594         * doc/posix-functions/feupdateenv.texi: Likewise.
5595         * doc/posix-functions/fmax.texi: Likewise.
5596         * doc/posix-functions/fmin.texi: Likewise.
5597         * doc/posix-functions/log2.texi: Likewise.
5598         * doc/posix-functions/modff.texi: Likewise.
5599         * doc/posix-functions/nan.texi: Likewise.
5600         * doc/posix-functions/nanf.texi: Likewise.
5601         * doc/posix-functions/nextafterf.texi: Likewise.
5602         * doc/posix-functions/remquo.texi: Likewise.
5603
5604 2011-10-07  Bruno Haible  <bruno@clisp.org>
5605
5606         modff: Drop assumption about library that defines modff.
5607         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
5608         AC_CHECK_FUNCS.
5609         * modules/modff (Files): Add m4/mathfunc.m4.
5610
5611 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
5612
5613         raise tests: Avoid a GCC warning.
5614         * tests/test-raise.c (handler): Use _Noreturn.
5615
5616 2011-10-07  Bruno Haible  <bruno@clisp.org>
5617
5618         Tests for module 'ldexpf'.
5619         * modules/ldexpf-tests: New file.
5620         * tests/test-ldexpf.c: New file.
5621
5622         New module 'ldexpf'.
5623         * lib/math.in.h (ldexpf): New declaration.
5624         * lib/ldexpf.c: New file.
5625         * m4/ldexpf.m4: New file.
5626         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
5627         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
5628         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
5629         * modules/ldexpf: New file.
5630         * tests/test-math-c++.cc: Check the declaration of ldexpf.
5631         * doc/posix-functions/ldexpf.texi: Mention the new module.
5632
5633 2011-10-06  Bruno Haible  <bruno@clisp.org>
5634
5635         frexpf: Work around problems on IRIX and mingw.
5636         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
5637         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
5638         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
5639         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
5640         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
5641         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
5642         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
5643
5644 2011-10-06  Bruno Haible  <bruno@clisp.org>
5645
5646         fabsf: Drop assumption about library that defines fabsf.
5647         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
5648         AC_CHECK_FUNCS.
5649         * modules/fabsf (Files): Add m4/mathfunc.m4.
5650
5651 2011-10-06  Bruno Haible  <bruno@clisp.org>
5652
5653         frexpf: Drop assumption about library that defines frexpf.
5654         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
5655         'int *', 'float *', 'long double *', 'float', 'long double'.
5656         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
5657         AC_CHECK_FUNCS.
5658         * modules/frexpf (Files): Add m4/mathfunc.m4.
5659
5660         Tests for module 'frexpf'.
5661         * modules/frexpf-tests: New file.
5662         * tests/test-frexpf.c: New file.
5663
5664         New module 'frexpf'.
5665         * lib/math.in.h (frexpf): New declaration.
5666         * lib/frexpf.c: New file.
5667         * m4/frexpf.m4: New file.
5668         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
5669         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
5670         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
5671         * modules/frexpf: New file.
5672         * tests/test-math-c++.cc: Check the declaration of frexpf.
5673         * doc/posix-functions/frexpf.texi: Mention the new module.
5674
5675 2011-10-06  Bruno Haible  <bruno@clisp.org>
5676
5677         math: Sort function declarations of math.in.h.
5678         * lib/math.in.h (frexp, logb): Move declarations.
5679
5680 2011-10-05  Bruno Haible  <bruno@clisp.org>
5681
5682         Tests for module 'modff'.
5683         * modules/modff-tests: New file.
5684         * tests/test-modff.c: New file.
5685
5686         New module 'modff'.
5687         * lib/math.in.h (modff): New declaration.
5688         * lib/modff.c: New file.
5689         * m4/modff.m4: New file.
5690         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
5691         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
5692         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
5693         * modules/modff: New file.
5694         * tests/test-math-c++.cc: Check the declaration of modff.
5695         * doc/posix-functions/modff.texi: Mention the new module.
5696
5697         modf tests: Make test sharper.
5698         * tests/test-modf.c (main): Strengthen upper bound.
5699
5700         modf: Use a .m4 file.
5701         * m4/modf.m4: New file.
5702         * modules/modf (Files): Add it.
5703         (configure.ac): Just invoke gl_FUNC_MODF.
5704
5705 2011-10-05  Bruno Haible  <bruno@clisp.org>
5706
5707         Tests for module 'fmodf'.
5708         * modules/fmodf-tests: New file.
5709         * tests/test-fmodf.c: New file.
5710
5711         New module 'fmodf'.
5712         * lib/math.in.h (fmodf): New declaration.
5713         * lib/fmodf.c: New file.
5714         * m4/fmodf.m4: New file.
5715         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
5716         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
5717         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
5718         * modules/fmodf: New file.
5719         * tests/test-math-c++.cc: Check the declaration of fmodf.
5720         * doc/posix-functions/fmodf.texi: Mention the new module.
5721
5722         fmod: Use a .m4 file.
5723         * m4/fmod.m4: New file.
5724         * modules/fmod (Files): Add it.
5725         (configure.ac): Just invoke gl_FUNC_FMOD.
5726
5727 2011-10-05  Bruno Haible  <bruno@clisp.org>
5728
5729         Tests for module 'fabsf'.
5730         * modules/fabsf-tests: New file.
5731         * tests/test-fabsf.c: New file.
5732
5733         New module 'fabsf'.
5734         * lib/math.in.h (fabsf): New declaration.
5735         * lib/fabsf.c: New file.
5736         * m4/fabsf.m4: New file.
5737         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
5738         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
5739         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
5740         * modules/fabsf: New file.
5741         * tests/test-math-c++.cc: Check the declaration of fabsf.
5742         * doc/posix-functions/fabsf.texi: Mention the new module.
5743
5744         fabs: Use a .m4 file.
5745         * m4/fabs.m4: New file.
5746         * modules/fabs (Files): Add it.
5747         (configure.ac): Just invoke gl_FUNC_FABS.
5748
5749 2011-10-05  Jim Meyering  <meyering@redhat.com>
5750
5751         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
5752         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
5753         ls -lL regression introduced in coreutils-8.12, it does so at the
5754         cost of an additional stat call in the common case.  Besides, now
5755         that the kernel change that prompted commit 95f7c57f has been reverted
5756         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
5757         we have no use for commit 95f7c57f, "file-has-acl: use
5758         acl_extended_file_nofollow if available".
5759
5760 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
5761
5762         file-has-acl: revert unintended change in behavior of ls -L
5763         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
5764         derived from...
5765         (file_has_acl): ...code here.  Call it.
5766         This problem was introduced with 2011-07-22 commit 95f7c57f,
5767         "file-has-acl: use acl_extended_file_nofollow if available".
5768         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
5769
5770 2011-10-03  Bruno Haible  <bruno@clisp.org>
5771
5772         poll: Avoid link errors on MSVC.
5773         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
5774         * modules/poll (Depends-on): Add sockets.
5775         (Link): New section.
5776         * NEWS: Mention the change.
5777         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
5778         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
5779         $(LIB_POLL) instead of $(LIBSOCKET).
5780
5781 2011-10-03  Bruno Haible  <bruno@clisp.org>
5782
5783         sys_select tests: Fix link error on MSVC 9.
5784         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
5785         with $(LIB_SELECT) instead of $(LIBSOCKET).
5786
5787 2011-10-03  Bruno Haible  <bruno@clisp.org>
5788
5789         sys_select: Fix compilation error on mingw.
5790         * lib/sys_select.in.h: On native Windows, include <io.h>.
5791
5792 2011-10-03  Bruno Haible  <bruno@clisp.org>
5793
5794         wmemset: Support for MSVC.
5795         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
5796         whether wmemset() exists.
5797
5798 2011-10-03  Bruno Haible  <bruno@clisp.org>
5799
5800         wmemmove: Support for MSVC.
5801         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
5802         whether wmemmove() exists.
5803
5804 2011-10-03  Bruno Haible  <bruno@clisp.org>
5805
5806         wmemcpy: Support for MSVC.
5807         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
5808         whether wmemcpy() exists.
5809
5810 2011-10-03  Bruno Haible  <bruno@clisp.org>
5811
5812         wmemcmp: Support for MSVC.
5813         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
5814         whether wmemcmp() exists.
5815
5816 2011-10-03  Bruno Haible  <bruno@clisp.org>
5817
5818         wmemchr: Support for MSVC.
5819         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
5820         whether wmemchr() exists.
5821
5822 2011-10-03  Bruno Haible  <bruno@clisp.org>
5823
5824         glthread/*, strsignal: Support for MSVC.
5825         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
5826         including <winsock.h> on MSVC 9.
5827         * lib/glthread/lock.h: Likewise.
5828         * lib/glthread/thread.h: Likewise.
5829         * lib/glthread/tls.h: Likewise.
5830         * lib/glthread/yield.h: Likewise.
5831         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
5832         if HAVE_UNISTD_H is false.
5833         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
5834
5835 2011-10-03  Bruno Haible  <bruno@clisp.org>
5836
5837         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
5838         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
5839         Set to 100000.
5840
5841 2011-10-03  Bruno Haible  <bruno@clisp.org>
5842
5843         acl: Fix specification.
5844         * lib/file-has-acl.c (file_has_acl): Fix specification.
5845
5846 2011-10-03  Bruno Haible  <bruno@clisp.org>
5847
5848         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
5849         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
5850         (compute_curr_prefix, shared_library_fullname,
5851         find_shared_library_fullname, get_shared_library_fullname, relocate):
5852         Use it together with PIC && INSTALLDIR.
5853         Reported by <jojelino@gmail.com>
5854         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
5855
5856 2011-10-01  Jim Meyering  <meyering@redhat.com>
5857
5858         maint.mk: adjust a release-related rule not to require use of gzip
5859         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
5860         Instead, check each file in $(DIST_ARCHIVES).  This is better for
5861         projects that build only .tar.xz files.  Also fix an erroneous test.
5862
5863         test-linkat: don't leave behind a temporary file
5864         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
5865         Otherwise, coreutils' "make distcheck" would fail with this:
5866           Only in /c/cu/tests/torture/coreutils/test/\
5867             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
5868           make[2]: *** [my-distcheck] Error 1
5869
5870         float, math: add omitted file
5871         * lib/itold.c: Add file, required for yesterday's float change.
5872
5873 2011-10-01  Bruno Haible  <bruno@clisp.org>
5874
5875         isinf: Fix for OpenBSD/x86.
5876         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
5877         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
5878         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
5879
5880 2011-10-01  Bruno Haible  <bruno@clisp.org>
5881
5882         isfinite: Fix syntax error in configure test.
5883         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
5884
5885         isfinite: Fix typo.
5886         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
5887         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
5888
5889 2011-10-01  Bruno Haible  <bruno@clisp.org>
5890
5891         nonblocking tests: Fix test failure on Linux/IA-64.
5892         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
5893         Set to 270000.
5894
5895 2011-10-01  Bruno Haible  <bruno@clisp.org>
5896
5897         mkfifoat tests: Fix a test failure on mingw.
5898         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
5899         with error ENOSYS.
5900
5901 2011-09-30  Bruno Haible  <bruno@clisp.org>
5902
5903         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
5904         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
5905         'long double'. Set REPLACE_ITOLD.
5906         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
5907         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
5908         * lib/itold.c: New file.
5909         * modules/float (Files): Add lib/itold.c.
5910         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
5911         (Makefile.am): Substitute REPLACE_ITOLD.
5912         * modules/math (Depends-on): Add float.
5913         (Makefile.am): Substitute REPLACE_ITOLD.
5914         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
5915         * doc/posix-headers/math.texi: Likewise.
5916         * doc/posix-functions/logl.texi: Likewise.
5917
5918 2011-09-30  Bruno Haible  <bruno@clisp.org>
5919
5920         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
5921         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
5922         Set to 140000.
5923
5924 2011-09-30  Bruno Haible  <bruno@clisp.org>
5925
5926         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
5927         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
5928         invocation, say "right after AC_PROG_CC_STDC", not "right after
5929         AC_PROG_CC".
5930         Reported by Gary V. Vaughan <gary@gnu.org>.
5931
5932 2011-09-30  Bruno Haible  <bruno@clisp.org>
5933
5934         Centralize C99 requirement.
5935         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
5936         * modules/stdarg (configure.ac-early): Invoke it instead of
5937         AC_PROG_CC_STDC.
5938         Reported by Gary V. Vaughan and Paul Eggert.
5939
5940 2011-09-29  Bruno Haible  <bruno@clisp.org>
5941
5942         float: Fix LDBL_MAX value on Linux/PowerPC.
5943         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
5944         on Linux/PowerPC.
5945         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
5946         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
5947         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
5948         platform.
5949         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
5950
5951 2011-09-29  Bruno Haible  <bruno@clisp.org>
5952
5953         doc: Improve doc about gl_EARLY.
5954         * doc/gnulib-tool.texi (Initial import): Mention where to place an
5955         AC_PROG_CC_STDC invocation.
5956         Reported by Gary V. Vaughan <gary@gnu.org>.
5957
5958 2011-09-28  Bruno Haible  <bruno@clisp.org>
5959
5960         fgetc, fputc, fread, fwrite tests: Fix link error.
5961         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
5962         on non-MSVC platforms.
5963         * tests/test-fputc.c (main): Likewise.
5964         * tests/test-fread.c (main): Likewise.
5965         * tests/test-fwrite.c (main): Likewise.
5966         Reported by Jim Meyering.
5967
5968 2011-09-27  Bruno Haible  <bruno@clisp.org>
5969
5970         fputc, fwrite tests: Avoid test failure on MSVC.
5971         * tests/test-fgetc.c: Include msvc-inval.h.
5972         (main): Invoke gl_msvc_inval_ensure_handler.
5973         * tests/test-fputc.c: Include msvc-inval.h.
5974         (main): Invoke gl_msvc_inval_ensure_handler.
5975         * tests/test-fread.c: Include msvc-inval.h.
5976         (main): Invoke gl_msvc_inval_ensure_handler.
5977         * tests/test-fwrite.c: Include msvc-inval.h.
5978         (main): Invoke gl_msvc_inval_ensure_handler.
5979         * modules/fgetc-tests (Depends-on): Add msvc-inval.
5980         * modules/fputc-tests (Depends-on): Likewise.
5981         * modules/fread-tests (Depends-on): Likewise.
5982         * modules/fwrite-tests (Depends-on): Likewise.
5983
5984 2011-09-27  Bruno Haible  <bruno@clisp.org>
5985
5986         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
5987         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
5988         (raise): Remove older, duplicated declaration.
5989         (_gl_raise_SIGPIPE): New declaration.
5990         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
5991         (rpl_raise): Remove function.
5992         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
5993         a gnulib-defined SIGPIPE here.
5994         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
5995         'sigprocmask' has detected missing signal-blocking and the module
5996         'sigpipe' is enabled.
5997         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
5998
5999 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
6000
6001         base64-tests: avoid memory leak
6002         * tests/test-base64.c (main): Plug memory leak.
6003
6004         base32: new module
6005         * modules/base32: New module.
6006         * lib/base32.c: New file.
6007         * lib/base32.h: Likewise.
6008         * m4/base32.m4: Likewise.
6009         * modules/base32-tests: New test.
6010         * tests/test-base32.c: Likewise.
6011         * MODULES.html.sh (Misc): Mention it.
6012
6013 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
6014
6015         gnulib: use more-standard license notice wording
6016         * gnulib-tool (func_emit_copyright_notice): When emitting a
6017         license notice into a file, use the standard wording as suggested
6018         by the current information for GNU maintainers, except say "file"
6019         rather than "program".  The new wording gives a license version
6020         number, which addresses an issue raised by Glenn Morris in
6021         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
6022         * m4/onceonly.m4: Use that same wording here, too.
6023
6024         dup2: minor simplification
6025         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
6026         as lib/dup2.c no longer uses 'inline'.
6027
6028 2011-09-25  Bruno Haible  <bruno@clisp.org>
6029
6030         strings: Fix compilation error on MSVC.
6031         * lib/strings.in.h: Include <stddef.h> for size_t.
6032
6033 2011-09-25  Bruno Haible  <bruno@clisp.org>
6034
6035         fflush et al.: Document limitation on MSVC.
6036         * doc/posix-functions/fflush.texi: Document possible crash in handling
6037         mode other than DEFAULT_HANDLING.
6038         * doc/posix-functions/fgetc.texi: Likewise.
6039         * doc/posix-functions/fputc.texi: Likewise.
6040         * doc/posix-functions/fread.texi: Likewise.
6041         * doc/posix-functions/fwrite.texi: Likewise.
6042
6043 2011-09-25  Bruno Haible  <bruno@clisp.org>
6044
6045         msvc-inval: Allow three invalid parameter handling modes.
6046         * lib/msvc-inval.h: Don't include <stdlib.h> here.
6047         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
6048         macros.
6049         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
6050         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
6051         SANE_LIBRARY_HANDLING as a no-op.
6052         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
6053         <stdlib.h>.
6054         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
6055
6056 2011-09-25  Bruno Haible  <bruno@clisp.org>
6057
6058         msvc-inval: Make handler multithread-safe.
6059         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
6060         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
6061         declarations.
6062         (gl_msvc_inval_current): New declaration.
6063         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
6064         Operate on the structure returned by gl_msvc_inval_current().
6065         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
6066         Remove varaiables.
6067         (tls_index, tls_initialized): New variables.
6068         (not_per_thread): New variable.
6069         (gl_msvc_inval_current): New function.
6070         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
6071         returned by gl_msvc_inval_current().
6072
6073 2011-09-25  Bruno Haible  <bruno@clisp.org>
6074
6075         msvc-inval: Install handler globally.
6076         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
6077         !_MSC_VER.
6078         (gl_msvc_invalid_parameter_handler): Remove declaration.
6079         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
6080         declarations.
6081         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
6082         Install the handler globally, don't uninstall it.
6083         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
6084         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
6085         currently valid, call RaiseException instead.
6086         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
6087         for !_MSC_VER.
6088
6089 2011-09-25  Bruno Haible  <bruno@clisp.org>
6090
6091         strerror_r-posix: Fix for MSVC 9.
6092         * lib/strerror_r.c (local_snprintf): New function.
6093         (snprintf): Define to local_snprintf, not to _snprintf.
6094
6095 2011-09-25  Bruno Haible  <bruno@clisp.org>
6096
6097         ftruncate: Support for MSVC 9.
6098         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
6099         (chsize_nothrow): New function.
6100         (chsize): Redefine as a macro.
6101         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
6102         * modules/ftruncate (Depends-on): Add msvc-inval.
6103
6104 2011-09-25  Bruno Haible  <bruno@clisp.org>
6105
6106         New module 'fstat'.
6107         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
6108         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
6109         * lib/fchdir.c (rpl_fstat): Remove function.
6110         * m4/fstat.m4: New file.
6111         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
6112         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
6113         declared.
6114         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
6115         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
6116         * modules/fstat: New file.
6117         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
6118         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
6119         is set.
6120         * doc/posix-functions/fstat.texi: Mention the new module and the
6121         problem on MSVC.
6122         * NEWS: Mention the change.
6123         * modules/acl (Depends-on): Add fstat.
6124         * modules/chdir-safer (Depends-on): Likewise.
6125         * modules/chown (Depends-on): Likewise.
6126         * modules/copy-file (Depends-on): Likewise.
6127         * modules/fchdir (Depends-on): Likewise.
6128         * modules/fdopendir (Depends-on): Likewise.
6129         * modules/fopen (Depends-on): Likewise.
6130         * modules/fts (Depends-on): Likewise.
6131         * modules/getcwd (Depends-on): Likewise.
6132         * modules/isapipe (Depends-on): Likewise.
6133         * modules/linkat (Depends-on): Likewise.
6134         * modules/lseek (Depends-on): Likewise.
6135         * modules/mkdir-p (Depends-on): Likewise.
6136         * modules/open (Depends-on): Likewise.
6137         * modules/openat (Depends-on): Likewise.
6138         * modules/read-file (Depends-on): Likewise.
6139         * modules/renameat (Depends-on): Likewise.
6140         * modules/utimens (Depends-on): Likewise.
6141
6142 2011-09-25  Bruno Haible  <bruno@clisp.org>
6143
6144         linkat: Fix compilation on MSVC 9.
6145         * lib/linkat.c: Don't include <stdint.h>.
6146
6147 2011-09-25  Bruno Haible  <bruno@clisp.org>
6148
6149         fclose: Support for MSVC 9.
6150         * lib/fclose.c: Include msvc-inval.h.
6151         (fclose_nothrow): New function.
6152         (rpl_fclose): Use it.
6153         * modules/fclose (Depends-on): Add msvc-inval.
6154         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
6155
6156 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
6157
6158         dup2: minor simplifications
6159         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
6160         that it's a performance win.
6161         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
6162         ! defined __CYGWIN__)" to "ifdef F_GETFL".
6163
6164 2011-09-24  Jim Meyering  <meyering@redhat.com>
6165
6166         test-futimens: avoid a warning from gcc -Wshadow
6167         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
6168         to avoid a shadowing warning.
6169
6170 2011-09-24  Bruno Haible  <bruno@clisp.org>
6171
6172         fdopen: Support for MSVC 9.
6173         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
6174         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
6175         * lib/fdopen.c: Include msvc-inval.h.
6176         (fdopen_nothrow): New function.
6177         (rpl_fdopen): Use it.
6178         * modules/fdopen (Depends-on): Add msvc-inval.
6179         * modules/fclose-tests (Depends-on): Add fdopen.
6180         * modules/fflush-tests (Depends-on): Likewise.
6181         * modules/fgetc-tests (Depends-on): Likewise.
6182         * modules/fputc-tests (Depends-on): Likewise.
6183         * modules/fread-tests (Depends-on): Likewise.
6184         * modules/freopen-tests (Depends-on): Likewise.
6185         * modules/fseeko-tests (Depends-on): Likewise.
6186         * modules/ftello-tests (Depends-on): Likewise.
6187         * modules/fwrite-tests  (Depends-on): Likewise.
6188         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
6189
6190 2011-09-24  Bruno Haible  <bruno@clisp.org>
6191
6192         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
6193         * modules/fgetc-tests (Depends-on): Add unistd.
6194         * modules/fputc-tests (Depends-on): Likewise.
6195         * modules/fread-tests (Depends-on): Likewise.
6196         * modules/fwrite-tests (Depends-on): Likewise.
6197
6198 2011-09-24  Bruno Haible  <bruno@clisp.org>
6199
6200         dup: Simplify autoconf test.
6201         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
6202         on gl_MSVC_INVAL's result.
6203
6204 2011-09-24  Bruno Haible  <bruno@clisp.org>
6205
6206         Tests for function fwrite().
6207         * modules/fwrite-tests: New file.
6208         * tests/test-fwrite.c: New file.
6209         * modules/stdio-tests (Depends-on): Add fwrite-tests.
6210
6211         Tests for function fread().
6212         * modules/fread-tests: New file.
6213         * tests/test-fread.c: New file.
6214         * modules/stdio-tests (Depends-on): Add fread-tests.
6215
6216         Activate fputc tests.
6217         * modules/stdio-tests (Depends-on): Add fputc-tests.
6218
6219         Enhance fgetc, fputc tests.
6220         * tests/test-fgetc.c (main): Also test the stream's error indicator.
6221         * tests/test-fputc.c (main): Likewise.
6222
6223 2011-09-24  Bruno Haible  <bruno@clisp.org>
6224
6225         write: Support for MSVC 9.
6226         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
6227         is not 1.
6228         * lib/write.c (write_nothrow): New function.
6229         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
6230         not 1. Use write_nothrow.
6231         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
6232         invalid parameter handler.
6233         (gl_PREREQ_WRITE): New macro.
6234         * modules/write (Depends-on): Add msvc-inval.
6235         (configure.ac): Invoke gl_PREREQ_WRITE.
6236         * doc/posix-functions/write.texi: Mention the problem on MSVC.
6237
6238 2011-09-24  Bruno Haible  <bruno@clisp.org>
6239
6240         read: Fix last commit.
6241         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
6242
6243 2011-09-24  Bruno Haible  <bruno@clisp.org>
6244
6245         dup2: Fix last commit.
6246         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
6247         (rpl_dup2): Disable fcntl workaround on native Windows.
6248
6249         sigprocmask: Make code safer.
6250         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
6251         section that changes macro definitions for this compilation unit.
6252
6253 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
6254
6255         dup2: clarify by coalescing Windows-specific material
6256         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
6257         "msvc-nothrow.h"' to the Windows-specific section, so that the
6258         Emacs source need not contain these include files.
6259         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
6260         Windows-specific fixes into this function rather than just the
6261         nothrow fix, as this shortens and clarifies the code.  Always
6262         define as a function, as that's a bit cleaner than having it be
6263         sometimes a function and sometimes a macro.
6264         (rpl_dup2): Move the Windows-specific stuff out of here and into
6265         ms_windows_dup2.  Don't protect the Haiku-related fix with
6266         "#if !defined __linux__", as the same code also works around
6267         a Linux kernel bug, and it doesn't add any system calls on any
6268         platform.  Add comment about FreeBSD 6.1.
6269
6270         sigprocmask: move #include directive
6271         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
6272         Windows-specific section, so that the Emacs source need not
6273         contain msvc-inval.h.
6274
6275 2011-09-23  Bruno Haible  <bruno@clisp.org>
6276
6277         read: Support for MSVC 9.
6278         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
6279         is not 1.
6280         * lib/read.c (read_nothrow): New function.
6281         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
6282         read_nothrow.
6283         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
6284         invalid parameter handler.
6285         (gl_PREREQ_READ): New macro.
6286         * modules/read (Depends-on): Add msvc-inval.
6287         (configure.ac): Invoke gl_PREREQ_READ.
6288         * doc/posix-functions/read.texi: Mention the problem on MSVC.
6289
6290 2011-09-23  Bruno Haible  <bruno@clisp.org>
6291
6292         close: Support for MSVC 9.
6293         * lib/close.c: Include <errno.h>, msvc-inval.h.
6294         (close_nothrow): New function.
6295         (rpl_close): Use it.
6296         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
6297         invalid parameter handler.
6298         * modules/close (Depends-on): Add msvc-inval.
6299         * modules/dup2-tests (Depends-on): Add close.
6300         * modules/dup3-tests (Depends-on): Likewise.
6301         * modules/fcntl-tests (Depends-on): Likewise.
6302         * modules/spawn-pipe-tests (Depends-on): Likewise.
6303         * modules/unistd-safer-tests (Depends-on): Likewise.
6304         * doc/posix-functions/close.texi: Mention the problem on MSVC.
6305
6306 2011-09-23  Bruno Haible  <bruno@clisp.org>
6307
6308         New module 'dup'.
6309         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
6310         Allow replacement.
6311         * lib/dup.c: New file.
6312         * lib/fchdir.c (rpl_dup): Remove function.
6313         * m4/dup.m4: New file.
6314         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
6315         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
6316         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
6317         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
6318         * modules/dup: New file.
6319         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
6320         'dup' module is in use.
6321         * modules/fdopendir (Depends-on): Add dup.
6322         * modules/fdutimensat-tests (Depends-on): Likewise.
6323         * modules/fts (Depends-on): Likewise.
6324         * modules/futimens-tests (Depends-on): Likewise.
6325         * modules/posix_spawnp-tests (Depends-on): Likewise.
6326         * modules/unistd-safer-tests (Depends-on): Likewise.
6327         * modules/utimens-tests (Depends-on): Likewise.
6328         * doc/posix-functions/dup.texi: Mention the new module and the problem
6329         on MSVC.
6330
6331 2011-09-23  Bruno Haible  <bruno@clisp.org>
6332
6333         getdtablesize: Support for MSVC 9.
6334         * lib/getdtablesize.c: Include msvc-inval.h.
6335         (_setmaxstdio_nothrow): New function.
6336         (_setmaxstdio): Redefine it.
6337         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
6338         * modules/getdtablesize (Depends-on): Add msvc-inval.
6339         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
6340
6341 2011-09-23  Bruno Haible  <bruno@clisp.org>
6342
6343         signal-h: Rename from signal.
6344         * modules/signal-h: Renamed from modules/signal.
6345         * modules/pthread_sigmask (Depends-on): Update.
6346         * modules/raise (Depends-on): Likewise.
6347         * modules/sigaction (Depends-on): Likewise.
6348         * modules/sigpipe (Depends-on): Likewise.
6349         * modules/sigprocmask (Depends-on): Likewise.
6350         * modules/sys_select (Depends-on): Likewise.
6351         * modules/signal-h-tests: Renamed from modules/signal-tests.
6352         (Files, Depends-on, Makefile.am): Update.
6353         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
6354         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
6355         (Files, Makefile.am): Update.
6356         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
6357         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
6358         * modules/signal: New placeholder file.
6359         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
6360         * doc/posix-headers/signal.texi: Update.
6361         * NEWS: Mention the change.
6362
6363 2011-09-23  Bruno Haible  <bruno@clisp.org>
6364
6365         sigprocmask: Avoid crashes through signal() on MSVC 9.
6366         * lib/sigprocmask.c: Include msvc-inval.h.
6367         (signal_nothrow): New function.
6368         (signal): Redefine it.
6369         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
6370         * modules/sigprocmask (Depends-on): Add msvc-inval.
6371         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
6372
6373 2011-09-23  Bruno Haible  <bruno@clisp.org>
6374
6375         Tests for module 'raise'.
6376         * modules/raise-tests: New file.
6377         * tests/test-raise.c: New file.
6378
6379         raise: Support for MSVC.
6380         * lib/signal.in.h (raise): New declaration.
6381         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
6382         for native Windows platforms.
6383         * m4/raise.m4: New file.
6384         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
6385         HAVE_RAISE, REPLACE_RAISE.
6386         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
6387         REPLACE_RAISE.
6388         * modules/raise (Status, Notice): Remove fields.
6389         (Files): Add m4/raise.m4.
6390         (Depends-on): Add signal, msvc-inval.
6391         (configure.ac): Use the common idioms.
6392         (Maintainer): Add me.
6393         * tests/test-signal-c++.cc: Check the signature of raise.
6394         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
6395
6396 2011-09-23  Bruno Haible  <bruno@clisp.org>
6397
6398         pipe2: Fix compilation on pre-C99 compilers.
6399         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
6400
6401 2011-09-23  Bruno Haible  <bruno@clisp.org>
6402
6403         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
6404         * lib/msvc-nothrow.h: New file.
6405         * lib/msvc-nothrow.c: New file.
6406         * m4/msvc-nothrow.m4: New file.
6407         * modules/msvc-nothrow: New file.
6408         * lib/dup2.c: Include msvc-nothrow.h.
6409         (rpl_dup2): No need to protect _get_osfhandle call here.
6410         * lib/accept4.c: Include msvc-nothrow.h.
6411         * lib/error.c: Likewise.
6412         * lib/fcntl.c: Likewise.
6413         * lib/lseek.c: Likewise.
6414         * lib/nonblocking.c: Likewise.
6415         * lib/poll.c: Likewise.
6416         * lib/read.c: Likewise.
6417         * lib/select.c: Likewise.
6418         * lib/sockets.h: Likewise.
6419         * lib/sockets.c: Likewise.
6420         * lib/stdio-read.c: Likewise.
6421         * lib/stdio-write.c: Likewise.
6422         * lib/write.c: Likewise.
6423         * lib/w32sock.h: Likewise.
6424         * lib/w32spawn.h: Likewise.
6425         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
6426         * lib/fsync.c: Likewise.
6427         * lib/isapipe.c: Likewise.
6428         * modules/dup2 (Depends-on): Add msvc-nothrow.
6429         * modules/accept4 (Depends-on): Likewise.
6430         * modules/error (Depends-on): Likewise.
6431         * modules/fcntl (Depends-on): Likewise.
6432         * modules/lseek (Depends-on): Likewise.
6433         * modules/nonblocking (Depends-on): Likewise.
6434         * modules/poll (Depends-on): Likewise.
6435         * modules/read (Depends-on): Likewise.
6436         * modules/select (Depends-on): Likewise.
6437         * modules/sockets (Depends-on): Likewise.
6438         * modules/sigpipe (Depends-on): Likewise.
6439         * modules/write (Depends-on): Likewise.
6440         * modules/accept (Depends-on): Likewise.
6441         * modules/bind (Depends-on): Likewise.
6442         * modules/connect (Depends-on): Likewise.
6443         * modules/gethostname (Depends-on): Likewise.
6444         * modules/getpeername (Depends-on): Likewise.
6445         * modules/getsockname (Depends-on): Likewise.
6446         * modules/getsockopt (Depends-on): Likewise.
6447         * modules/ioctl (Depends-on): Likewise.
6448         * modules/listen (Depends-on): Likewise.
6449         * modules/recv (Depends-on): Likewise.
6450         * modules/recvfrom (Depends-on): Likewise.
6451         * modules/send (Depends-on): Likewise.
6452         * modules/sendto (Depends-on): Likewise.
6453         * modules/setsockopt (Depends-on): Likewise.
6454         * modules/shutdown (Depends-on): Likewise.
6455         * modules/socket (Depends-on): Likewise.
6456         * modules/execute (Depends-on): Likewise.
6457         * modules/spawn-pipe (Depends-on): Likewise.
6458         * modules/flock (Depends-on): Likewise.
6459         * modules/fsync (Depends-on): Likewise.
6460         * modules/isapipe (Depends-on): Likewise.
6461         * tests/test-cloexec.c: Include msvc-nothrow.h.
6462         * tests/test-dup-safer.c: Likewise.
6463         * tests/test-dup2.c: Likewise.
6464         * tests/test-dup3.c: Likewise.
6465         * tests/test-fcntl.c: Likewise.
6466         * tests/test-pipe.c: Likewise.
6467         * tests/test-pipe2.c: Likewise.
6468         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
6469         * modules/unistd-safer-tests (Depends-on): Likewise.
6470         * modules/dup2-tests (Depends-on): Likewise.
6471         * modules/dup3-tests (Depends-on): Likewise.
6472         * modules/fcntl-tests (Depends-on): Likewise.
6473         * modules/pipe-posix-tests (Depends-on): Likewise.
6474         * modules/pipe2-tests (Depends-on): Likewise.
6475
6476 2011-09-23  Bruno Haible  <bruno@clisp.org>
6477
6478         dup2: Make code more maintainable.
6479         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
6480         (rpl_dup2): Use it.
6481         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
6482         * modules/dup2 (configure.ac): Invoke it.
6483         Reported by Paul Eggert.
6484
6485 2011-09-23  Bruno Haible  <bruno@clisp.org>
6486
6487         msvc-inval: Fix compilation error.
6488         * lib/msvc-inval.h: Include <excpt.h>.
6489
6490 2011-09-23  Bruno Haible  <bruno@clisp.org>
6491
6492         mkdir: Tweak for MSVC 9.
6493         * lib/sys_stat.in.h: Update comments.
6494         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
6495
6496         Tests for module 'chdir'.
6497         * modules/chdir-tests: New file.
6498         * tests/test-chdir.c: New file.
6499
6500         New module 'chdir'.
6501         * modules/chdir: New file.
6502         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
6503         (chdir): New declaration.
6504         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
6505         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
6506         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
6507         * tests/test-unistd-c++.cc: Check signature of chdir.
6508         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
6509         * modules/chdir-long (Depends-on): Add chdir.
6510         * modules/fchdir (Depends-on): Likewise.
6511         * modules/rename (Depends-on): Likewise.
6512         * modules/savewd (Depends-on): Likewise.
6513
6514         rmdir: Support for mingw, MSVC 9.
6515         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
6516         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
6517
6518         getcwd: Tweak for MSVC 9.
6519         * lib/unistd.in.h: Update comments.
6520         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
6521
6522 2011-09-22  Bruno Haible  <bruno@clisp.org>
6523
6524         strerror_r-posix: Avoid a link error on MSVC.
6525         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
6526         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
6527
6528 2011-09-22  Bruno Haible  <bruno@clisp.org>
6529
6530         select: Avoid link errors on MSVC.
6531         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
6532         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
6533         * modules/pselect (Link): Likewise.
6534         * NEWS: Mention the change.
6535         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
6536         test-select-stdin against $(LIB_SELECT).
6537         * modules/pselect-tests (Makefile.am): Link test-pselect against
6538         $(LIB_SELECT).
6539
6540 2011-09-22  Bruno Haible  <bruno@clisp.org>
6541
6542         select: Avoid compilation error on MSVC.
6543         * lib/select.c: Don't include <stdbool.h>.
6544
6545 2011-09-21  Bruno Haible  <bruno@clisp.org>
6546
6547         Consolidate all uses of PATH_MAX in *.m4 files.
6548         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
6549         macros.
6550         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
6551         and gl_PATHMAX_SNIPPET.
6552         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
6553         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6554         * modules/chdir-long (Files): Add m4/pathmax.m4.
6555         * modules/getcwd (Files): Likewise.
6556
6557 2011-09-21  Bruno Haible  <bruno@clisp.org>
6558
6559         ftruncate: Un-deprecate, concentrate on Win32 support.
6560         * modules/ftruncate (Status, Notice): Remove sections.
6561         (Depends-on): Add largefile.
6562         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
6563         non-mingw platforms.
6564         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
6565         include <io.h>.
6566         * modules/perror-tests (Depends-on): Add ftruncate.
6567         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
6568         'ftruncate' module.
6569
6570 2011-09-21  Bruno Haible  <bruno@clisp.org>
6571
6572         Add dependencies to new dirent related modules.
6573         * modules/opendir (Depends-on): Add closedir.
6574         * modules/getcwd (Depends-on): Add opendir, closedir.
6575         * modules/dirent-safer-tests (Depends-on): Likewise.
6576         * modules/fdopendir-tests (Depends-on): Likewise.
6577         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
6578         * modules/renameat-tests (Depends-on): Likewise.
6579
6580 2011-09-21  Bruno Haible  <bruno@clisp.org>
6581
6582         opendir: Avoid compilation error on mingw.
6583         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
6584         * modules/opendir (Depends-on): Add unistd.
6585
6586 2011-09-21  Bruno Haible  <bruno@clisp.org>
6587
6588         ftruncate tests: Avoid a test failure on mingw.
6589         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
6590
6591 2011-09-21  Bruno Haible  <bruno@clisp.org>
6592
6593         select tests: Avoid test failures on OSF/1 5.1 and mingw.
6594         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
6595         native Windows.
6596
6597 2011-09-21  Bruno Haible  <bruno@clisp.org>
6598
6599         New module 'fdopen'.
6600         * lib/stdio.in.h (fdopen): New declaration.
6601         * lib/fdopen.c: New file.
6602         * m4/fdopen.m4: New file.
6603         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
6604         REPLACE_FDOPEN.
6605         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
6606         REPLACE_FDOPEN.
6607         * modules/fdopen: New file.
6608         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
6609         * tests/test-stdio-c++.cc: Check signature of fdopen.
6610         * doc/posix-functions/fdopen.texi: Mention the new module.
6611
6612 2011-09-21  Bruno Haible  <bruno@clisp.org>
6613
6614         unlockpt tests: Avoid test failure on NetBSD 5.1.
6615         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
6616         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
6617
6618 2011-09-21  Bruno Haible  <bruno@clisp.org>
6619
6620         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
6621         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
6622         * tests/test-getlogin_r.c (main): Likewise.
6623
6624 2011-09-20  Bruno Haible  <bruno@clisp.org>
6625
6626         time tests: Don't require pid_t.
6627         * doc/posix-headers/time.texi: Revert last change.
6628         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
6629         * tests/test-time.c: Comment out the check for pid_t.
6630
6631 2011-09-20  Bruno Haible  <bruno@clisp.org>
6632
6633         fsync tests: Avoid a test failure on mingw.
6634         * tests/test-fsync.c (main): Allow a failure with EIO.
6635
6636 2011-09-20  Bruno Haible  <bruno@clisp.org>
6637
6638         euidaccess: Update comments.
6639         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
6640
6641 2011-09-20  Bruno Haible  <bruno@clisp.org>
6642
6643         Ensure EBADF returns for socket functions on mingw.
6644         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
6645         descriptor is invalid.
6646         * lib/bind.c (rpl_bind): Likewise.
6647         * lib/connect.c (rpl_connect): Likewise.
6648         * lib/getpeername.c (rpl_getpeername): Likewise.
6649         * lib/getsockname.c (rpl_getsockname): Likewise.
6650         * lib/getsockopt.c (rpl_getsockopt): Likewise.
6651         * lib/listen.c (rpl_listen): Likewise.
6652         * lib/recv.c (rpl_recv): Likewise.
6653         * lib/recvfrom.c (rpl_recvfrom): Likewise.
6654         * lib/send.c (rpl_send): Likewise.
6655         * lib/sendto.c (rpl_sendto): Likewise.
6656         * lib/setsockopt.c (rpl_setsockopt): Likewise.
6657         * lib/shutdown.c (rpl_shutdown): Likewise.
6658
6659 2011-09-20  Bruno Haible  <bruno@clisp.org>
6660
6661         select tests: EBADF tests.
6662         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
6663         test_bad_fd): New functions.
6664         (test_function): Invoke also test_bad_fd.
6665
6666 2011-09-20  Bruno Haible  <bruno@clisp.org>
6667
6668         Tests for module 'posix_spawn_file_actions_addopen.
6669         * modules/posix_spawn_file_actions_addopen-tests: New file.
6670         * tests/test-posix_spawn_file_actions_addopen.c: New file.
6671
6672         Tests for module 'posix_spawn_file_actions_adddup2'.
6673         * modules/posix_spawn_file_actions_adddup2-tests: New file.
6674         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
6675
6676         Tests for module 'posix_spawn_file_actions_addclose'.
6677         * modules/posix_spawn_file_actions_addclose-tests: New file.
6678         * tests/test-posix_spawn_file_actions_addclose.c: New file.
6679
6680 2011-09-20  Bruno Haible  <bruno@clisp.org>
6681
6682         Tests for module 'unlockpt'.
6683         * modules/unlockpt-tests: New file.
6684         * tests/test-unlockpt.c: New file.
6685         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
6686
6687         Tests for module 'grantpt'.
6688         * modules/grantpt-tests: New file.
6689         * tests/test-grantpt.c: New file.
6690         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
6691
6692 2011-09-20  Bruno Haible  <bruno@clisp.org>
6693
6694         freopen tests: EBADF tests.
6695         * tests/test-freopen.c: Include errno.h, unistd.h.
6696         (main): Add tests for EBADF, commented out for the moment.
6697
6698         fclose tests: EBADF tests.
6699         * tests/test-fclose.c (main): Add tests for EBADF.
6700
6701         fflush tests: EBADF tests.
6702         * tests/test-fflush.c: Include errno.h, macros.h.
6703         (main): Add tests for EBADF.
6704
6705         ftello tests: EBADF tests.
6706         * tests/test-ftello4.sh: New file.
6707         * tests/test-ftello4.c: New file.
6708         * modules/ftello-tests (Files): Add them.
6709         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
6710
6711         fseeko tests: EBADF tests.
6712         * tests/test-fseeko4.sh: New file.
6713         * tests/test-fseeko4.c: New file.
6714         * modules/fseeko-tests (Files): Add them.
6715         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
6716
6717         Tests for function fputc().
6718         * modules/fputc-tests: New file.
6719         * tests/test-fputc.c: New file.
6720         * modules/stdio-tests (Depends-on): Add fputc-tests.
6721
6722         Tests for function fgetc().
6723         * modules/fgetc-tests: New file.
6724         * tests/test-fgetc.c: New file.
6725         * modules/stdio-tests (Depends-on): Add fgetc-tests.
6726
6727         Tests for function fdopen().
6728         * modules/fdopen-tests: New file.
6729         * tests/test-fdopen.c: New file.
6730         * modules/stdio-tests (Depends-on): Add fdopen-tests.
6731
6732         Tests for module 'vdprintf'.
6733         * modules/vdprintf-tests: New file.
6734         * tests/test-vdprintf.c: New file.
6735
6736         Tests for module 'dprintf'.
6737         * modules/dprintf-tests: New file.
6738         * tests/test-dprintf.c: New file.
6739
6740 2011-09-20  Bruno Haible  <bruno@clisp.org>
6741
6742         Tests for module 'ioctl'.
6743         * modules/ioctl-tests: New file.
6744         * tests/test-ioctl.c: New file.
6745
6746 2011-09-20  Bruno Haible  <bruno@clisp.org>
6747
6748         fcntl tests: EBADF tests.
6749         * tests/test-fcntl.c (main): Add more tests for EBADF.
6750
6751 2011-09-20  Bruno Haible  <bruno@clisp.org>
6752
6753         utimensat tests: EBADF tests.
6754         * tests/test-utimensat.c (main): Add tests for EBADF.
6755
6756         renameat tests: EBADF tests.
6757         * tests/test-renameat.c (main): Add tests for EBADF.
6758
6759         mkfifoat tests: EBADF tests.
6760         * tests/test-mkfifoat.c (main): Add tests for EBADF.
6761
6762         readlinkat tests: EBADF tests.
6763         * tests/test-readlinkat.c (main): Add tests for EBADF.
6764
6765         symlinkat tests: EBADF tests.
6766         * tests/test-symlinkat.c (main): Add tests for EBADF.
6767
6768         linkat tests: EBADF tests.
6769         * tests/test-linkat.c (main): Add tests for EBADF.
6770
6771         Tests for module 'faccessat'.
6772         * modules/faccessat-tests: New file.
6773         * tests/test-faccessat.c: New file.
6774
6775         fdopendir tests: EBADF tests.
6776         * tests/test-fdopendir.c (main): Add more tests for EBADF.
6777
6778         openat tests: EBADF tests.
6779         * tests/test-fchownat.c (main): Add tests for EBADF.
6780         * tests/test-fstatat.c (main): Likewise.
6781         * tests/test-mkdirat.c (main): Likewise.
6782         * tests/test-openat.c (main): Likewise.
6783         * tests/test-unlinkat.c (main): Likewise.
6784         * tests/test-fchmodat.c: New file.
6785         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
6786         (Makefile.am): Also run 'test-fchmodat'.
6787
6788 2011-09-20  Bruno Haible  <bruno@clisp.org>
6789
6790         utimens, futimens, fdutimensat tests: EBADF tests.
6791         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
6792
6793         Tests for function fstat().
6794         * modules/fstat-tests: New file.
6795         * tests/test-fstat.c: New file.
6796         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
6797
6798 2011-09-20  Bruno Haible  <bruno@clisp.org>
6799
6800         test-ttyname_r tests: EBADF tests.
6801         * tests/test-ttyname_r.c (main): Add tests for EBADF.
6802
6803         Tests for module 'isatty'.
6804         * modules/isatty-tests: New file.
6805         * tests/test-isatty.c: New file.
6806
6807         Tests for module 'write'.
6808         * modules/write-tests: New file.
6809         * tests/test-write.c: New file.
6810
6811         Tests for module 'read'.
6812         * modules/read-tests: New file.
6813         * tests/test-read.c: New file.
6814
6815         pwrite tests: EBADF tests.
6816         * tests/test-pwrite.c (main): Add tests for EBADF.
6817
6818         pread tests: EBADF tests.
6819         * tests/test-pread.c (main): Add tests for EBADF.
6820
6821         lseek tests: EBADF tests.
6822         * tests/test-lseek.c (main): Add more tests for EBADF.
6823
6824         Tests for module 'ftruncate'.
6825         * modules/ftruncate-tests: New file.
6826         * tests/test-ftruncate.sh: New file.
6827         * tests/test-ftruncate.c: New file.
6828
6829         fsync tests: EBADF tests.
6830         * tests/test-fsync.c (main): Add more tests for EBADF.
6831
6832         fdatasync tests: EBADF tests.
6833         * tests/test-fdatasync.c (main): Add more tests for EBADF.
6834
6835         Tests for module 'fchown'.
6836         * modules/fchown-tests: New file.
6837         * tests/test-fchown.c: New file.
6838
6839         Tests for module 'fchmod'.
6840         * modules/fchmod-tests: New file.
6841         * tests/test-fchmod.c: New file.
6842
6843         fchdir tests: EBADF tests.
6844         * tests/test-fchdir.c (main): Add more tests for EBADF.
6845
6846         dup2 tests: EBADF tests.
6847         * tests/test-dup2.c (main): Add more tests for EBADF.
6848
6849         Tests for module 'dup'.
6850         * modules/dup-tests: New file.
6851         * tests/test-dup.c: New file.
6852
6853         Tests for module 'close'.
6854         * modules/close-tests: New file.
6855         * tests/test-close.c: New file.
6856
6857 2011-09-20  Bruno Haible  <bruno@clisp.org>
6858
6859         Tests for module 'shutdown'.
6860         * modules/shutdown-tests: New file.
6861         * tests/test-shutdown.c: New file.
6862
6863         Tests for module 'setsockopt'.
6864         * modules/setsockopt-tests: New file.
6865         * tests/test-setsockopt.c: New file.
6866
6867         Tests for module 'sendto'.
6868         * modules/sendto-tests: New file.
6869         * tests/test-sendto.c: New file.
6870
6871         Tests for module 'send'.
6872         * modules/send-tests: New file.
6873         * tests/test-send.c: New file.
6874
6875         Tests for module 'recvfrom'.
6876         * modules/recvfrom-tests: New file.
6877         * tests/test-recvfrom.c: New file.
6878
6879         Tests for module 'recv'.
6880         * modules/recv-tests: New file.
6881         * tests/test-recv.c: New file.
6882
6883         Tests for module 'listen'.
6884         * modules/listen-tests: New file.
6885         * tests/test-listen.c: New file.
6886
6887         Tests for module 'getsockopt'.
6888         * modules/getsockopt-tests: New file.
6889         * tests/test-getsockopt.c: New file.
6890
6891         Tests for module 'getsockname'.
6892         * modules/getsockname-tests: New file.
6893         * tests/test-getsockname.c: New file.
6894
6895         Tests for module 'getpeername'.
6896         * modules/getpeername-tests: New file.
6897         * tests/test-getpeername.c: New file.
6898
6899         Tests for module 'connect'.
6900         * modules/connect-tests: New file.
6901         * tests/test-connect.c: New file.
6902
6903         Tests for module 'bind'.
6904         * modules/bind-tests: New file.
6905         * tests/test-bind.c: New file.
6906
6907         accept4 tests: Fix for native Windows.
6908         * tests/test-accept4.c: Include sockets.h.
6909         (main): Invoke gl_sockets_startup.
6910         * modules/accept4-tests (Depends-on): Add sockets.
6911
6912         accept tests: Fix for native Windows.
6913         * tests/test-accept.c: Include sockets.h.
6914         (main): Invoke gl_sockets_startup.
6915         * modules/accept-tests (Depends-on): Add sockets.
6916
6917 2011-09-19  Bruno Haible  <bruno@clisp.org>
6918
6919         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
6920         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
6921         do...while(0).
6922         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
6923         Suggested by Paul Eggert.
6924
6925 2011-09-19  Bruno Haible  <bruno@clisp.org>
6926
6927         sched: Ensure pid_t is defined.
6928         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
6929         not define pid_t.
6930         * lib/sched.in.h: Include <sys/types.h>.
6931         * doc/posix-headers/sched.texi: Mention the pid_t problem.
6932         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6933
6934 2011-09-19  Bruno Haible  <bruno@clisp.org>
6935
6936         msvc-inval: Ensure the entire expansion is a single statement.
6937         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
6938         of braces.
6939
6940 2011-09-19  Jim Meyering  <meyering@redhat.com>
6941
6942         tests: use printf, not echo in init.sh's warn_ function
6943         * tests/init.sh (warn_): Use printf, not echo.  The latter would
6944         misbehave when given strings containing a backslash or starting
6945         with e.g., -n.  James Youngman suggested setting IFS.
6946
6947 2011-09-19  Eric Blake  <eblake@redhat.com>
6948
6949         futimens: enhance test
6950         * tests/test-futimens.h (test_futimens): Also check for EBADF on
6951         closed non-negative fd.
6952
6953         date: accept 'hence' as opposite of 'ago'
6954         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
6955         * tests/test-parse-datetime.c (main): Enhance test.
6956         Suggested by Jesse Wilson.
6957
6958 2011-09-19  Jim Meyering  <meyering@redhat.com>
6959
6960         getcwd: don't fail in a deep directory on a system without openat
6961         Before this change, getcwd would fail when called from a directory
6962         of depth PATH_MAX / 3 or greater.  That was due to the fact that
6963         the non-openat implementation used "..", "../..", "../../..", etc.
6964         to access ancestor directories.  With too many, that string would
6965         be longer than PATH_MAX.
6966         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
6967         using gnulib's openat replacement.
6968         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
6969         we're using the replacement function.
6970
6971 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
6972
6973         maint.mk: avoid warnings from perl about missing files
6974         * top/maint.mk (def_sym_regex): Ignore files listed in
6975         $(gl_other_headers_) that do not exist, say because a project
6976         does not use a corresponding module.
6977
6978 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
6979
6980         stat: use pathmax.h only if needed
6981         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
6982         This is better for Emacs, which does not have a mingw port and
6983         therefore can avoid the pathmax module.
6984
6985         utimens: remove dependency on dup2
6986         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
6987         to work around the Linux kernel bug.
6988         * modules/utimens (Depends-on): Remove dup2.
6989
6990 2011-09-18  Bruno Haible  <bruno@clisp.org>
6991
6992         inet_ntop, inet_pton: Look for it also in libresolv.
6993         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
6994         libnsl, search for it in libresolv.
6995         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6996         Needed on Solaris 7.
6997
6998 2011-09-18  Bruno Haible  <bruno@clisp.org>
6999
7000         accept, accept4 tests: Avoid link error on Solaris.
7001         * modules/accept-tests (Makefile.am): Link test-accept against
7002         $(LIBSOCKET).
7003         * modules/accept4-tests (Makefile.am): Link test-accept4 against
7004         $(LIBSOCKET).
7005
7006         accept4: Avoid link error on Solaris.
7007         * modules/accept4 (Link): New section.
7008
7009         socket functions: Avoid link errors on Solaris.
7010         * modules/accept (Depends-on): Add socketlib.
7011         (Link): New section.
7012         * modules/bind (Depends-on): Add socketlib.
7013         (Link): New section.
7014         * modules/connect (Depends-on): Add socketlib.
7015         (Link): New section.
7016         * modules/getpeername (Depends-on): Add socketlib.
7017         (Link): New section.
7018         * modules/getsockname (Depends-on): Add socketlib.
7019         (Link): New section.
7020         * modules/getsockopt (Depends-on): Add socketlib.
7021         (Link): New section.
7022         * modules/listen (Depends-on): Add socketlib.
7023         (Link): New section.
7024         * modules/recv (Depends-on): Add socketlib.
7025         (Link): New section.
7026         * modules/recvfrom (Depends-on): Add socketlib.
7027         (Link): New section.
7028         * modules/send (Depends-on): Add socketlib.
7029         (Link): New section.
7030         * modules/sendto (Depends-on): Add socketlib.
7031         (Link): New section.
7032         * modules/setsockopt (Depends-on): Add socketlib.
7033         (Link): New section.
7034         * modules/shutdown (Depends-on): Add socketlib.
7035         (Link): New section.
7036         * modules/socket (Depends-on): Add socketlib.
7037         (Link): New section.
7038
7039 2011-09-18  Bruno Haible  <bruno@clisp.org>
7040
7041         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
7042         * tests/test-ptsname.c (main): Terminate the test if it takes longer
7043         than 5 seconds.
7044         * modules/ptsname-tests (configure.ac): Test for alarm.
7045
7046 2011-09-18  Bruno Haible  <bruno@clisp.org>
7047
7048         posix_spawn_file_actions_add*: Fix module dependencies.
7049         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
7050         posix_spawn_file_actions_init.
7051         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
7052         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
7053
7054 2011-09-18  Bruno Haible  <bruno@clisp.org>
7055
7056         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
7057         * tests/test-rename.h (test_rename): Allow error code EEXIST.
7058         * tests/test-renameat.c (main): Likewise.
7059
7060 2011-09-18  Bruno Haible  <bruno@clisp.org>
7061
7062         Tests for module 'accept4'.
7063         * modules/accept4-tests: New file.
7064         * tests/test-accept4.c: New file.
7065
7066 2011-09-18  Bruno Haible  <bruno@clisp.org>
7067
7068         Tests for module 'accept'.
7069         * modules/accept-tests: New file.
7070         * tests/test-accept.c: New file.
7071
7072 2011-09-18  Bruno Haible  <bruno@clisp.org>
7073
7074         dup2: Support for MSVC.
7075         * lib/dup2.c: Include msvc-inval.h.
7076         (rpl_dup2): Handle invalid parameter notifications during dup2 and
7077         _get_osfhandle calls.
7078         * modules/dup2 (Depends-on): Add msvc-inval.
7079         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
7080
7081         New module 'msvc-inval'.
7082         * lib/msvc-inval.h: New file.
7083         * lib/msvc-inval.c: New file.
7084         * m4/msvc-inval.m4: New file.
7085         * modules/msvc-inval: New file.
7086
7087 2011-09-17  Bruno Haible  <bruno@clisp.org>
7088
7089         Tests for module 'pclose'.
7090         * modules/pclose-tests: New file.
7091
7092         New module 'pclose'.
7093         * lib/stdio.in.h (pclose): New declaration.
7094         * lib/pclose.c: New file.
7095         * m4/pclose.m4: New file.
7096         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
7097         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
7098         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
7099         * modules/pclose: New file.
7100         * modules/popen-tests (Depends-on): Add pclose.
7101         * modules/popen-safer-tests (Depends-on): Likewise.
7102         * doc/posix-functions/pclose.texi: Mention the new module.
7103
7104 2011-09-17  Bruno Haible  <bruno@clisp.org>
7105
7106         popen: Support for MSVC.
7107         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
7108         * lib/popen.c (popen): Provide alternate definition for native Windows.
7109         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
7110         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
7111         * modules/popen (Depends-on, configure.ac): Update condition.
7112         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
7113         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
7114         fixed.
7115
7116 2011-09-17  Bruno Haible  <bruno@clisp.org>
7117
7118         isnanl, isnand, isnanf: Work around MSVC bug.
7119         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
7120
7121 2011-09-17  Bruno Haible  <bruno@clisp.org>
7122
7123         sys_socket tests: Fix recent mistake.
7124         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
7125
7126 2011-09-17  Bruno Haible  <bruno@clisp.org>
7127
7128         putenv: Support for MSVC.
7129         * modules/putenv (Depends-on): Add environ.
7130         * lib/putenv.c (environ): Disable declaration.
7131         * lib/unistd.in.h: Update comment.
7132
7133 2011-09-17  Bruno Haible  <bruno@clisp.org>
7134
7135         math: Avoid macro redefinition warnings on MSVC.
7136         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
7137         Undefine before redefining.
7138
7139 2011-09-17  Bruno Haible  <bruno@clisp.org>
7140
7141         doc: Mention functions which are declared as macros.
7142         * doc/posix-functions/*[fl].texi: Mention that some functions are
7143         defined as macros with arguments only.
7144
7145 2011-09-17  Bruno Haible  <bruno@clisp.org>
7146
7147         Add dependencies to new dirent related modules.
7148         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
7149         * modules/fts (Depends-on): Likewise.
7150         * modules/glob (Depends-on): Likewise.
7151         * modules/savedir (Depends-on): Likewise.
7152         * modules/scandir (Depends-on): Likewise.
7153         * modules/dirent-safer (Depends-on): Add opendir, closedir.
7154         * modules/fdopendir (Depends-on): Add opendir.
7155
7156 2011-09-17  Bruno Haible  <bruno@clisp.org>
7157
7158         inet_pton: Support for MSVC on Windows Vista or newer.
7159         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
7160         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
7161         HAVE_DECL_INET_PTON is defined.
7162         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
7163         On platforms with <winsock2.h>, test whether inet_pton is declared in
7164         <ws2tcpip.h>. If so, arrange to replace it.
7165         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
7166         REPLACE_INET_PTON.
7167         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
7168         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
7169         (Depends-on, configure.ac): Update condition.
7170         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
7171
7172 2011-09-17  Bruno Haible  <bruno@clisp.org>
7173
7174         inet_ntop: Support for MSVC on Windows Vista or newer.
7175         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
7176         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
7177         HAVE_DECL_INET_NTOP is defined.
7178         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
7179         On platforms with <winsock2.h>, test whether inet_ntop is declared in
7180         <ws2tcpip.h>. If so, arrange to replace it.
7181         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
7182         REPLACE_INET_NTOP.
7183         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
7184         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
7185         (Depends-on, configure.ac): Update condition.
7186         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
7187
7188 2011-09-16  Eric Blake  <eblake@redhat.com>
7189
7190         test-fsync: yet another enhancement
7191         * tests/test-fsync.c (main): Also test behavior on read-only text
7192         file.
7193
7194 2011-09-16  Bruno Haible  <bruno@clisp.org>
7195
7196         Enhance fsync, fdatasync tests.
7197         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
7198         * tests/test-fdatasync.c (main): Likewise.
7199
7200 2011-09-16  Bruno Haible  <bruno@clisp.org>
7201
7202         Support for MSVC compiler: Ensure mode_t gets defined.
7203         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
7204         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7205         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
7206         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
7207         * tests/test-fcntl-h.c: Check that mode_t is defined.
7208         * tests/test-sys_stat.c: Likewise.
7209         * tests/test-sys_types.c: Likewise.
7210         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
7211         * doc/posix-headers/sys_stat.texi: Likewise.
7212         * doc/posix-headers/sys_types.texi: Likewise.
7213
7214 2011-09-16  Bruno Haible  <bruno@clisp.org>
7215
7216         sys_stat: Support for MSVC.
7217         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
7218         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
7219         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
7220         MSVC.
7221
7222 2011-09-16  Bruno Haible  <bruno@clisp.org>
7223
7224         Support for MSVC compiler: Ensure off_t gets defined.
7225         * lib/unistd.in.h: Include <sys/types.h>.
7226         * tests/test-fcntl-h.c: Check that off_t is defined.
7227         * tests/test-sys_stat.c: Likewise.
7228         * tests/test-sys_types.c: Likewise.
7229
7230 2011-09-16  Eric Blake  <eblake@redhat.com>
7231
7232         fdatasync: port to Solaris
7233         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
7234         * modules/fdatasync (Link): Document it.
7235         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
7236
7237         fdatasync: port to MacOS X 10.7
7238         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
7239         declared.
7240         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
7241         * modules/unistd (Makefile.am): Substitute it.
7242         * lib/unistd.in.h (fdatasync): Declare on MacOS.
7243         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
7244
7245         fdatasync: minor improvements
7246         * modules/fdatasync (Depends-on): Add condition for fsync.
7247         * lib/fdatasync.c (fdatasync): Add comment.
7248         * tests/test-unistd-c++.cc: Test fdatasync.
7249
7250         unistd: update refs to newer POSIX
7251         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
7252         Suggested by Bruno Haible.
7253
7254         fdatasync: new module
7255         * modules/fsync (Description): Document difference to fdatasync.
7256         * modules/fdatasync: New module.
7257         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
7258         * lib/fdatasync.c (fdatasync): Likewise.
7259         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
7260         defaults.
7261         * modules/unistd (Makefile.am): Set witnesses.
7262         * lib/unistd.in.h (fdatasync): Declare.
7263         * MODULES.html.sh: Document it.
7264         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
7265         * modules/fdatasync-tests: New test.
7266         * tests/test-fdatasync.c: Likewise.
7267
7268 2011-09-16  Eric Blake  <eblake@redhat.com>
7269
7270         test-fsync: enhance tests
7271         * modules/fsync-tests (Depends-on): Add errno, for mingw.
7272         * tests/test-fsync.c (main): Enhance test.
7273
7274 2011-09-15  Bruno Haible  <bruno@clisp.org>
7275
7276         Support for MSVC compiler: Ensure ssize_t gets defined.
7277         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
7278         * doc/posix-headers/stdio.texi: Likewise.
7279         * modules/stdio (Depends-on): Add ssize_t.
7280         * modules/sys_socket (Depends-on): Likewise.
7281         * modules/sys_types (Depends-on): Likewise.
7282         * modules/sys_uio (Depends-on): Likewise.
7283         * modules/unistd (Depends-on): Likewise.
7284         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
7285         * tests/test-sys_types.c: Check that ssize_t is defined.
7286
7287 2011-09-14  Bruno Haible  <bruno@clisp.org>
7288
7289         Avoid using #, the m4 comment starter character, near brackets.
7290         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
7291         delimiter character in sed expressions.
7292         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
7293         Suggested by Eric Blake.
7294
7295         Properly quote AC_CHECK_DECLS' 4th argument.
7296         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
7297         argument.
7298         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
7299         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
7300         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
7301         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
7302         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
7303         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
7304         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
7305         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
7306         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
7307         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
7308         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
7309         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7310         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
7311         * m4/isinf.m4 (gl_ISINF): Likewise.
7312         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
7313         * m4/readutmp.m4 (gl_READUTMP): Likewise.
7314         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
7315         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7316         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7317         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
7318         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
7319         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
7320         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
7321         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
7322         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
7323         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
7324         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
7325         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
7326         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
7327         Reported by Eric Blake.
7328
7329         Properly quote AC_CHECK_DECL's 4th argument.
7330         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
7331         argument.
7332         * m4/argp.m4 (gl_ARGP): Likewise.
7333         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
7334         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
7335         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
7336         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
7337         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
7338         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
7339         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
7340         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
7341         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
7342         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
7343         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
7344         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
7345         Reported by Eric Blake.
7346
7347 2011-09-14  Eric Blake  <eblake@redhat.com>
7348
7349         opendir: avoid compile warning
7350         * lib/opendir.c (includes): Always include errno.h.
7351         Reported by Tatsuro MATSUOKA.
7352
7353 2011-09-14  Jim Meyering  <meyering@redhat.com>
7354
7355         maint.mk: sc_tight_scope: propagate failure from sub-make
7356         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
7357         Reported by Martin von Gagern.
7358
7359 2011-09-13  Bruno Haible  <bruno@clisp.org>
7360
7361         tempname: Support for MSVC.
7362         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
7363         MSVC.
7364         * modules/tempname (Depends-on): Add fcntl-h.
7365
7366 2011-09-13  Bruno Haible  <bruno@clisp.org>
7367
7368         sys_time: Support for MSVC.
7369         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
7370         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
7371         include <winsock2.h>.
7372         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
7373         function declarations that collide with POSIX.
7374         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
7375         (Makefile.am): Substitute HAVE_WINSOCK2_H.
7376
7377 2011-09-13  Bruno Haible  <bruno@clisp.org>
7378
7379         stat: Support for MSVC.
7380         * lib/stat.c: Include pathmax.h.
7381         * modules/stat (Depends-on): Add pathmax.
7382
7383         pathmax: Support for native Windows.
7384         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
7385
7386 2011-09-12  Bruno Haible  <bruno@clisp.org>
7387
7388         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
7389         * lib/dirent.in.h (struct dirent): New type.
7390         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
7391         DT_WHT): New macros.
7392         (DIR): New type.
7393         (opendir, closedir): Declare only if the module 'opendir' is enabled.
7394         (readdir, rewinddir): New declarations.
7395         * lib/dirent-private.h: New file.
7396         * lib/opendir.c: New file.
7397         * lib/readdir.c: New file.
7398         * lib/rewinddir.c: New file.
7399         * lib/closedir.c: New file.
7400         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
7401         * m4/opendir.m4: New file.
7402         * m4/readdir.m4: New file.
7403         * m4/rewinddir.m4: New file.
7404         * m4/closedir.m4: New file.
7405         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
7406         REPLACE_CLOSEDIR here.
7407         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
7408         readdir, rewinddir are declared.
7409         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
7410         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
7411         HAVE_REWINDDIR, HAVE_CLOSEDIR.
7412         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
7413         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
7414         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
7415         * modules/opendir: New file.
7416         * modules/readdir: New file.
7417         * modules/rewinddir: New file.
7418         * modules/closedir: New file.
7419         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
7420         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
7421         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
7422         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
7423         * NEWS: Mention the 'fchdir' change.
7424
7425 2011-09-11  Bruno Haible  <bruno@clisp.org>
7426
7427         asm-underscore.m4: Support for MSVC.
7428         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
7429         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
7430
7431 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
7432
7433         Doc about crypt functions.
7434         * doc/posix-functions/crypt.texi: Expand range of glibc versions
7435         needing for _GNU_SOURCE to get crypt.
7436         * doc/posix-functions/encrypt.texi: Likewise.
7437         * doc/posix-functions/setkey.texi: Likewise.
7438
7439 2011-09-11  Bruno Haible  <bruno@clisp.org>
7440
7441         doc: Update regarding MSVC 9.
7442         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
7443         tested".
7444         * doc/posix-functions/*.texi: Update with info about MSVC 9.
7445         * doc/posix-headers/*.texi: Likewise.
7446         * doc/pastposix-functions/*.texi: Likewise.
7447         * doc/glibc-functions/*.texi: Likewise.
7448         * doc/glibc-headers/*.texi: Likewise.
7449
7450 2011-09-11  Bruno Haible  <bruno@clisp.org>
7451
7452         unistd et al.: Don't assume <unistd.h> exists.
7453         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
7454         does not exist.
7455         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
7456         exist. But include <stdlib.h>.
7457         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
7458         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
7459         symlink() does not exist.
7460         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
7461         include <io.h> instead.
7462         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
7463         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
7464         include <direct.h> instead.
7465         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
7466         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7467         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
7468         <io.h> instead.
7469         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
7470         correctly if the system does not have hard links.
7471         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
7472         <direct.h> instead.
7473         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
7474         it when looking for function declarations.
7475         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
7476         <direct.h> and <io.h> instead.
7477         * doc/posix-headers/unistd.texi: More details about MSVC problem.
7478
7479 2011-09-11  Bruno Haible  <bruno@clisp.org>
7480
7481         strcase: Support for MSVC.
7482         * modules/strcase (Status, Notice): Remove obsoletion mark.
7483         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
7484         * doc/posix-functions/strncasecmp.texi: Likewise.
7485
7486         strings: Don't assume <strings.h> exists.
7487         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
7488         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
7489         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
7490         * doc/posix-headers/strings.texi: Mention the MSVC problem.
7491
7492 2011-09-11  Bruno Haible  <bruno@clisp.org>
7493
7494         dirent: Don't assume <dirent.h> exists.
7495         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
7496         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
7497         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
7498         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
7499
7500 2011-09-11  Bruno Haible  <bruno@clisp.org>
7501
7502         Fix wint_t on MSVC.
7503         * lib/wchar.in.h (wint_t): On MSVC, override it.
7504         * lib/wctype.in.h (wint_t): Likewise.
7505         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
7506         MSVC.
7507         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
7508         * doc/posix-headers/wctype.texi: Likewise.
7509
7510 2011-09-11  Bruno Haible  <bruno@clisp.org>
7511
7512         sys_types: Fix typo.
7513         * lib/sys_types.in.h: Fix typo in comment.
7514         Reported by Paul Eggert.
7515
7516         Support for MSVC compiler: Ensure size_t gets defined.
7517         * modules/strings (Depends-on): Add 'sys_types'.
7518         * modules/sys_uio (Depends-on): Likewise.
7519         * lib/sys_uio.in.h: Update comment.
7520
7521         C++ tests for module 'sys_types'.
7522         * modules/sys_types-c++-tests: New file.
7523         * tests/test-sys_types-c++.cc: New file.
7524
7525         Tests for module 'sys_types'.
7526         * modules/sys_types-tests: New file.
7527         * tests/test-sys_types.c: New file.
7528
7529         New module 'sys_types'.
7530         * lib/sys_types.in.h: New file.
7531         * m4/sys_types_h.m4: New file.
7532         * modules/sys_types: New file.
7533         * doc/posix-headers/sys_types.texi: Mention the new module and the
7534         size_t problem on MSVC 9.
7535
7536 2011-09-11  Bruno Haible  <bruno@clisp.org>
7537
7538         Support for MSVC compiler: Avoid division by a literal 0.
7539         * lib/math.in.h (NAN): Define through a function call also on MSVC.
7540         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
7541         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
7542         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
7543         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
7544         * tests/infinity.h: New file.
7545         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
7546         on MSVC.
7547         * tests/test-ceilf1.c: Include infinity.h.
7548         (main): Use Infinityf.
7549         * tests/test-ceil1.c: Include infinity.h.
7550         (main): Use Infinityd.
7551         * tests/test-ceill.c: Include infinity.h.
7552         (main): Use Infinityl.
7553         * tests/test-dprintf-posix.c: Include infinity.h.
7554         (test_function): Use Infinityd.
7555         * tests/test-floorf1.c: Include infinity.h.
7556         (main): Use Infinityf.
7557         * tests/test-floor1.c: Include infinity.h.
7558         (main): Use Infinityd.
7559         * tests/test-floorl.c: Include infinity.h.
7560         (main): Use Infinityl.
7561         * tests/test-fprintf-posix.c: Include infinity.h.
7562         (test_function): Use Infinityd.
7563         * tests/test-frexp.c: Include infinity.h.
7564         (main): Use Infinityd.
7565         * tests/test-frexpl.c: Include infinity.h.
7566         (main): Use Infinityl.
7567         * tests/test-isfinite.c: Include infinity.h.
7568         (test_isfinitef): Use Infinityf.
7569         (test_isfinited): Use Infinityd.
7570         (test_isfinitel): Use Infinityl.
7571         * tests/test-isinf.c: Include infinity.h.
7572         (test_isinff): Use Infinityf.
7573         (test_isinfd): Use Infinityd.
7574         (test_isinfl): Use Infinityl.
7575         * tests/test-isnan.c: Include infinity.h.
7576         (test_float): Use Infinityf.
7577         (test_double): Use Infinityd.
7578         (test_long_double): Use Infinityl.
7579         * tests/test-isnanf.h: Include infinity.h.
7580         (main): Use Infinityf.
7581         * tests/test-isnand.h: Include infinity.h.
7582         (main): Use Infinityd.
7583         * tests/test-isnanl.h: Include infinity.h.
7584         (main): Use Infinityl.
7585         * tests/test-ldexpl.c: Include infinity.h.
7586         (main): Use Infinityl.
7587         * tests/test-printf-posix.h: Include infinity.h.
7588         (test_function): Use Infinityd.
7589         * tests/test-roundf1.c: Include infinity.h.
7590         (main): Use Infinityf.
7591         * tests/test-round1.c: Include infinity.h.
7592         (main): Use Infinityd.
7593         * tests/test-roundl.c: Include infinity.h.
7594         (main): Use Infinityl.
7595         * tests/test-signbit.c: Include infinity.h.
7596         (test_signbitf): Use Infinityf.
7597         (test_signbitd): Use Infinityd.
7598         (test_signbitl): Use Infinityl.
7599         * tests/test-snprintf-posix.h: Include infinity.h.
7600         (test_function): Use Infinityd, Infinityl.
7601         * tests/test-sprintf-posix.h: Include infinity.h.
7602         (test_function): Use Infinityd, Infinityl.
7603         * tests/test-truncf1.c: Include infinity.h.
7604         (main): Use Infinityf.
7605         * tests/test-trunc1.c: Include infinity.h.
7606         (main): Use Infinityd.
7607         * tests/test-truncl.c: Include infinity.h.
7608         (main): Use Infinityl.
7609         * tests/test-vasnprintf-posix.c: Include infinity.h.
7610         (test_function): Use Infinityd, Infinityl.
7611         * tests/test-vasprintf-posix.c: Include infinity.h.
7612         (test_function): Use Infinityd, Infinityl.
7613         * modules/ceilf-tests (Files): Add tests/infinity.h.
7614         * modules/ceil-tests (Files): Likewise.
7615         * modules/ceill-tests (Files): Likewise.
7616         * modules/dprintf-posix-tests (Files): Likewise.
7617         * modules/floorf-tests (Files): Likewise.
7618         * modules/floor-tests (Files): Likewise.
7619         * modules/floorl-tests (Files): Likewise.
7620         * modules/fprintf-posix-tests (Files): Likewise.
7621         * modules/frexp-tests (Files): Likewise.
7622         * modules/frexp-nolibm-tests (Files): Likewise.
7623         * modules/frexpl-tests (Files): Likewise.
7624         * modules/frexpl-nolibm-tests (Files): Likewise.
7625         * modules/isfinite-tests (Files): Likewise.
7626         * modules/isinf-tests (Files): Likewise.
7627         * modules/isnan-tests (Files): Likewise.
7628         * modules/isnanf-tests (Files): Likewise.
7629         * modules/isnanf-nolibm-tests (Files): Likewise.
7630         * modules/isnand-tests (Files): Likewise.
7631         * modules/isnand-nolibm-tests (Files): Likewise.
7632         * modules/isnanl-tests (Files): Likewise.
7633         * modules/isnanl-nolibm-tests (Files): Likewise.
7634         * modules/ldexpl-tests (Files): Likewise.
7635         * modules/printf-posix-tests (Files): Likewise.
7636         * modules/roundf-tests (Files): Likewise.
7637         * modules/round-tests (Files): Likewise.
7638         * modules/roundl-tests (Files): Likewise.
7639         * modules/signbit-tests (Files): Likewise.
7640         * modules/snprintf-posix-tests (Files): Likewise.
7641         * modules/sprintf-posix-tests (Files): Likewise.
7642         * modules/truncf-tests (Files): Likewise.
7643         * modules/trunc-tests (Files): Likewise.
7644         * modules/truncl-tests (Files): Likewise.
7645         * modules/vasnprintf-posix-tests (Files): Likewise.
7646         * modules/vasprintf-posix-tests (Files): Likewise.
7647         * modules/vdprintf-posix-tests (Files): Likewise.
7648         * modules/vfprintf-posix-tests (Files): Likewise.
7649         * modules/vprintf-posix-tests (Files): Likewise.
7650         * modules/vsnprintf-posix-tests (Files): Likewise.
7651         * modules/vsprintf-posix-tests (Files): Likewise.
7652         * modules/xprintf-posix-tests (Files): Likewise.
7653
7654 2011-09-11  Bruno Haible  <bruno@clisp.org>
7655
7656         Ensure pid_t gets defined.
7657         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
7658         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
7659         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
7660         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7661         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
7662         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
7663         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
7664         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
7665         * tests/test-fcntl-h.c: Check that pid_t is defined.
7666         * tests/test-sched.c: Likewise.
7667         * tests/test-termios.c: Likewise.
7668         * tests/test-time.c: Likewise.
7669         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
7670         * doc/posix-headers/signal.texi: Likewise.
7671         * doc/posix-headers/sys_types.texi: Likewise.
7672         * doc/posix-headers/time.texi: Likewise.
7673
7674 2011-09-11  Bruno Haible  <bruno@clisp.org>
7675
7676         acl: Fix compilation on Solaris 10 (older version).
7677         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
7678         of ACE_EVERYONE.
7679         * lib/set-mode-acl.c (qset_acl): Likewise.
7680         Reported by Christian Jullien <eligis@orange.fr>.
7681
7682 2011-09-10  Bruno Haible  <bruno@clisp.org>
7683
7684         iconv, unsetenv: Add support for MSVC compiler.
7685         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
7686         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
7687
7688 2011-09-10  Bruno Haible  <bruno@clisp.org>
7689
7690         *printf: Add support for MSVC compiler.
7691         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
7692         handles the exception caused by the %n directive. When cross-compiling,
7693         guess no on native Windows.
7694         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
7695         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
7696         emulate it through vsnprintf.
7697         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
7698         * doc/posix-functions/dprintf.texi: Update documentation regarding
7699         MSVC 9.
7700         * doc/posix-functions/fprintf.texi: Likewise.
7701         * doc/posix-functions/printf.texi: Likewise.
7702         * doc/posix-functions/snprintf.texi: Likewise.
7703         * doc/posix-functions/sprintf.texi: Likewise.
7704         * doc/posix-functions/swprintf.texi: Likewise.
7705         * doc/posix-functions/vdprintf.texi: Likewise.
7706         * doc/posix-functions/vfprintf.texi: Likewise.
7707         * doc/posix-functions/vprintf.texi: Likewise.
7708         * doc/posix-functions/vsnprintf.texi: Likewise.
7709         * doc/posix-functions/vsprintf.texi: Likewise.
7710         * doc/glibc-functions/asprintf.texi: Likewise.
7711         * doc/glibc-functions/obstack_printf.texi: Likewise.
7712         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
7713         * doc/glibc-functions/vasprintf.texi: Likewise.
7714
7715 2011-09-10  Bruno Haible  <bruno@clisp.org>
7716
7717         nocrash: Add support for native Windows.
7718         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
7719
7720 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
7721             Bruno Haible  <bruno@clisp.org>
7722
7723         absolute-header, include-next: Add support for MSVC compiler.
7724         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
7725         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
7726         directory separator in #line directives.
7727         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
7728         recognize also backslash as directory separator in #line directives.
7729
7730 2011-09-08  Jim Meyering  <meyering@redhat.com>
7731
7732         maint.mk: mark the post-release commit log with "maint: " prefix
7733         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
7734         one-line commit-log summary.
7735
7736 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
7737             Bruno Haible  <bruno@clisp.org>
7738
7739         Doc about crypt functions.
7740         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
7741         systems.
7742         * doc/posix-functions/encrypt.texi: Likewise.
7743         * doc/posix-functions/setkey.texi: Likewise.
7744
7745 2011-09-08  Simon Josefsson  <simon@josefsson.org>
7746
7747         * lib/gc.h: Fix copyright header.
7748
7749 2011-09-07  Bruno Haible  <bruno@clisp.org>
7750
7751         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
7752         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
7753         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
7754
7755 2011-09-07  Bruno Haible  <bruno@clisp.org>
7756
7757         openat: Work around compilation error with OSF/1 5.1 DTK cc.
7758         * lib/fopen.c: Use different syntax for include of <stdio.h>.
7759         * lib/freopen.c: Likewise.
7760         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
7761         * lib/lstat.c: Likewise.
7762         * lib/stat.c: Likewise.
7763         * lib/open.c: Use different syntax for include of <fcntl.h>.
7764         * lib/openat.c: Include fcntl.h again, explicitly.
7765
7766 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
7767
7768         parse-datetime: document the newly accepted format
7769         * doc/parse-datetime.texi (Combined date and time of day items):
7770         New section.
7771
7772 2011-09-06  Bruno Haible  <bruno@clisp.org>
7773
7774         acl: Fix a test failure on newer Solaris 10 with ZFS.
7775         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
7776         ENOSYS as no ACL.
7777         Reported by Jim Meyering.
7778
7779 2011-09-06  Bruno Haible  <bruno@clisp.org>
7780
7781         acl: Update for AIX >= 5.3 with NFS.
7782         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
7783         ENOSYS as no ACL.
7784
7785         acl: Fix a test failure on AIX >= 5.3 with NFS.
7786         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
7787         as no ACL.
7788
7789 2011-09-06  Bruno Haible  <bruno@clisp.org>
7790
7791         acl: Fix a test failure on IRIX 6.5 with NFS.
7792         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
7793         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
7794         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
7795         * lib/copy-acl.c (qcopy_acl): Likewise.
7796
7797 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
7798
7799         openat: port to AIX 7.1 with large files
7800         AIX 7.1 does a "#define openat open64at" if large files are in use,
7801         so we can't simply #undef openat.  Use the orig_openat trick (similar
7802         to orig_open in lib/open.c) to work around the problem.  Problem
7803         reported by Kevin Brott for GNU tar, in the thread containing
7804         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
7805         * lib/openat.c (__need_system_fcntl_h): Define first.
7806         Include <fcntl.h> and <sys/types.h> before undefining.
7807         (orig_openat) [HAVE_OPENAT]: New inline function.
7808         (openat) [HAVE_OPENAT]: Do not undef.
7809         (rpl_openat): Use orig_openat, not openat.
7810
7811 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
7812             Bruno Haible  <bruno@clisp.org>
7813
7814         acl: Avoid errors on NonStop Kernel.
7815         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
7816         ENOTSUP errors.
7817
7818 2011-09-05  Bruno Haible  <bruno@clisp.org>
7819
7820         acl: Clean up Solaris code.
7821         * lib/acl-internal.h: Remove no-op #if.
7822         * lib/file-has-acl.c: Likewise.
7823         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
7824         * lib/copy-acl.c (qcopy_acl): Likewise.
7825
7826 2011-09-05  Bruno Haible  <bruno@clisp.org>
7827
7828         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
7829         binaries built on the original Solaris 10.
7830         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
7831         trivial.
7832
7833 2011-09-05  Bruno Haible  <bruno@clisp.org>
7834
7835         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
7836         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
7837         10.
7838         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
7839         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
7840         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
7841         instead of acl_get, facl_get, acl_set, facl_set.
7842
7843 2011-09-05  Bruno Haible  <bruno@clisp.org>
7844
7845         copy-file: Try unit tests on more file systems.
7846         * tests/test-copy-file-1.sh: New file.
7847         * tests/test-copy-file-2.sh: New file.
7848         * modules/copy-file-tests (Files): Add them.
7849         (Makefile.am): Add them to TESTS.
7850
7851         acl: Try unit tests on more file systems.
7852         * tests/test-file-has-acl-1.sh: New file.
7853         * tests/test-file-has-acl-2.sh: New file.
7854         * tests/test-set-mode-acl-1.sh: New file.
7855         * tests/test-set-mode-acl-2.sh: New file.
7856         * tests/test-copy-acl-1.sh: New file.
7857         * tests/test-copy-acl-2.sh: New file.
7858         * modules/acl-tests (Files): Add them.
7859         (Makefile.am): Add them to TESTS.
7860
7861 2011-09-04  Bruno Haible  <bruno@clisp.org>
7862
7863         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
7864         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
7865         10.
7866         (OLD_ALLOW, OLD_DENY): New macros.
7867         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
7868         ACE_ACCESS_ALLOWED_ACE_TYPE.
7869         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
7870         ACE_ACCESS_DENIED_ACE_TYPE.
7871         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
7872         (NEW_ACE_EXECUTE): Fix value.
7873         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
7874         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
7875         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
7876         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
7877         NEW_ACE_SYNCHRONIZE): New macros.
7878         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
7879         instead of acl_fromtext, acl_set, facl_set.
7880         Fixes a coreutils/tests/cp/perm failure.
7881
7882 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
7883
7884         openat: test for fstatat (..., 0) bug
7885         Further testing with tar suggests that fstatat (..., 0)
7886         does not work in general, on AIX 7.1; see
7887         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
7888         So, give up entirely on AIX 7.1's fstatat, and fall back on our
7889         replacement fstatat (which is what older AIX releases were using
7890         anyway).
7891         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
7892         use is now changed to orig_fstatat.  This was probably the right
7893         thing to do anyway.
7894         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
7895         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
7896         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
7897         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
7898         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
7899         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
7900         if the bug is found.
7901
7902         openat: test for fstatat (AT_FDCWD, ..., 0) bug
7903         This tests for another fstatat bug on AIX 7.1:
7904         fstatat (AT_FDCWD, ..., 0) does not work.  See
7905         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
7906         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
7907         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
7908         (rpl_fstatat): Adjust so that it works around either (or both)
7909         bugs if present.
7910         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
7911
7912 2011-09-03  Karl Berry  <karl@gnu.org>
7913
7914         * doc/regex.texi (Character Class Operators): Avoid literal ":"
7915         in index entries.
7916
7917 2011-09-02  Bruno Haible  <bruno@clisp.org>
7918
7919         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
7920         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
7921         values of AR, ARFLAGS, RANLIB.
7922         Reported by John W. Eaton <jwe@gnu.org> for Octave.
7923
7924 2011-09-02  Bruno Haible  <bruno@clisp.org>
7925
7926         Find 'ar' program that fits with --host argument.
7927         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
7928
7929 2011-09-02  Bruno Haible  <bruno@clisp.org>
7930
7931         tests: init.sh: Support any non-GNU diff.
7932         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
7933         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
7934         Solaris 8.
7935
7936 2011-09-02  Bruno Haible  <bruno@clisp.org>
7937
7938         tests: init.sh: work also with any non-GNU diff that supports -u
7939         * tests/init.sh: Relax check for diff -u support.
7940         Rather than checking for GNU diff via --version, simply check
7941         for support for -u itself.  Useful at least on OpenBSD 4.9,
7942         AIX 7.1, IRIX 6.5, and Solaris 10.
7943
7944 2011-09-01  Bruno Haible  <bruno@clisp.org>
7945
7946         strtoimax, strtoumax: Document problem on HP-UX 11.
7947         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
7948         * doc/posix-functions/strtoumax.texi: Likewise.
7949
7950 2011-09-01  Bruno Haible  <bruno@clisp.org>
7951
7952         strtoumax: Avoid link error on OSF/1 with DTK cc.
7953         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
7954         defined as a function.
7955         * modules/strtoumax (Depends-on, configure.ac): Test only whether
7956         strtoumax is defined, not whether it is declared.
7957
7958 2011-09-01  Bruno Haible  <bruno@clisp.org>
7959
7960         strtoimax: Avoid link error on OSF/1 with DTK cc.
7961         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
7962         defined as a function.
7963         * modules/strtoimax (Depends-on, configure.ac): Test only whether
7964         strtoimax is defined, not whether it is declared.
7965
7966 2011-09-01  Bruno Haible  <bruno@clisp.org>
7967
7968         imaxdiv: Avoid link error on OSF/1 with DTK cc.
7969         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
7970         as a function.
7971         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
7972         whether it is declared.
7973
7974 2011-09-01  Bruno Haible  <bruno@clisp.org>
7975
7976         imaxabs: Avoid link error on OSF/1 with DTK cc.
7977         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
7978         as a function.
7979         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
7980         whether it is declared.
7981
7982 2011-09-01  Bruno Haible  <bruno@clisp.org>
7983
7984         Tests for module 'strtoumax'.
7985         * modules/strtoumax-tests: New file.
7986         * tests/test-strtoumax.c: New file.
7987
7988         Tests for module 'strtoimax'.
7989         * modules/strtoimax-tests: New file.
7990         * tests/test-strtoimax.c: New file.
7991
7992         Tests for module 'imaxdiv'.
7993         * modules/imaxdiv-tests: New file.
7994         * tests/test-imaxdiv.c: New file.
7995
7996         Tests for module 'imaxabs'.
7997         * modules/imaxabs-tests: New file.
7998         * tests/test-imaxabs.c: New file.
7999
8000 2011-09-01  Bruno Haible  <bruno@clisp.org>
8001
8002         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
8003         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
8004         pthread_create.
8005
8006 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8007
8008         openat: work around AIX 7.1 fstatat issue
8009         This should fix the problem that was not properly fixed
8010         in the previous change, dated 2011-08-30.
8011         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
8012         __need_system_stat_h defined.
8013         (orig_fstatat) [HAVE_FSTATAT]: New function.
8014         (rpl_fstatat): Go back to the old way of doing things,
8015         except call orig_fstatat instead of fstatat.
8016         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
8017         Remove unnecessary check whether fstatat fills in st_size etc.
8018
8019 2011-09-01  Bruno Haible  <bruno@clisp.org>
8020
8021         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
8022         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
8023         just include the system's header.
8024
8025 2011-08-31  Jim Meyering  <meyering@redhat.com>
8026
8027         tests: avoid spurious assertion failure in test-float.c on ppc64
8028         * tests/test-float.c (test_long_double): Comment out an assertion,
8029         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
8030         with gcc-4.4.4.
8031
8032         maint: indent with spaces, not TABs
8033         I need to get in the habit of running gnulib's "make check".
8034         Both of these would have been caught.
8035         * m4/largefile.m4: Indent with spaces, not TABs.
8036         * lib/parse-datetime.y (iso_8601_time): Likewise.
8037         Spotted by Pádraig Brady.
8038
8039         test-parse-datetime.c: accommodate a relatively strict gcc warning
8040         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
8041         to avoid a warning from gcc's -Werror=missing-declarations.
8042         Insert a few spaces-before-funcall-parenthesis.
8043
8044 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
8045
8046         parse-datetime: accept ISO 8601 date and time rep with "T" separator
8047         The parser now accepts ISO 8601 date-time strings with "T" as the
8048         separator.  It has long parsed dates like "2004-02-29 16:21:42"
8049         with a space between the date and time strings.  Now it also parses
8050         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
8051         variants like "2004-02-29T16:21:42.333-07:00"
8052         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
8053         of day representation using the 'T' separator character.
8054         * doc/parse-datetime.texi (General date syntax): replace use of
8055         deprecated --iso-8601 option with --rfc-3339 in example of date
8056         command output formats that can be parsed.
8057         * tests/test-parse-datetime.c (tm_diff): New function, taken from
8058         lib/parse-datetime.y.
8059         (gmt_offset): New function.
8060         (main): Add additional test cases to validate ISO8601 extended
8061         date and time of day parsing.
8062
8063 2011-08-31  Bruno Haible  <bruno@clisp.org>
8064
8065         freopen: Documentation.
8066         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
8067         name.
8068         Reported by Claudio Bley <claudio.bley@gmail.com>.
8069
8070 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
8071
8072         freopen: Don't crash if the filename argument is NULL.
8073         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
8074         NULL.
8075
8076 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
8077
8078         openat: work around AIX 7.1 fstatat bug
8079         Problem reported by Kevin Brott for GNU tar, in the thread containing
8080         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
8081         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
8082         FSTATAT_ST_SIZE_ETC_BROKEN.
8083         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
8084         rpl_fstatat.
8085         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
8086         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
8087         AC_CHECK_FUNCS_ONCE for fstatat.
8088         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
8089         fchmodat, mkdirat, openat and unlinkat.
8090
8091 2011-08-30  Bruno Haible  <bruno@clisp.org>
8092
8093         Avoid endless recursions if config.h includes some header files.
8094         * lib/fopen.c (__need_FILE): Define already before including config.h.
8095         * lib/freopen.c (__need_FILE): Likewise.
8096         * lib/open.c (__need_system_fcntl_h): Likewise.
8097         * lib/stat.c (__need_system_sys_stat_h): Likewise.
8098         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
8099         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8100
8101 2011-08-25  Karl Berry  <karl@gnu.org>
8102
8103         * config/srclist.txt (ylwrap): new try.
8104         * build-aux/ylwrap: new file.
8105
8106 2011-08-23  Bruno Haible  <bruno@clisp.org>
8107
8108         tmpdir: Use a good default directory on native Windows.
8109         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
8110         (P_tmpdir): Default to _P_tmpdir on native Windows.
8111         (path_search): On native Windows, try the value returned by GetTempPath
8112         before trying P_tmpdir.
8113         * modules/tmpdir (Depends-on): Add pathmax.
8114         Suggested by John Darrington <john@darrington.wattle.id.au>.
8115
8116 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
8117
8118         doc: fix typo in README-release
8119         * top/README-release: Capitalize first word of a sentence.
8120
8121 2011-08-19  Jim Meyering  <meyering@redhat.com>
8122
8123         fts: do not exhaust memory when processing million-entry directories
8124         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
8125         directory would require about 256*N bytes of memory.  Thus, it was
8126         easy to construct a directory too large to be processed by any of
8127         those tools.  With this change, fts' maximum memory utilization is
8128         now limited to around 30MB.
8129         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
8130         (fts_read): When we've processed the final entry (i.e., when
8131         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
8132         using the parent entry to read any remaining entries.  Dispatch
8133         depending on what fts_build returns:
8134         - NULL+stop, aka failure: stop
8135         - NULL otherwise: move up in the dir hierarchy
8136         - non-NULL: handle this new entry
8137         (fts_build): Declare and use new local, continue_readdir.
8138         Prepare to be called from fts_read, when the entries
8139         from a partially-read directory have just been exhausted.
8140         In that case, we'll skip the opendir and instead use the parent's
8141         fts_dirp and derive dir_fd from that.
8142         Finally, in the readdir loop, if we read max_entries entries,
8143         exit the loop ensuring *not* to call closedir.  This is required
8144         so that fts_dirp can be reused on a subsequent call.
8145         Prompted by Ben England's report of memory exhaustion in find
8146         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
8147
8148         maint: fts: move decl of `dp' down into while loop; split a long line
8149         * lib/fts.c (fts_build): No semantic change.
8150
8151         fts: add/use new struct member, fts_dirp
8152         We are about to use this to manage any directory with
8153         too many entries to read all of them into memory at once.
8154         To do that, we'll need to save the DIR* pointer in each
8155         affected FTSENT struct.
8156         * lib/fts_.h: Include <dirent.h>.
8157         (struct FTSENT) [fts_dirp]: New member.
8158         * lib/fts.c (closedir_and_clear): Define.
8159         Use it in place of closedir so that we are sure to
8160         clear the new fts_dirp member when done with it.
8161         (fts_alloc): Initialize the new member.
8162         (fts_lfree): Free, if needed.
8163
8164         maint: fts: give __opendir2 a new parameter and rename
8165         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
8166         than surreptitiously using sole caller's "dir_fd".
8167         (fts_opendir): Rename from __opendir2.
8168
8169         maint: fts.c: remove __opendir2's now-unused parameter, oflag
8170         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
8171
8172         maint: fts.c: correct off-by-one indentation
8173         * lib/fts.c (fts_build): Correct indentation, change style
8174         of a couple of block comments, and bracing style.
8175
8176         maint: fts.c: move __opendir2 #define "up" out of function body
8177         * lib/fts.c (__opendir2): Move "up".  No semantic change.
8178
8179         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
8180         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
8181         out for a long time and besides was useful only on BSD systems.
8182
8183 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
8184
8185         regex: port to Stratus OpenVOS
8186         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
8187         define to empty, rather than attempting nonportable optimizations.
8188         Problem reported by Paul Green in:
8189         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
8190         and fix suggested by Eric Blake in:
8191         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
8192
8193 2011-08-17  Eric Blake  <eblake@redhat.com>
8194
8195         getcwd: fix test failures on mingw
8196         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
8197         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
8198         test if long directory cannot be created, and allow mingw errno.
8199
8200         getcwd-lgpl: fix m4 to match relaxed test for BSD
8201         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
8202         (gl_FUNC_GETCWD_SIGNATURE): New macro.
8203         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
8204         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
8205         signature problem.
8206
8207         getcwd: fix compilation on mingw64
8208         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
8209         getcwd.
8210         Reported by Marc-André Lureau.
8211
8212         pipe2: silence compiler warning
8213         * lib/pipe2.c (pipe2): Hide label if it is not used.
8214
8215 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
8216
8217         relocatable-prog: fix link error
8218         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
8219         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
8220         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
8221         into modules/relocatable-lib without noticing that
8222         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
8223         also needs to build relocatable.c.
8224
8225 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
8226
8227         getaddrinfo: fix sh typo in gai_strerrorA decl checking
8228         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
8229         shell code: it contained a 'break' that was not in a loop.
8230         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
8231         via a shell-language loop; this may have been true in old Autoconf
8232         versions, but it's not true in Autoconf 2.68.  I found this bug
8233         when testing coreutils git on Solaris 8, whose shell complains
8234         about the syntax error.
8235
8236 2011-08-12  Simon Josefsson  <simon@josefsson.org>
8237
8238         * lib/base64.c: Fix comment to reference RFC 4648.
8239         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
8240         <gvtulder@gmail.com>.
8241
8242 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
8243
8244         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
8245
8246         po/Makefile.in.in: fix make -q problem
8247         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
8248         rule, since there's no file named 'check-macro-version' and its
8249         use as a file breaks make -q.
8250         (all): Don't depend on check-macro-version.
8251         (CHECK_MACRO_VERSION): New macro.
8252         (stamp-po): Use it.
8253
8254         configmake: fix make -q problem
8255         * modules/configmake (configmake.h): Update configmake.h's time stamp
8256         even if the file does not change.  Otherwise, 'make -q' fails.
8257         Problem reported by Simon Josefsson in
8258         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
8259
8260 2011-08-11  Jim Meyering  <meyering@redhat.com>
8261
8262         git-version-gen: correct the advice in a comment
8263         * build-aux/git-version-gen: Correct comment.
8264         Don't recommend to list .tarball-version in .gitignore.
8265
8266 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
8267
8268         base64: fix off-by-one buffer size bug
8269         Problem and (trivial) fix reported by Gijs van Tulder in
8270         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
8271         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
8272         * tests/test-base64.c (main): Catch the bug.
8273
8274 2011-08-10  Eric Blake  <eblake@redhat.com>
8275
8276         closein: correct comments
8277         * lib/closein.c (close_stdin): Improve comments.
8278
8279 2011-08-09  Bruno Haible  <bruno@clisp.org>
8280
8281         More tests for 'fseeko'.
8282         * tests/test-fseeko3.c: New file, from Eric Blake.
8283         * tests/test-fseeko3.sh: New file.
8284         * modules/fseeko-tests (Files): Add them.
8285         (TESTS): Add test-fseeko3.sh.
8286         (check_PROGRAMS): Add test-fseeko3.
8287
8288 2011-08-09  Eric Blake  <eblake@redhat.com>
8289
8290         fseeko: remove unneeded hack
8291         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
8292
8293         fseeko: fix bug on glibc
8294         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
8295         Reported by John W. Eaton.
8296
8297 2011-08-08  Bruno Haible  <bruno@clisp.org>
8298
8299         unictype/base: Fix interoperability with preinstalled libunistring.
8300         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
8301         Reported by Simon Josefsson.
8302
8303 2011-08-08  Bruno Haible  <bruno@clisp.org>
8304
8305         iswblank: Detect declaration correctly.
8306         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
8307         AC_CHECK_DECLS invocation.
8308
8309 2011-08-08  Bruno Haible  <bruno@clisp.org>
8310
8311         tcgetsid: Detect declaration correctly.
8312         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
8313         AC_CHECK_DECLS invocation.
8314         Reported by Simon Josefsson.
8315
8316 2011-08-08  Eric Blake  <eblake@redhat.com>
8317
8318         largefile: fix typo that regressed large file support
8319         * modules/largefile (configure.ac-early): Fix section name.
8320
8321 2011-08-06  Karl Berry  <karl@gnu.org>
8322
8323         * MODULES.html.sh (func_all_files): _Noreturn is no longer
8324         a separate module.
8325
8326 2011-08-05  Simon Josefsson  <simon@josefsson.org>
8327
8328         openat: Fix warnings and commens when building unlinkat.c on Hurd.
8329         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
8330         get prototype for free.
8331
8332 2011-08-04  Bruno Haible  <bruno@clisp.org>
8333
8334         Tests for module 'pathmax'.
8335         * modules/pathmax-tests: New file.
8336         * tests/test-pathmax.c: New file.
8337
8338         canonicalize-lgpl: Support larger filenames on the Hurd.
8339         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
8340         Reported by Paul Eggert.
8341
8342         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
8343         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
8344         * lib/chdir-long.h: Include pathmax.h.
8345         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
8346         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
8347         (PATH_MAX): Remove code that is done by pathmax.h.
8348         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
8349         * lib/tmpfile.c: Add a comment.
8350         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
8351         * modules/chdir-long (Depends-on): Add pathmax.
8352         * modules/getcwd (Depends-on): Add pathmax.
8353         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
8354         is not defined.
8355         * doc/posix-headers/limits.texi: Mention the pathmax module.
8356         * NEWS: Mention the change.
8357
8358 2011-08-02  Bruno Haible  <bruno@clisp.org>
8359
8360         pthread_sigmask: Actually use results of gl_THREADLIB.
8361         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
8362         gl_THREADLIB, not gl_[]THREADLIB.
8363         Reported by Eric Blake.
8364
8365 2011-08-02  Jim Meyering  <meyering@redhat.com>
8366
8367         maint.mk: relax the default _gl_TS_function_match regexp
8368         * top/maint.mk (_gl_TS_function_match): Don't require at least one
8369         space between function name and "(" in an "extern" declaration.
8370         That would fail to match a decl with no space there: extern void foo();
8371
8372 2011-07-31  Iain Nicol  <iain@thenicols.net>
8373
8374         git-version-gen: document that EXTRA_DIST must include .version
8375         * build-aux/git-version-gen: In the how-to-use comment, document
8376         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
8377         will fail when run from an unpacked distribution tarball.
8378
8379 2011-08-01  Bruno Haible  <bruno@clisp.org>
8380
8381         wctype-h: Fix last change.
8382         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
8383         REPLACE_TOWLOWER to 0.
8384         Reported by Sam Steingold <sds@gnu.org>.
8385
8386 2011-07-31  Bruno Haible  <bruno@clisp.org>
8387
8388         frexpl: Update autoconf test.
8389         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
8390         according to changes of 2011-06-20.
8391
8392 2011-07-31  Bruno Haible  <bruno@clisp.org>
8393
8394         sys_utsname: Add support for Minix.
8395         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
8396         <sys/utsname.h>.
8397         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
8398         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
8399
8400 2011-07-31  Bruno Haible  <bruno@clisp.org>
8401
8402         strings: Add support for Minix.
8403         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
8404         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
8405         * doc/posix-headers/strings.texi: Document the Minix problem.
8406
8407 2011-07-31  Bruno Haible  <bruno@clisp.org>
8408
8409         wctype-h: Add support for Minix.
8410         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
8411         REPLACE_TOWLOWER.
8412         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
8413         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
8414         REPLACE_ISWCNTRL.
8415
8416 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
8417
8418         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
8419         This is a performance improvement for 64-bit hosts: it causes the
8420         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
8421
8422 2011-07-31  Bruno Haible  <bruno@clisp.org>
8423
8424         stdioext: Add support for Minix.
8425         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
8426         * lib/fpurge.c (fpurge): Likewise.
8427         * lib/freadahead.c (freadahead): Likewise.
8428         * lib/freadable.c (freadable): Likewise.
8429         * lib/freading.c (freading): Likewise.
8430         * lib/freadptr.c (freadptr): Likewise.
8431         * lib/freadseek.c (freadptrinc): Likewise.
8432         * lib/fseeko.c (rpl_fseeko): Likewise.
8433         * lib/fseterr.c (fseterr): Likewise.
8434         * lib/fwritable.c (fwritable): Likewise.
8435         * lib/fwriting.c (fwriting): Likewise.
8436         * lib/fflush.c (clear_ungetc_buffer): Update comment.
8437         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
8438
8439 2011-07-31  Bruno Haible  <bruno@clisp.org>
8440
8441         errno: Port to Minix.
8442         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
8443         ECONNABORTED are defined.
8444         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
8445         GNULIB_defined_ECONNABORTED): New macros.
8446         * lib/strerror-override.h (strerror_override): Test also
8447         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
8448         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
8449         ECONNABORTED.
8450         * doc/posix-headers/errno.texi: Mention the Minix problem.
8451
8452 2011-07-31  Bruno Haible  <bruno@clisp.org>
8453
8454         Work around declaration collisions on Minix.
8455         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
8456         defined, set REPLACE_MBSINIT.
8457         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
8458         defined, set REPLACE_MBRTOWC.
8459         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
8460         set REPLACE_MBRLEN.
8461         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
8462         defined, set REPLACE_MBSRTOWCS.
8463         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
8464         defined, set REPLACE_WCRTOMB.
8465         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
8466         defined, set REPLACE_WCSRTOMBS.
8467
8468 2011-07-31  Bruno Haible  <bruno@clisp.org>
8469
8470         Add support for Minix with ACK compiler.
8471         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
8472         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
8473         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
8474
8475 2011-07-31  Bruno Haible  <bruno@clisp.org>
8476
8477         Documentation about Minix.
8478         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
8479         * doc/glibc-headers/*.texi: Likewise.
8480         * doc/posix-functions/*.texi: Likewise.
8481         * doc/glibc-functions/*.texi: Likewise.
8482
8483 2011-07-31  Bruno Haible  <bruno@clisp.org>
8484
8485         snippet/warn-on-use: Fix indentation.
8486         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
8487
8488 2011-07-25  Jim Meyering  <meyering@redhat.com>
8489
8490         tests: test-update-copyright.sh: remove unnecessary "rm" commands
8491         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
8492         commands.
8493
8494 2011-07-27  Jim Meyering  <meyering@redhat.com>
8495
8496         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
8497         * top/maint.mk (gl_extract_significant_defines_): Now that
8498         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
8499         gnulib/lib/signal.in.h, and now that we recommend to
8500         define-if-undefined those two symbols in application code,
8501         we must filter them out of the "significant" list.
8502         This avoids a "make syntax-check" failure in coreutils.
8503
8504 2011-07-26  Eric Blake  <eblake@redhat.com>
8505
8506         warnings: add comments about previous patch
8507         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
8508         * m4/include_next.m4: Likewise.
8509         * m4/warn-on-use.m4: Likewise.
8510         * m4/warnings.m4: Likewise, and simplify use.
8511         Suggested by Stefano Lattarini.
8512
8513         include-next, warnings: support older autoconf
8514         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
8515         AS_VAR_PUSHDEF in a way that works with older autoconf.
8516         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
8517         Reported by Daniel P. Berrange.
8518
8519 2011-07-25  Bruno Haible  <bruno@clisp.org>
8520
8521         fseek, ftell: Fix doc.
8522         * doc/posix-functions/fseek.texi: Reword statement about
8523         AC_SYS_LARGEFILE.
8524         * doc/posix-functions/ftell.texi: Likewise.
8525
8526 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
8527             Bruno Haible  <bruno@clisp.org>
8528
8529         Add dependencies to the 'largefile' module.
8530         * modules/fopen (Depends-on): Add 'largefile'.
8531         * modules/freopen (Depends-on): Likewise.
8532         * modules/fseeko (Depends-on): Likewise.
8533         * modules/ftello (Depends-on): Likewise.
8534         * modules/glob (Depends-on): Likewise.
8535         * modules/lseek (Depends-on): Likewise.
8536         * modules/lstat (Depends-on): Likewise.
8537         * modules/mkostemp (Depends-on): Likewise.
8538         * modules/mkostemps (Depends-on): Likewise.
8539         * modules/mkstemp (Depends-on): Likewise.
8540         * modules/mkstemps (Depends-on): Likewise.
8541         * modules/open (Depends-on): Likewise.
8542         * modules/openat (Depends-on): Likewise.
8543         * modules/pread (Depends-on): Likewise.
8544         * modules/pwrite (Depends-on): Likewise.
8545         * modules/scandir (Depends-on): Likewise.
8546         * modules/stat (Depends-on): Likewise.
8547         * modules/tmpfile (Depends-on): Likewise.
8548         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
8549         since the containing module now depends on the largefile module.
8550         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
8551         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
8552         off_t is fixed by gnulib.
8553         * doc/posix-functions/freopen.texi: Likewise.
8554         * doc/posix-functions/fseeko.texi: Likewise.
8555         * doc/posix-functions/fstatat.texi: Likewise.
8556         * doc/posix-functions/ftello.texi: Likewise.
8557         * doc/posix-functions/glob.texi: Likewise.
8558         * doc/posix-functions/lseek.texi: Likewise.
8559         * doc/posix-functions/lstat.texi: Likewise.
8560         * doc/posix-functions/mkstemp.texi: Likewise.
8561         * doc/posix-functions/open.texi: Likewise.
8562         * doc/posix-functions/openat.texi: Likewise.
8563         * doc/posix-functions/pread.texi: Likewise.
8564         * doc/posix-functions/pwrite.texi: Likewise.
8565         * doc/posix-functions/scandir.texi: Likewise.
8566         * doc/posix-functions/stat.texi: Likewise.
8567         * doc/posix-functions/tmpfile.texi: Likewise.
8568         * doc/glibc-functions/mkostemp.texi: Likewise.
8569         * doc/glibc-functions/mkostemps.texi: Likewise.
8570         * doc/glibc-functions/mkstemps.texi: Likewise.
8571
8572 2011-07-25  Bruno Haible  <bruno@clisp.org>
8573
8574         fcntl: Move AC_LIBOBJ invocation to module description.
8575         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
8576         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
8577
8578         fcntl: Remove call-in from fchdir.m4.
8579         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
8580         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
8581
8582         dup3: Remove potential call-in from fchdir.m4.
8583         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
8584         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
8585
8586         dup2: Move AC_LIBOBJ invocation to module description.
8587         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
8588         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
8589         Don't invoke AC_LIBOBJ.
8590         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
8591
8592         dup2: Remove call-in from fchdir.m4.
8593         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
8594         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
8595
8596         fclose: Move AC_LIBOBJ invocation to module description.
8597         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
8598         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
8599         to 1.
8600         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
8601
8602         fclose: Remove call-in from close.m4.
8603         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
8604         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
8605
8606         close: Move AC_LIBOBJ invocation to module description.
8607         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
8608         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
8609         1.
8610         * modules/close (configure.ac): Invoke AC_LIBOBJ.
8611
8612         close: Remove call-in from fchdir.m4.
8613         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
8614         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
8615
8616         open: Move AC_LIBOBJ invocation to module description.
8617         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
8618         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
8619         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
8620
8621         open: Remove call-in from fchdir.m4.
8622         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
8623         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
8624
8625         fchdir: Start to remove gl_REPLACE_* idiom.
8626         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
8627         (gl_FUNC_FCHDIR): Invoke it.
8628
8629 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
8630
8631         * lib/ftell.c (ftell): Comment out cast.
8632
8633         close: use gl_REPLACE_FCLOSE only if defined
8634         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
8635         is defined.  The close module doesn't depend on the fclose module
8636         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
8637         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
8638         I reproduced the problem with "./gnulib-tool --test close sys_socket".
8639
8640 2011-07-24  Jim Meyering  <meyering@redhat.com>
8641
8642         test-select.h: avoid warning when using gcc's -Wmissing-declarations
8643         * tests/test-select.h (test_function): Declare as "static".
8644
8645 2011-07-24  Bruno Haible  <bruno@clisp.org>
8646
8647         doc: Mention the effects of AC_SYS_LARGEFILE.
8648         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
8649         on this function.
8650         * doc/posix-functions/aio_error.texi: Likewise.
8651         * doc/posix-functions/aio_fsync.texi: Likewise.
8652         * doc/posix-functions/aio_read.texi: Likewise.
8653         * doc/posix-functions/aio_return.texi: Likewise.
8654         * doc/posix-functions/aio_suspend.texi: Likewise.
8655         * doc/posix-functions/aio_write.texi: Likewise.
8656         * doc/posix-functions/fgetpos.texi: Likewise.
8657         * doc/posix-functions/fopen.texi: Likewise.
8658         * doc/posix-functions/freopen.texi: Likewise.
8659         * doc/posix-functions/fsetpos.texi: Likewise.
8660         * doc/posix-functions/fstatvfs.texi: Likewise.
8661         * doc/posix-functions/ftruncate.texi: Likewise.
8662         * doc/posix-functions/ftw.texi: Likewise.
8663         * doc/posix-functions/getrlimit.texi: Likewise.
8664         * doc/posix-functions/glob.texi: Likewise.
8665         * doc/posix-functions/lio_listio.texi: Likewise.
8666         * doc/posix-functions/lockf.texi: Likewise.
8667         * doc/posix-functions/mkstemp.texi: Likewise.
8668         * doc/posix-functions/mmap.texi: Likewise.
8669         * doc/posix-functions/nftw.texi: Likewise.
8670         * doc/posix-functions/openat.texi: Likewise.
8671         * doc/posix-functions/opendir.texi: Likewise.
8672         * doc/posix-functions/posix_fadvise.texi: Likewise.
8673         * doc/posix-functions/posix_fallocate.texi: Likewise.
8674         * doc/posix-functions/pread.texi: Likewise.
8675         * doc/posix-functions/pwrite.texi: Likewise.
8676         * doc/posix-functions/readdir.texi: Likewise.
8677         * doc/posix-functions/readdir_r.texi: Likewise.
8678         * doc/posix-functions/rewinddir.texi: Likewise.
8679         * doc/posix-functions/scandir.texi: Likewise.
8680         * doc/posix-functions/seekdir.texi: Likewise.
8681         * doc/posix-functions/setrlimit.texi: Likewise.
8682         * doc/posix-functions/statvfs.texi: Likewise.
8683         * doc/posix-functions/telldir.texi: Likewise.
8684         * doc/posix-functions/tmpfile.texi: Likewise.
8685         * doc/posix-functions/truncate.texi: Likewise.
8686         * doc/glibc-functions/fallocate.texi: Likewise.
8687         * doc/glibc-functions/fstatfs.texi: Likewise.
8688         * doc/glibc-functions/fts_children.texi: Likewise.
8689         * doc/glibc-functions/fts_read.texi: Likewise.
8690         * doc/glibc-functions/getdirentries.texi: Likewise.
8691         * doc/glibc-functions/mkostemp.texi: Likewise.
8692         * doc/glibc-functions/mkostemps.texi: Likewise.
8693         * doc/glibc-functions/mkstemps.texi: Likewise.
8694         * doc/glibc-functions/preadv.texi: Likewise.
8695         * doc/glibc-functions/pwritev.texi: Likewise.
8696         * doc/glibc-functions/sendfile.texi: Likewise.
8697         * doc/glibc-functions/statfs.texi: Likewise.
8698
8699 2011-07-24  Bruno Haible  <bruno@clisp.org>
8700
8701         doc: Fix typo.
8702         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
8703
8704 2011-07-24  Bruno Haible  <bruno@clisp.org>
8705
8706         doc: Mention fsusage.
8707         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
8708
8709 2011-07-24  Bruno Haible  <bruno@clisp.org>
8710
8711         doc: Mention new glibc headers and functions.
8712         * doc/glibc-headers/gshadow.texi: New file.
8713         * doc/glibc-functions/endsgent.texi: New file.
8714         * doc/glibc-functions/fgetsgent.texi: New file.
8715         * doc/glibc-functions/fgetsgent_r.texi: New file.
8716         * doc/glibc-functions/getsgent.texi: New file.
8717         * doc/glibc-functions/getsgent_r.texi: New file.
8718         * doc/glibc-functions/getsgnam.texi: New file.
8719         * doc/glibc-functions/getsgnam_r.texi: New file.
8720         * doc/glibc-functions/putsgent.texi: New file.
8721         * doc/glibc-functions/setsgent.texi: New file.
8722         * doc/glibc-functions/sgetsgent.texi: New file.
8723         * doc/glibc-functions/sgetsgent_r.texi: New file.
8724         * doc/glibc-functions/malloc_info.texi: New file.
8725         * doc/glibc-functions/preadv.texi: New file.
8726         * doc/glibc-functions/pwritev.texi: New file.
8727         * doc/glibc-functions/register_printf_modifier.texi: New file.
8728         * doc/glibc-functions/register_printf_specifier.texi: New file.
8729         * doc/glibc-functions/register_printf_type.texi: New file.
8730         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
8731         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
8732         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
8733         * doc/glibc-functions/pthread_getname_np.texi: New file.
8734         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
8735         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
8736         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
8737         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
8738         * doc/glibc-functions/pthread_setname_np.texi: New file.
8739         * doc/glibc-functions/pthread_sigqueue.texi: New file.
8740         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
8741         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
8742         * doc/glibc-functions/qsort_r.texi: New file.
8743         * doc/glibc-functions/quick_exit.texi: New file.
8744         * doc/glibc-functions/syncfs.texi: New file.
8745         * doc/gnulib.texi: Include them.
8746         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
8747         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
8748         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
8749         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
8750         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
8751         * doc/glibc-functions/execvpe.texi: Likewise.
8752
8753 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8754
8755         ftell: don't include <unistd.h>
8756         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
8757         guaranteed to define off_t, and the ftell module depends on the
8758         stdio module.
8759
8760         ftell: do not assume wraparound signed arithmetic
8761         * lib/ftell.c: Include <limits.h>.
8762         (ftell): Don't assume wraparound signed arithmetic.
8763
8764 2011-07-24  Bruno Haible  <bruno@clisp.org>
8765
8766         close: No longer depend on module 'fclose'.
8767         * modules/close (Depends-on): Remove fclose.
8768         * NEWS: Mention the change.
8769         Suggested by Sam Steingold <sds@gnu.org>.
8770
8771 2011-07-24  Bruno Haible  <bruno@clisp.org>
8772
8773         fsusage: Enable large volume support on AIX >= 5.2.
8774         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
8775         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
8776         instead of STAT_STATVFS.
8777         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
8778
8779         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
8780         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
8781         f_blocks field only on MacOS X.
8782
8783         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
8784         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
8785         * modules/fsusage (Depends-on): Add largefile.
8786
8787 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8788
8789         * README: Modernize discussion of signed integers.
8790         Assuming overflow wraparound is no longer safe.
8791         Mention ones' complement and signed magnitude.
8792
8793 2011-07-22  Bruno Haible  <bruno@clisp.org>
8794
8795         select tests, pselect tests: Refactor.
8796         * tests/test-select.h: New file, extracted from tests/test-select.c.
8797         (select_fn): New type.
8798         (test, do_select, do_select_nowait, do_select_wait, test_tty,
8799         test_connect_first, test_accept_first, test_pair, test_socket_pair,
8800         test_pipe): Add my_select argument.
8801         (test_function): Renamed from main. Add my_select argument.
8802         * tests/test-select.c: Move most code to tests/test-select.h. Include
8803         test-select.h.
8804         * modules/select-tests (Files): Add tests/test-select.h.
8805         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
8806         (my_select, main): New functions.
8807         * modules/pselect-tests (Files): Add tests/test-select.h,
8808         tests/macros.h, tests/signature.h.
8809         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
8810         (configure.ac): Check for <sys/wait.h>.
8811
8812 2011-07-22  Bruno Haible  <bruno@clisp.org>
8813
8814         sys_select tests: Check the signature of FD_*.
8815         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
8816         signature tests from here...
8817         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
8818         here.
8819         * modules/sys_select-tests (Files): Add tests/signature.h.
8820
8821 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
8822
8823         largefile: new module, replacing large-inode
8824         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
8825         * MODULES.html.sh: Add largefile, remove large-inode.
8826         * modules/largefile, m4/largefile.m4: New files.
8827         * modules/large-inode, m4/large-inode.m4: Remove.
8828
8829         fsusage: port to MacOS X 10.7 with 4 TiB file systems
8830         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
8831         implementations that use only 32 bits to count blocks.
8832         On typical hosts with 1024-byte blocks, this fails with file
8833         systems as small as 4 TiB.  Problem reported by Herb Wartens
8834         <http://debbugs.gnu.org/9140> and this should also fix a similar
8835         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
8836
8837         large-inode: New module
8838         * MODULES.html.sh: Add it.
8839         * modules/large-inode, m4/large-inode.m4: New files.
8840
8841         extensions: Enable extensions on MacOS X 10.5 and later.
8842         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
8843
8844 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
8845
8846         file-has-acl: use acl_extended_file_nofollow if available
8847         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
8848         (acl_extended_file): New macro.
8849         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
8850         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
8851
8852 2011-07-21  Bruno Haible  <bruno@clisp.org>
8853
8854         Declare system functions in a way that works with C++.
8855         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
8856         declare fdopendir as extern "C".
8857         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
8858         declare frexpl as extern "C".
8859         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
8860         declare gai_strerror as extern "C".
8861         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
8862         programs, declare gai_strerror as extern "C".
8863         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
8864         declare getlogin_r as extern "C".
8865         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
8866         as extern "C".
8867         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
8868         declare ldexpl as extern "C".
8869         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
8870         as extern "C".
8871         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
8872         program, declare getmntinfo as extern "C".
8873         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
8874         stpncpy as extern "C".
8875         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
8876         program, declare __xpg_strerror_r as extern "C".
8877         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
8878         strndup as extern "C".
8879         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
8880         declare memset and bzero as extern "C".
8881         Reported by Sam Steingold <sds@gnu.org>.
8882
8883 2011-07-12  Jim Meyering  <meyering@redhat.com>
8884
8885         maint.mk: prohibit inclusion of "verify.h" without use
8886         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
8887
8888 2011-07-19  Pádraig Brady  <P@draigBrady.com>
8889
8890         timer-time: A new module to check for timer_settime()
8891         * m4/timer_time.m4: Check for the posix function.
8892         * modules/timer-time: Add the new module.
8893         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
8894         Mention it.
8895
8896 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
8897             Bruno Haible  <bruno@clisp.org>
8898
8899         pthread_sigmask: assume POSIX threads if --avoid=threadlib
8900         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
8901         not defined, assume POSIX threads and look for pthread_sigmask in
8902         $LIBS, without changing $CPPFLAGS.
8903
8904 2011-07-19  Bruno Haible  <bruno@clisp.org>
8905
8906         strstr: Update cross-compilation guess.
8907         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
8908         CPUs, guess no, in view of glibc
8909         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
8910         Suggested by Eric Blake. Reported by Reuben Thomas.
8911
8912 2011-07-19  Pádraig Brady  <P@draigBrady.com>
8913
8914         getopt-gnu: suppress core dumps from detection code
8915         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
8916         to suppress core dumps that may well occur on glibc systems.
8917         * modules/getopt-gnu: Depend on nocrash.
8918
8919 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8920
8921         pthread_sigmask: ensure usleep is declared
8922         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
8923         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
8924
8925 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
8926
8927         doc: Document NonStop portability issues.
8928         * doc/posix-functions/sigaction.texi (sigaction):
8929         * doc/posix-headers/signal.texi (signal.h):
8930         Document NonStop.  See Joachim Schmitz in
8931         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
8932
8933 2011-07-15  Bruno Haible  <bruno@clisp.org>
8934
8935         ffsl, ffsll: Avoid unportable behaviour.
8936         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
8937
8938 2011-07-15  Bruno Haible  <bruno@clisp.org>
8939
8940         ffs: More tests.
8941         * tests/test-ffs.c (NBITS): New macro.
8942         (main): Add more tests.
8943         * tests/test-ffsl.c (NBITS): New macro.
8944         (main): Add more tests.
8945         * tests/test-ffsll.c (NBITS): New macro.
8946         (main): Add more tests.
8947
8948 2011-07-15  Eric Blake  <eblake@redhat.com>
8949
8950         ffsl, ffsll: new modules
8951         * modules/ffsl: New file.
8952         * modules/ffsll: Likewise.
8953         * m4/ffsl.m4: Likewise.
8954         * m4/ffsll.m4: Likewise.
8955         * lib/ffsl.c: Likewise.
8956         * lib/ffsl.h: Likewise.
8957         * lib/ffsll.c: Likewise.
8958         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
8959         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
8960         * modules/string (Makefile.am): Substitute witnesses.
8961         * lib/strings.in.h (ffsl, ffsll): Declare.
8962         * modules/ffsl-tests: New test file.
8963         * modules/ffsll-tests: Likewise.
8964         * tests/test-ffsl.c: Likewise.
8965         * tests/test-ffsll.c: Likewise.
8966         * MODULES.html.sh (Integer arithmetic functions): Mention it.
8967         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
8968         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
8969
8970         ffs: fix m4 prerequisite
8971         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
8972
8973         ffs: avoid undefined behavior
8974         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
8975         * tests/test-ffs.c (naive, main): Avoid signed shifts.
8976         Reported by Bruno Haible.
8977
8978 2011-07-12  Bruno Haible  <bruno@clisp.org>
8979
8980         pthread_sigmask: Rely on module 'threadlib'.
8981         * modules/pthread_sigmask (Depends-on): Add threadlib.
8982         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
8983         is defined.
8984
8985 2011-07-12  Bruno Haible  <bruno@clisp.org>
8986
8987         regex: Depend on module 'strcase'.
8988         * modules/regex (Depends-on): Add strcase, for strcasecmp().
8989
8990 2011-07-12  Jim Meyering  <meyering@redhat.com>
8991
8992         warn-on-use: fix typo in file name
8993         * modules/snippet/warn-on-use (Files): Correct file name:
8994         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
8995
8996 2011-07-12  Bruno Haible  <bruno@clisp.org>
8997
8998         strings: Document module.
8999         * doc/posix-headers/strings.texi: Mention module 'strings'.
9000
9001 2011-07-12  Bruno Haible  <bruno@clisp.org>
9002
9003         Rename module '_Noreturn' to 'snippet/_Noreturn'.
9004         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
9005         (Files, Makefile.am): Update.
9006         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
9007         * modules/stdlib (Depends-on): Update.
9008
9009 2011-07-12  Bruno Haible  <bruno@clisp.org>
9010
9011         * NEWS: Mention the changes.
9012
9013         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
9014         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
9015         (Files, Makefile.am): Update.
9016         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
9017         * modules/arpa_inet (Depends-on): Update.
9018         * modules/ctype (Depends-on): Update.
9019         * modules/dirent (Depends-on): Update.
9020         * modules/fcntl-h (Depends-on): Update.
9021         * modules/glob (Depends-on): Update.
9022         * modules/iconv-h (Depends-on): Update.
9023         * modules/inttypes-incomplete (Depends-on): Update.
9024         * modules/langinfo (Depends-on): Update.
9025         * modules/locale (Depends-on): Update.
9026         * modules/math (Depends-on): Update.
9027         * modules/netdb (Depends-on): Update.
9028         * modules/poll-h (Depends-on): Update.
9029         * modules/pty (Depends-on): Update.
9030         * modules/search (Depends-on): Update.
9031         * modules/signal (Depends-on): Update.
9032         * modules/spawn (Depends-on): Update.
9033         * modules/stdio (Depends-on): Update.
9034         * modules/stdlib (Depends-on): Update.
9035         * modules/string (Depends-on): Update.
9036         * modules/strings (Depends-on): Update.
9037         * modules/sys_file (Depends-on): Update.
9038         * modules/sys_ioctl (Depends-on): Update.
9039         * modules/sys_select (Depends-on): Update.
9040         * modules/sys_socket (Depends-on): Update.
9041         * modules/sys_stat (Depends-on): Update.
9042         * modules/sys_time (Depends-on): Update.
9043         * modules/sys_times (Depends-on): Update.
9044         * modules/sys_utsname (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         * MODULES.html.sh (Support for building libraries and executables):
9052         Update.
9053
9054         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
9055         * modules/snippet/unused-parameter: Renamed from
9056         modules/unused-parameter.
9057         (Files, Makefile.am): Update.
9058         * build-aux/snippet/unused-parameter.h: Renamed from
9059         build-aux/unused-parameter.h.
9060         * modules/selinux-h (Depends-on): Update.
9061         * modules/unistr/base (Depends-on): Update.
9062         * MODULES.html.sh (Core language properties): Update.
9063
9064         Rename module 'link-warning' to 'snippet/link-warning'.
9065         * modules/snippet/link-warning: Renamed from modules/link-warning.
9066         (Files, Makefile.am): Update.
9067         * build-aux/snippet/link-warning.h: Renamed from
9068         build-aux/link-warning.h.
9069         * MODULES.html.sh (Support for building libraries and executables):
9070         Update.
9071
9072         Rename module 'c++defs' to 'snippet/c++defs'.
9073         * modules/snippet/c++defs: Renamed from modules/c++defs.
9074         (Files, Makefile.am): Update.
9075         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
9076         * modules/arpa_inet (Depends-on): Update.
9077         * modules/ctype (Depends-on): Update.
9078         * modules/dirent (Depends-on): Update.
9079         * modules/fcntl-h (Depends-on): Update.
9080         * modules/glob (Depends-on): Update.
9081         * modules/iconv-h (Depends-on): Update.
9082         * modules/langinfo (Depends-on): Update.
9083         * modules/locale (Depends-on): Update.
9084         * modules/math (Depends-on): Update.
9085         * modules/netdb (Depends-on): Update.
9086         * modules/poll-h (Depends-on): Update.
9087         * modules/pty (Depends-on): Update.
9088         * modules/search (Depends-on): Update.
9089         * modules/signal (Depends-on): Update.
9090         * modules/spawn (Depends-on): Update.
9091         * modules/stdio (Depends-on): Update.
9092         * modules/stdlib (Depends-on): Update.
9093         * modules/string (Depends-on): Update.
9094         * modules/strings (Depends-on): Update.
9095         * modules/sys_ioctl (Depends-on): Update.
9096         * modules/sys_select (Depends-on): Update.
9097         * modules/sys_socket (Depends-on): Update.
9098         * modules/sys_stat (Depends-on): Update.
9099         * modules/sys_time (Depends-on): Update.
9100         * modules/sys_wait (Depends-on): Update.
9101         * modules/termios (Depends-on): Update.
9102         * modules/time (Depends-on): Update.
9103         * modules/unistd (Depends-on): Update.
9104         * modules/wchar (Depends-on): Update.
9105         * modules/wctype-h (Depends-on): Update.
9106
9107         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
9108         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
9109         (Files, Makefile.am): Update.
9110         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
9111         * modules/argv-iter (Depends-on): Update.
9112         * modules/arpa_inet (Depends-on): Update.
9113         * modules/dirent (Depends-on): Update.
9114         * modules/fcntl-h (Depends-on): Update.
9115         * modules/fnmatch (Depends-on): Update.
9116         * modules/getopt-posix (Depends-on): Update.
9117         * modules/glob (Depends-on): Update.
9118         * modules/iconv-h (Depends-on): Update.
9119         * modules/inttypes-incomplete (Depends-on): Update.
9120         * modules/locale (Depends-on): Update.
9121         * modules/math (Depends-on): Update.
9122         * modules/netdb (Depends-on): Update.
9123         * modules/search (Depends-on): Update.
9124         * modules/signal (Depends-on): Update.
9125         * modules/spawn (Depends-on): Update.
9126         * modules/stdio (Depends-on): Update.
9127         * modules/stdlib (Depends-on): Update.
9128         * modules/string (Depends-on): Update.
9129         * modules/strings (Depends-on): Update.
9130         * modules/sys_socket (Depends-on): Update.
9131         * modules/sys_stat (Depends-on): Update.
9132         * modules/sys_time (Depends-on): Update.
9133         * modules/sys_times (Depends-on): Update.
9134         * modules/sys_utsname (Depends-on): Update.
9135         * modules/time (Depends-on): Update.
9136         * modules/unistd (Depends-on): Update.
9137         * modules/wchar (Depends-on): Update.
9138         * MODULES.html.sh (Support for building libraries and executables):
9139         Update.
9140
9141 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
9142
9143         Improvements on _Noreturn and related modules.
9144
9145         modules/_Exit-tests: test _Noreturn too
9146         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
9147         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
9148         (main): Use them.
9149
9150         stdnoreturn, stdnoreturn-tests: remove modules
9151         They're not needed here and a bit premature for use elsewhere.  See
9152         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
9153         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
9154         * tests/test-stdnoreturn.c: Remove files.
9155         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
9156         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
9157         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
9158         and using noreturn.
9159         * modules/openat, modules/sigpipe-die, modules/xalloc:
9160         * modules/xmemdup0, modules/xstrtol:
9161         Remove dependency on stdnoreturn.
9162
9163         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
9164         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
9165         Reparenthesize to avoid GCC warning.
9166         Support Microsoft's syntax.
9167         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
9168
9169         _Noreturn-tests: remove module
9170         * modules/_Noreturn-tests: Remove.
9171         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
9172         * tests/test-_Noreturn.c: Remove.
9173         * tests/test-stdnoreturn.c: Merge from the old
9174         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
9175
9176 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
9177
9178         _Noreturn, stdnoreturn, and related modules.
9179
9180         * top/maint.mk: Adjust to new noreturn support.
9181         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
9182         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
9183
9184         xalloc: use stdnoreturn.h
9185         * lib/xalloc.h: Include <stdnoreturn.h>.
9186         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9187         * modules/xalloc (Depends-on): Add stdnoreturn.
9188
9189         xstrtol: use stdnoreturn.h
9190         * lib/xstrtol.h: Include <stdnoreturn.h>.
9191         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9192         * modules/xstrtol (Depends-on): Add stdnoreturn.
9193
9194         xmemdup0: use stdnoreturn.h
9195         * lib/xmemdup0.h: Include <stdnoreturn.h>.
9196         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9197         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
9198
9199         sigpipe-die: use stdnoreturn.h
9200         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
9201         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9202         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
9203
9204         openat: use stdnoreturn.h
9205         * lib/openat.h: Include <stdnoreturn.h>.
9206         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9207         * modules/openat (Depends-on): Add stdnoreturn.
9208
9209         * lib/openat-die.c (openat_save_fail): Modernize comment.
9210
9211         * lib/xalloc-die.c (xalloc_die): Modernize comment.
9212
9213         * lib/glthread/thread.h: Modernize comment.
9214
9215         obstack: use _Noreturn
9216         * lib/obstack.c (__attribute__): Remove macro.
9217         (print_and_abort): Use _Noreturn.
9218
9219         c-stack: use _Noreturn
9220         * lib/c-stack.c (die, overflow_handler, segv_handler):
9221         Use _Noreturn rather than __attribute__((noreturn)).
9222
9223         argmatch-tests, exclude_tests: use _Noreturn
9224         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
9225         Remove.
9226         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
9227
9228         stdlib: use _Noreturn
9229         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
9230         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
9231         * modules/stdlib (Depends-on): Add _Noreturn.
9232         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
9233
9234         stdnoreturn-tests: new module
9235         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
9236
9237         stdnoreturn: new module
9238         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
9239         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
9240
9241         _Noreturn-tests: new module
9242         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
9243
9244         _Noreturn: new module
9245         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
9246         New section, mentioning it.
9247         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
9248
9249         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
9250
9251 2011-07-11  Eric Blake  <eblake@redhat.com>
9252
9253         ffs: new module
9254         * modules/ffs: New file.
9255         * m4/ffs.m4: Likewise.
9256         * lib/ffs.c: Likewise.
9257         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
9258         * modules/strings (Makefile.am): Substitute witness.
9259         (Depends-on): Add c++defs.
9260         * lib/strings.in.h (ffs): Declare.
9261         * modules/ffs-tests: New test file.
9262         * tests/test-ffs.c: Test new module.
9263         * MODULES.html.sh (Integer arithmetic functions): Mention it.
9264         * doc/posix-functions/ffs.texi (ffs): Likewise.
9265
9266         regex: avoid compiler warning
9267         * lib/regex.c (includes): Include <strings.h>, for use of
9268         strcasecmp in regcomp.c.
9269         Reported by Joachim Schmitz.
9270
9271 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
9272
9273         stdint: respect system's intmax_t if INTMAX_MAX
9274         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
9275         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
9276         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
9277         long but int64_t is long long, and where we will clash with the
9278         system intmax_t if we override it.  See
9279         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
9280         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
9281         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
9282         similarly for UINTMAX_C.
9283
9284 2011-07-08  Bruno Haible  <bruno@clisp.org>
9285
9286         pthread_sigmask tests: Avoid a compiler warning.
9287         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
9288         non-zero.
9289
9290         sigprocmask tests: A better way to avoid a compiler warning.
9291         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
9292         (main): Complain if system() returns non-zero.
9293         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
9294
9295 2011-07-08  Bruno Haible  <bruno@clisp.org>
9296
9297         pthread_sigmask: Work around IRIX bug.
9298         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
9299         bug.
9300         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
9301         there may be unblocked pending signals.
9302         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
9303
9304 2011-07-08  Bruno Haible  <bruno@clisp.org>
9305
9306         pthread_sigmask: Work around Cygwin bug.
9307         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
9308         bug.
9309         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
9310         the system's pthread_sigmask function.
9311         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
9312
9313 2011-07-08  Bruno Haible  <bruno@clisp.org>
9314
9315         pthread_sigmask: Work around bug in single-threaded implementation.
9316         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
9317         FreeBSD, HP-UX, Solaris bug.
9318         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
9319         * lib/pthread_sigmask.c: Include <stddef.h>.
9320         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
9321         the system's pthread_sigmask function.
9322         * modules/pthread_sigmask (configure.ac): Invoke
9323         gl_PREREQ_PTHREAD_SIGMASK.
9324         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
9325         HP-UX, Solaris.
9326
9327 2011-07-08  Eric Blake  <eblake@redhat.com>
9328
9329         test-sigprocmask: avoid compiler warning
9330         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
9331         * tests/test-sigprocmask.c (main): Use it to silence warning.
9332         Reported by Jim Meyering.
9333
9334         test-snprintf: avoid compiler warning
9335         * tests/test-snprintf.c (main): Avoid shadowed declaration.
9336         * tests/test-vsnprintf.c (main): Likewise.
9337         Reported by Jim Meyering.
9338
9339 2011-07-08  Bruno Haible  <bruno@clisp.org>
9340
9341         Tests for module 'pthread_sigmask'.
9342         * modules/pthread_sigmask-tests: New file.
9343         * tests/test-pthread_sigmask1.c: New file, based on
9344         tests/test-sigprocmask.c.
9345         * tests/test-pthread_sigmask2.c: New file.
9346
9347 2011-07-08  Jim Meyering  <meyering@redhat.com>
9348
9349         test-getopt.h: avoid warning about an unused variable
9350         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
9351
9352 2011-07-07  Jim Meyering  <meyering@redhat.com>
9353
9354         maint: reduce list of files exempt from sc_prohibit_leading_TABs
9355         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
9356         now that it no longer contains leading TABs.
9357         Remove unused "url=FIXME" statement.
9358
9359 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
9360
9361         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
9362         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
9363         When gl_THREADLIB is not in use, assume that the POSIX sematics
9364         are desired.  This is better for Emacs, which uses POSIX semantics
9365         on GNUish and/or POSIXish platforms, and does not use threads at
9366         all otherwise.
9367
9368         pthread_sigmask: fix typo when testing for libraries
9369         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
9370         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
9371
9372 2011-07-08  Eric Blake  <eblake@redhat.com>
9373
9374         fts: introduce FTS_NOATIME
9375         * lib/fts_.h (FTS_NOATIME): New bit flag.
9376         (FTS_OPTIONMASK): Adjust.
9377         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
9378         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
9379
9380 2011-07-08  Bruno Haible  <bruno@clisp.org>
9381
9382         Tests for module 'thread'.
9383         * modules/thread-tests: New file.
9384         * tests/test-thread_self.c: New file.
9385         * tests/test-thread_create.cc: New file.
9386
9387 2011-07-08  Bruno Haible  <bruno@clisp.org>
9388
9389         thread: Avoid gcc warnings when using gl_thread_self().
9390         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
9391         'void *'.
9392         (gl_thread_self_pointer): Update.
9393
9394 2011-07-07  Bruno Haible  <bruno@clisp.org>
9395
9396         signal-c++-tests: Check declaration of pthread_sigmask.
9397         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
9398         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
9399         $(LIB_PTHREAD_SIGMASK).
9400
9401 2011-07-07  Bruno Haible  <bruno@clisp.org>
9402
9403         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
9404         * lib/signal.in.h (pthread_sigmask): Override if
9405         REPLACE_PTHREAD_SIGMASK is 1.
9406         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
9407         REPLACE_PTHREAD_SIGMASK.
9408         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
9409         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
9410         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
9411         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
9412         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
9413
9414 2011-07-07  Bruno Haible  <bruno@clisp.org>
9415
9416         pthread_sigmask: Ensure declaration in <signal.h>.
9417         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
9418         include <pthread.h>.
9419         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
9420         problem.
9421
9422 2011-07-07  Bruno Haible  <bruno@clisp.org>
9423
9424         pthread_sigmask: Document the module.
9425         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
9426
9427 2011-07-07  Bruno Haible  <bruno@clisp.org>
9428
9429         pthread_sigmask: Follow gnulib conventions.
9430         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
9431         gl_PTHREAD_SIGMASK.
9432         * modules/pthread_sigmask (configure.ac): Update.
9433
9434 2011-07-07  Bruno Haible  <bruno@clisp.org>
9435
9436         pthread_sigmask: Make declaration C++ safe.
9437         * lib/signal.in.h: In two special conditions, just do an #include_next.
9438         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
9439         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
9440         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
9441         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
9442         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
9443         not REPLACE_PTHREAD_MASK.
9444         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
9445         not REPLACE_PTHREAD_MASK.
9446         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
9447
9448 2011-07-07  Bruno Haible  <bruno@clisp.org>
9449
9450         pthread_sigmask: Fix return value.
9451         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
9452         * lib/pthread_sigmask.c: New file.
9453         * modules/pthread_sigmask (Files): Add it.
9454         (configure.ac): Invoke AC_LIBOBJ.
9455
9456 2011-07-07  Eric Blake  <eblake@redhat.com>
9457
9458         getopt: more portable argv creation
9459         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
9460         const, use char arrays rather than strings.
9461         Suggested by Paul Eggert.
9462
9463 2011-07-07  Bruno Haible  <bruno@clisp.org>
9464
9465         Tests for module 'sigprocmask'.
9466         * modules/sigprocmask-tests: New file.
9467         * tests/test-sigprocmask.c: New file.
9468
9469 2011-07-07  Bruno Haible  <bruno@clisp.org>
9470
9471         float tests: Tweak.
9472         * tests/test-float.c (main): Tweak skip message.
9473
9474 2011-07-07  Eric Blake  <eblake@redhat.com>
9475
9476         getopt: avoid compiler warning during configure
9477         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
9478         assigning string literals to non-const pointer.
9479
9480         getopt-gnu: avoid crash in glibc getopt
9481         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
9482         * tests/test-getopt.h (test_getopt): Enhance test.
9483         * tests/test-getopt_long.h (test_getopt_long): Likewise.
9484         * doc/posix-functions/getopt.texi (getopt): Document it.
9485         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
9486         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
9487         Likewise.
9488
9489 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
9490
9491         getopt: handle W; without long options in getopt [BZ #12922]
9492         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
9493         but no long options are defined, just return 'W'.
9494
9495 2011-07-07  Bruno Haible  <bruno@clisp.org>
9496
9497         Avoid literal tabs.
9498         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
9499         variable containing a tab instead of a literal tab.
9500         Reported by Jim Meyering.
9501
9502 2011-07-07  Bruno Haible  <bruno@clisp.org>
9503
9504         Comments.
9505         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
9506
9507 2011-07-06  Bruno Haible  <bruno@clisp.org>
9508
9509         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
9510         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
9511         <winsock2.h>.
9512         (rpl_fd_isset, FD_ISSET): New definitions, copied from
9513         lib/sys_socket.in.h.
9514         (close, gethostname): Hide declarations from <winsock2.h>.
9515         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
9516         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
9517         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
9518         (select): Don't override if gnulib's <sys/select.h> was already
9519         included.
9520         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
9521         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
9522         setsockopt, shutdown, select): Tweak indentation.
9523
9524 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9525
9526         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
9527         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
9528         in an application that does not use the sys_select module.
9529
9530 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
9531
9532         poll: do not return 0 on timeout=-1
9533         * lib/poll.c: Loop with yield if no events occured
9534
9535 2011-07-06  Eric Blake  <eblake@redhat.com>
9536
9537         pthread_sigmask: always replace when not using pthread
9538         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
9539         replacement when using some threading other than pthread.  Fix
9540         logic bug.
9541
9542 2011-07-06  Bruno Haible  <bruno@clisp.org>
9543
9544         Comments.
9545         * m4/printf.m4: Update comments about mingw.
9546
9547 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9548
9549         sys_select: define sigset_t more portably
9550         * lib/sys_select.in.h: Always include <sys/types.h>, since
9551         we now need sigset_t and mingw defines it there.
9552         Include <signal.h> before split inclusion guard, to avoid
9553         mishaps on Solaris, whose <signal.h> eventually includes us.
9554         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
9555         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
9556         which come from ...
9557         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
9558         gl_CHECK_TYPE_SIGSET_T.
9559         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
9560         does the real work.
9561         * modules/sys_select (Depends-on): Add 'signal'.
9562
9563         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
9564         Suggested by Bruno Haible.
9565
9566         pselect: Use pthread_sigmask, not sigprocmask.
9567         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
9568         multithreaded apps better than sigprocmask does.
9569         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
9570         sigprocmask directly.
9571
9572 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
9573
9574         * lib/pselect.c (pselect): Use plain name, without "rpl_".
9575         Don't #undef,  since we don't need any underlying pselect.
9576         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
9577         (Depends-on): Add select.
9578         (Link): Add $(LIBSOCKET).
9579         These changes suggested by Bruno Haible.
9580
9581         pselect: document better
9582         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
9583         * doc/posix-functions/pselect.texi (pselect): Document new module.
9584
9585         pthread_sigmask: new module
9586         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
9587         * doc/posix-functions/pthread_sigmask.texi: Document new module.
9588         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
9589         This is done only as a macro; I don't know how well that'll
9590         work for C++.  Move <sys/types.h> include before the include_next,
9591         to avoid mishap on Solaris.
9592         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
9593         * modules/signal (Makefile.am): Substitute the check's results.
9594         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
9595
9596         test-pselect: new module
9597         * modules/pselect-tests, tests/test-pselect.c: New files.
9598         * tests/test-select.c, tests/test-sys_select-c++.cc:
9599         If TEST_PSELECT is defined, test pselect instead of testing select.
9600
9601         * tests/test-sys_select.c (sigset_t): Test for it, too.
9602         Suggested by Bruno Haible.
9603
9604 2011-07-05  Eric Blake  <eblake@redhat.com>
9605
9606         snprintf: guarantee %1$d, for libintl
9607         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
9608         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
9609         * doc/posix-functions/snprintf.texi (snprintf): Update.
9610         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
9611         * tests/test-snprintf.c (main): Enhance test.
9612         * tests/test-vsnprintf.c (main): Likewise.
9613
9614 2011-07-05  Jim Meyering  <meyering@redhat.com>
9615
9616         maint: exempt stdio-read.c and stdio-write.c from the cppi check
9617         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
9618         per Bruno's request, to accommodate this idiom (no space after "#")
9619         even when the function is inside an #if block:
9620         char *
9621         gets (char *s)
9622         #undef gets
9623         {
9624           ...
9625         }
9626
9627 2011-07-04  Jim Meyering  <meyering@redhat.com>
9628
9629         maint: indent with spaces, not TABs, and add a rule to check this
9630         * tests/test-userspec.c: Indent with spaces, not TABs.
9631         * tests/test-argp.c: Likewise.
9632         * tests/test-c-stack2.sh: Likewise.
9633         * tests/test-parse-duration.sh: Likewise
9634         * m4/strtod.m4: Likewise.
9635         * m4/alloca.m4: Likewise.
9636         * m4/pselect.m4: Likewise.
9637         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
9638
9639 2011-07-03  Jim Meyering  <meyering@redhat.com>
9640
9641         maint.mk: correct omissions in prohibit_argmatch_without_use check
9642         This rule would mistakenly report that argmatch.h is included without
9643         use even when both the argmatch and invalid_arg macro were used.
9644         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
9645         of argmatch and invalid_arg.
9646
9647 2011-07-03  Bruno Haible  <bruno@clisp.org>
9648
9649         Comments about EINTR.
9650         * lib/safe-read.h: Explain the purpose of this module.
9651         * lib/safe-write.h: Likewise.
9652         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
9653         module.
9654         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
9655         module.
9656         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9657
9658 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
9659
9660         xnanosleep: Rewrite to use new dtotimespec module.
9661         It has the conversion code that used to be in xnanosleep.
9662         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
9663         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
9664         (TIME_T_MAX): Remove.
9665         (xnanosleep): Rewrite in terms of dtotimespec.
9666         * modules/xnanosleep (Depends-on): Add dtotimespec.
9667         Remove intprops, stdbool.
9668
9669         timespec-add, timespec-sub: new modules
9670         * lib/timespec.h (timespec_add, timespec_sub): New decls.
9671         * lib/timespec-add.c, lib/timespec-sub.c:
9672         * modules/timespec-add, modules/timespec-sub: New files.
9673
9674         dtotimespec: new module
9675         * lib/timespec.h (dtotimespec): New decl.
9676         * lib/dtotimespec.c, modules/dtotimespec: New files.
9677
9678         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
9679
9680         pselect: new module
9681         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
9682         (pselect): New decls.
9683         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
9684         since the standard pselect decl uses 'restrict'.
9685         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
9686         HAVE_PSELECT, REPLACE_PSELECT.
9687         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
9688         HAVE_PSELECT, REPLACE_PSELECT.
9689         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
9690
9691         sys_select: don't depend on sys_socket
9692         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
9693         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
9694         This fix works on GNU and GNU-like platforms, but has not been tested
9695         on native Windows.
9696         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
9697         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
9698         gl_HEADER_SYS_SOCKET.
9699         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
9700         gl_PREREQ_SYS_H_WINSOCK2.
9701
9702 2011-06-29  Eric Blake  <eblake@redhat.com>
9703
9704         pipe2: fix C89 compile problem
9705         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
9706         Reported by Bruno Haible.
9707
9708         pipe, pipe2: don't corrupt fd on error
9709         * lib/pipe.c (pipe): Leave fd unchanged on error.
9710         * lib/pipe2.c (pipe2): Likewise.
9711         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
9712         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
9713
9714 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
9715
9716         mmap-anon: do not use regular expressions inadvertently
9717         * m4/mmap-anon.m4: Remove trailing period from strings sought
9718         in the output.
9719
9720 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
9721
9722         nanosleep: fix integer overflow problem
9723         * lib/nanosleep.c (my_usleep): Don't assume signed integer
9724         arithmetic wraps around on overflow.
9725
9726         nanosleep: simplify carrying
9727         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
9728         first call to the underyling nanosleep, not for the last one.
9729         This doesn't fix any bugs, but it simplifies the computation of
9730         the remaining delay.  Found while auditing integer overflow issues.
9731
9732         dup2: remove test for existence of fcntl
9733         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
9734         "#if HAVE_FCNTL", in the configure-time test program.
9735         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
9736         and therefore speeds up "configure" a bit.  Found while
9737         adding the dup2 module to Emacs.
9738
9739 2011-06-24  Eric Blake  <eblake@redhat.com>
9740
9741         maint.mk: enhance useless header checks
9742         * top/maint.mk (_sc_header_without_use): Check both include
9743         styles.
9744         (sc_prohibit_assert_without_use)
9745         (sc_prohibit_close_stream_without_use)
9746         (sc_prohibit_getopt_without_use)
9747         (sc_prohibit_quotearg_without_use)
9748         (sc_prohibit_quote_without_use)
9749         (sc_prohibit_long_options_without_use)
9750         (sc_prohibit_inttostr_without_use)
9751         (sc_prohibit_ignore_value_without_use)
9752         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
9753         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
9754         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
9755         (sc_prohibit_hash_pjw_without_use)
9756         (sc_prohibit_safe_read_without_use)
9757         (sc_prohibit_argmatch_without_use)
9758         (sc_prohibit_canonicalize_without_use)
9759         (sc_prohibit_root_dev_ino_without_use)
9760         (sc_prohibit_openat_without_use)
9761         (sc_prohibit_c_ctype_without_use)
9762         (sc_prohibit_signal_without_use)
9763         (sc_prohibit_stdio--_without_use)
9764         (sc_prohibit_stdio-safer_without_use)
9765         (sc_prohibit_strings_without_use)
9766         (sc_prohibit_intprops_without_use)
9767         (sc_prohibit_stddef_without_use)
9768         (sc_prohibit_xfreopen_without_use): Update clients.
9769
9770 2011-06-24  Jim Meyering  <meyering@redhat.com>
9771
9772         syntax-check: keep one maint.mk rule in sync with its header
9773         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
9774         of the bug Eric has just fixed, with today's commit 25e4c2ec.
9775         I prefer to avoid temporary files here, so use <(...), but that
9776         is not supported by /bin/sh, so...
9777         (SHELL): Define to /bin/bash.
9778
9779 2011-06-24  Eric Blake  <eblake@redhat.com>
9780
9781         maint.mk: update sc_prohibit_intprops_without_use
9782         * top/maint.mk (_intprops_names): Match recent changes.
9783
9784 2011-06-24  Bruno Haible  <bruno@clisp.org>
9785
9786         strerror-override: No-op tweak.
9787         * lib/strerror-override.h (strerror_override): Reorder conditions,
9788         for consistency with lib/strerror-override.c.
9789
9790 2011-06-23  Eric Blake  <eblake@redhat.com>
9791
9792         maint.mk: test further PATH_MAX issues
9793         * top/maint.mk (sc_prohibit_path_max_array): Rename...
9794         (sc_prohibit_path_max_allocation): ...and also test alloca.
9795         Suggested by Jim Meyering.
9796
9797 2011-06-22  Eric Blake  <eblake@redhat.com>
9798
9799         maint.mk: add syntax-check to avoid char[PATH_MAX]
9800         * top/maint.mk (sc_prohibit_path_max_array): New rule.
9801
9802         stat: be robust to PATH_MAX definition
9803         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
9804         * modules/stat (Depends-on): Add verify.
9805
9806         link: work around IRIX bug
9807         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
9808         * lib/link.c (rpl_link): Work around it.
9809         * tests/test-link.h (test_link): Enhance test.
9810         * doc/posix-functions/link.texi (link): Document the bug.
9811
9812         getopt: silence clang warning
9813         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
9814         dereference.
9815         Reported by Gustavo Martin Domato.
9816
9817 2011-06-22  Jim Meyering  <meyering@redhat.com>
9818
9819         bootstrap: do not insert a blank line into each .gitignore file
9820         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
9821
9822 2011-06-21  Eric Blake  <eblake@redhat.com>
9823
9824         perror: test for output mismatch
9825         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
9826         perror on IRIX.
9827
9828         strerror_r: fix OpenBSD behavior on out-of-range
9829         * lib/strerror_r.c (strerror_r): Always use maximal string.
9830         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9831
9832         strerror_r: fix OpenBSD behavior on 0
9833         * lib/strerror-override.c (strerror_override): Also override 0
9834         when needed.
9835         * lib/strerror-override.h (strerror_override): Likewise.
9836         * lib/strerror.c (strerror): Simplify, now that 0 override is done
9837         earlier.
9838         * lib/strerror_r.c (strerror_r): Likewise.
9839         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
9840         behavior...
9841         (gl_FUNC_STRERROR_0): ...into new macro.
9842         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
9843         is overridden.
9844         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
9845         * modules/strerror-override (Files): Add strerror.m4.
9846         (configure.ac): Also provide override for 0 when needed.
9847         * doc/posix-functions/strerror.texi (strerror): Document this.
9848         * doc/posix-functions/perror.texi (perror): Likewise.
9849
9850         perror: adjust array size
9851         * modules/perror (Depends-on): Add strerror-override.
9852         * lib/perror.c (perror): Use it to avoid magic number.
9853
9854         strerror-override: reduce size
9855         * lib/strerror-override.c (strerror_override): Use fewer lines.
9856
9857 2011-06-20  Bruno Haible  <bruno@clisp.org>
9858
9859         pathmax: Ensure correct value for PATH_MAX on HP-UX.
9860         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
9861
9862 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
9863
9864         alloca: port to compilers that can optimize like GCC 4.6.0
9865         * lib/alloca.c (find_stack_direction): New signature, taken from
9866         Autoconf git.  This works with GCC 4.6.0.  This code should never
9867         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
9868         be used with other compilers that optimize as well as GCC 4.6.0 does.
9869         (alloca): Adjust to new signature.
9870         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
9871         New macro, which patches Autoconf in a similar way.
9872
9873         c-stack: stop worrying about stack direction
9874         * lib/c-stack.c (find_stack_direction): Remove.
9875         (segv_handler): Don't worry about stack direction growth, as it's
9876         too much of a pain to configure this correctly, given how compilers
9877         are optimizing-away our stack-growth detection code.  Instead, assume
9878         that any access to just before or just after the stack is OK.
9879         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
9880         Don't require AC_FUNC_ALLOCA; no longer needed.
9881
9882 2011-06-20  Eric Blake  <eblake@redhat.com>
9883
9884         test-stat: don't allocate PATH_MAX bytes
9885         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
9886         PATH_MAX-sized buffer.
9887         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
9888         * modules/stat-tests (Depends-on): Likewise.
9889         * tests/test-fstatat.c (includes): Drop pathmax.h.
9890         * tests/test-stat.c (includes): Likewise.
9891         Reported by Bruno Haible.
9892
9893 2011-06-20  Bruno Haible  <bruno@clisp.org>
9894
9895         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
9896         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
9897         * lib/float.c: New file.
9898         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
9899         REPLACE_FLOAT_LDBL.
9900         * modules/float (Files): Add lib/float.c.
9901         (configure.ac): Invoke AC_LIBOBJ.
9902         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
9903
9904 2011-06-20  Bruno Haible  <bruno@clisp.org>
9905
9906         Tests for module 'float'.
9907         * modules/float-tests: New file.
9908         * tests/test-float.c: New file.
9909
9910 2011-06-19  Bruno Haible  <bruno@clisp.org>
9911
9912         isinf: Coding style.
9913         * lib/isinf.c: Use GNU coding style.
9914
9915 2011-06-19  Bruno Haible  <bruno@clisp.org>
9916
9917         linkat test: Avoid test failure on AIX 7.1.
9918         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
9919         * tests/test-link.h (test_link): Likewise.
9920
9921 2011-06-19  Bruno Haible  <bruno@clisp.org>
9922
9923         pread test: Avoid test failure on OpenBSD 4.9.
9924         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
9925
9926 2011-06-19  Bruno Haible  <bruno@clisp.org>
9927
9928         sprintf-posix: Fix test failure on AIX 7.1.
9929         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
9930         * doc/posix-functions/dprintf.texi: Mention limited precision problem
9931         on AIX.
9932         * doc/posix-functions/fprintf.texi: Likewise.
9933         * doc/posix-functions/printf.texi: Likewise.
9934         * doc/posix-functions/snprintf.texi: Likewise.
9935         * doc/posix-functions/sprintf.texi: Likewise.
9936         * doc/posix-functions/vdprintf.texi: Likewise.
9937         * doc/posix-functions/vfprintf.texi: Likewise.
9938         * doc/posix-functions/vprintf.texi: Likewise.
9939         * doc/posix-functions/vsnprintf.texi: Likewise.
9940         * doc/posix-functions/vsprintf.texi: Likewise.
9941
9942 2011-06-19  Bruno Haible  <bruno@clisp.org>
9943
9944         roundl-ieee: Fix test failure on AIX 7.1.
9945         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
9946         * doc/posix-functions/roundl.texi: Mention problem with negative
9947         arguments.
9948
9949 2011-06-19  Bruno Haible  <bruno@clisp.org>
9950
9951         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
9952         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
9953         * doc/posix-functions/round.texi: Mention problem with negative
9954         arguments.
9955         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
9956
9957 2011-06-19  Bruno Haible  <bruno@clisp.org>
9958
9959         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
9960         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
9961         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
9962         * doc/posix-functions/roundf.texi: Mention problem with negative
9963         arguments.
9964         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
9965
9966 2011-06-19  Bruno Haible  <bruno@clisp.org>
9967
9968         ceilf-ieee: Work around bug on MacOS X 10.5.
9969         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
9970
9971         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
9972         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
9973         IEEE compliant, avoid compiler optimizations.
9974         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
9975         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
9976         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
9977         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
9978         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9979         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
9980         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9981         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
9982         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
9983         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
9984
9985 2011-06-19  Bruno Haible  <bruno@clisp.org>
9986
9987         ceilf-ieee: Work around bug on AIX 7.1.
9988         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
9989         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
9990
9991 2011-06-19  Bruno Haible  <bruno@clisp.org>
9992
9993         ceil-ieee: Work around bug on AIX 7.1.
9994         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
9995         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
9996
9997 2011-06-18  Bruno Haible  <bruno@clisp.org>
9998
9999         fsync test: Avoid test failure on MacOS X and AIX.
10000         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
10001         EINVAL.
10002
10003 2011-06-18  Bruno Haible  <bruno@clisp.org>
10004
10005         openat, fdopendir tests: Fix link errors.
10006         * modules/openat-tests (Depends-on): Add progname.
10007         * modules/fdopendir-tests (Depends-on): Likewise.
10008         * tests/test-fchownat.c: Include progname.h.
10009         (main): Call set_program_name.
10010         * tests/test-fstatat.c: Include progname.h.
10011         (main): Call set_program_name.
10012         * tests/test-mkdirat.c: Include progname.h.
10013         (main): Call set_program_name.
10014         * tests/test-openat.c: Include progname.h.
10015         (main): Call set_program_name.
10016         * tests/test-unlinkat.c: Include progname.h.
10017         (main): Call set_program_name.
10018         * tests/test-fdopendir.c: Include progname.h.
10019         (main): Call set_program_name.
10020
10021 2011-06-18  Bruno Haible  <bruno@clisp.org>
10022
10023         Doc update.
10024         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
10025         HP-UX.
10026         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
10027
10028 2011-06-18  Bruno Haible  <bruno@clisp.org>
10029
10030         getcwd tests: Avoid compilation error on HP-UX 11.31.
10031         * modules/getcwd-tests (Depends-on): Add pathmax.
10032         * tests/test-getcwd.c: Include pathmax.h.
10033
10034 2011-06-18  Bruno Haible  <bruno@clisp.org>
10035
10036         isfinite, isinf: Fix link error on AIX 6 and 7.
10037         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
10038         needed, also test the macro with a 'float' argument.
10039         * m4/isinf.m4 (gl_ISINF): Likewise.
10040
10041 2011-06-18  Bruno Haible  <bruno@clisp.org>
10042
10043         getloadavg: Don't clobber LIBS. Regression from previous commit.
10044         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
10045         AC_CHECK_LIB from here...
10046         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
10047         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
10048         gl_func_getloadavg_done.
10049         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10050
10051 2011-06-18  Bruno Haible  <bruno@clisp.org>
10052
10053         clean-temp: Improve documentation.
10054         * lib/clean-temp.h: Explain better how to use this module.
10055         Reported by John Darrington <john@darrington.wattle.id.au>.
10056
10057 2011-06-17  Bruno Haible  <bruno@clisp.org>
10058
10059         pread, pwrite: Avoid cc warning on AIX.
10060         * lib/unistd.in.h (pread): Undefine before defining as a macro.
10061         (pwrite): Likewise.
10062
10063 2011-06-17  Bruno Haible  <bruno@clisp.org>
10064
10065         spawn-pipe tests: Fix link error.
10066         * tests/test-spawn-pipe-child.c: Undefine fprintf.
10067         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10068
10069 2011-06-17  Bruno Haible  <bruno@clisp.org>
10070
10071         Tests: Remove unnecessary dependency.
10072         * modules/canonicalize-tests (Depends-on): Remove progname.
10073         * modules/chown-tests (Depends-on): Likewise.
10074         * modules/dirname-tests (Depends-on): Likewise.
10075         * modules/fdopendir-tests (Depends-on): Likewise.
10076         * modules/fdutimensat-tests (Depends-on): Likewise.
10077         * modules/hash-tests (Depends-on): Likewise.
10078         * modules/lchown-tests (Depends-on): Likewise.
10079         * modules/linkat-tests (Depends-on): Likewise.
10080         * modules/renameat-tests (Depends-on): Likewise.
10081         * modules/spawn-pipe-tests (Depends-on): Likewise.
10082         * modules/utimensat-tests (Depends-on): Likewise.
10083
10084 2011-06-17  Bruno Haible  <bruno@clisp.org>
10085
10086         spawn-pipe tests: Fix link error.
10087         * tests/test-spawn-pipe-child.c: Undefine fflush.
10088
10089 2011-06-17  Bruno Haible  <bruno@clisp.org>
10090
10091         Fix tests link errors.
10092         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
10093         * modules/chown-tests (Makefile.am): Don't link test-chown with
10094         LIBINTL.
10095         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
10096         LIBINTL.
10097         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
10098         LIBINTL.
10099         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
10100         LIBINTL.
10101
10102 2011-06-16  Bruno Haible  <bruno@clisp.org>
10103
10104         crypto/gc-sha1: Fix recent regression.
10105         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
10106         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
10107
10108         crypto/gc-md5: Fix recent regression.
10109         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
10110
10111         crypto/gc-md4: Fix recent regression.
10112         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
10113         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
10114
10115         crypto/gc-arctwo: Fix recent regression.
10116         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
10117         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
10118
10119         crypto/gc-rijndael: Fix recent regression.
10120         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
10121         (configure.ac): Invoke AC_LIBOBJ here.
10122         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
10123         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10124
10125         crypto/gc-hmac-sha1: Fix recent regression.
10126         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
10127         (configure.ac): Invoke AC_LIBOBJ here.
10128         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
10129         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10130
10131         crypto/gc-hmac-md5: Fix recent regression.
10132         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
10133         (configure.ac): Invoke AC_LIBOBJ here.
10134         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
10135         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10136
10137         crypto/gc-des: Fix recent regression.
10138         * modules/crypto/gc-des (Files): Remove m4/des.m4.
10139         (configure.ac): Invoke AC_LIBOBJ here.
10140         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
10141         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10142
10143         crypto/gc-arcfour: Fix recent regression.
10144         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
10145         (configure.ac): Invoke AC_LIBOBJ here.
10146         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
10147         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10148
10149 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
10150
10151         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
10152         After the 2011-05-21 change, this macro requires
10153         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
10154         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
10155
10156 2011-06-16  Bruno Haible  <bruno@clisp.org>
10157
10158         fprintftime: Move AC_LIBOBJ invocations to module description.
10159         * m4/fprintftime.m4: Remove file.
10160         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
10161         (configure.ac): Remove gl_FPRINTFTIME call.
10162         (Makefile.am): Augment lib_SOURCES.
10163         Reported by Jim Meyering.
10164
10165 2011-06-16  Bruno Haible  <bruno@clisp.org>
10166
10167         tmpfile-safer: Finish 2011-05-23 commit.
10168         * m4/stdio-safer.m4: Really remove file.
10169         Reported by Jim Meyering.
10170
10171 2011-06-16  Bruno Haible  <bruno@clisp.org>
10172
10173         syntax-check: Fix typo.
10174         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
10175         printf-posix.m4.
10176         Reported by Jim Meyering.
10177
10178 2011-06-13  Jim Meyering  <meyering@redhat.com>
10179
10180         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
10181         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
10182
10183 2011-05-23  Bruno Haible  <bruno@clisp.org>
10184
10185         yesno: Move AC_LIBOBJ invocations to module description.
10186         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
10187         * modules/yesno (Makefile.am): Augment lib_SOURCES.
10188
10189 2011-05-23  Bruno Haible  <bruno@clisp.org>
10190
10191         xstrtol: Move AC_LIBOBJ invocations to module description.
10192         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
10193         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
10194
10195 2011-05-23  Bruno Haible  <bruno@clisp.org>
10196
10197         xstrtold: Move AC_LIBOBJ invocations to module description.
10198         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
10199         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
10200
10201 2011-05-23  Bruno Haible  <bruno@clisp.org>
10202
10203         xstrtod: Move AC_LIBOBJ invocations to module description.
10204         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
10205         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
10206
10207 2011-05-23  Bruno Haible  <bruno@clisp.org>
10208
10209         xnanosleep: Move AC_LIBOBJ invocations to module description.
10210         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
10211         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
10212
10213 2011-05-23  Bruno Haible  <bruno@clisp.org>
10214
10215         xgetcwd: Move AC_LIBOBJ invocations to module description.
10216         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
10217         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
10218
10219 2011-05-23  Bruno Haible  <bruno@clisp.org>
10220
10221         xalloc: Move AC_LIBOBJ invocations to module description.
10222         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
10223         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
10224
10225 2011-05-23  Bruno Haible  <bruno@clisp.org>
10226
10227         write-any-file: Move AC_LIBOBJ invocations to module description.
10228         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
10229         invocation.
10230         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
10231
10232 2011-05-23  Bruno Haible  <bruno@clisp.org>
10233
10234         utimens: Move AC_LIBOBJ invocations to module description.
10235         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
10236         * modules/utimens (Makefile.am): Augment lib_SOURCES.
10237
10238 2011-05-23  Bruno Haible  <bruno@clisp.org>
10239
10240         utimecmp: Move AC_LIBOBJ invocations to module description.
10241         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
10242         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
10243
10244 2011-05-23  Bruno Haible  <bruno@clisp.org>
10245
10246         userspec: Move AC_LIBOBJ invocations to module description.
10247         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
10248         * modules/userspec (Makefile.am): Augment lib_SOURCES.
10249
10250 2011-05-23  Bruno Haible  <bruno@clisp.org>
10251
10252         unlinkdir: Move AC_LIBOBJ invocations to module description.
10253         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
10254         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
10255
10256 2011-05-23  Bruno Haible  <bruno@clisp.org>
10257
10258         unistd-safer: Move AC_LIBOBJ invocations to module description.
10259         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
10260         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
10261
10262 2011-05-23  Bruno Haible  <bruno@clisp.org>
10263
10264         tempname: Move AC_LIBOBJ invocations to module description.
10265         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
10266         * modules/tempname (Makefile.am): Augment lib_SOURCES.
10267
10268 2011-05-23  Bruno Haible  <bruno@clisp.org>
10269
10270         strftime: Move AC_LIBOBJ invocations to module description.
10271         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
10272         * modules/strftime (Makefile.am): Augment lib_SOURCES.
10273
10274 2011-05-23  Bruno Haible  <bruno@clisp.org>
10275
10276         stdlib-safer: Move AC_LIBOBJ invocations to module description.
10277         * m4/stdlib-safer.m4: Remove file.
10278         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
10279         (configure.ac): Remove gl_STDLIB_SAFER call.
10280         (Makefile.am): Augment lib_SOURCES.
10281
10282 2011-05-23  Bruno Haible  <bruno@clisp.org>
10283
10284         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
10285         * m4/stdio-safer.m4: Remove file.
10286         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
10287         (configure.ac): Remove gl_TMPFILE_SAFER call.
10288         (Makefile.am): Augment lib_SOURCES.
10289
10290 2011-05-23  Bruno Haible  <bruno@clisp.org>
10291
10292         popen-safer: Move AC_LIBOBJ invocations to module description.
10293         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
10294         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
10295         (configure.ac): Remove gl_POPEN_SAFER call.
10296         (Makefile.am): Augment lib_SOURCES.
10297
10298 2011-05-23  Bruno Haible  <bruno@clisp.org>
10299
10300         freopen-safer: Move AC_LIBOBJ invocations to module description.
10301         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
10302         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
10303         (configure.ac): Remove gl_FREOPEN_SAFER call.
10304         (Makefile.am): Augment lib_SOURCES.
10305
10306 2011-05-23  Bruno Haible  <bruno@clisp.org>
10307
10308         fopen-safer: Move AC_LIBOBJ invocations to module description.
10309         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
10310         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
10311         (configure.ac): Remove gl_FOPEN_SAFER call.
10312         (Makefile.am): Augment lib_SOURCES.
10313
10314 2011-05-23  Bruno Haible  <bruno@clisp.org>
10315
10316         crypto/sha512: Move AC_LIBOBJ invocations to module description.
10317         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
10318         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
10319
10320 2011-05-23  Bruno Haible  <bruno@clisp.org>
10321
10322         crypto/sha256: Move AC_LIBOBJ invocations to module description.
10323         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
10324         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
10325
10326 2011-05-23  Bruno Haible  <bruno@clisp.org>
10327
10328         crypto/sha1: Move AC_LIBOBJ invocations to module description.
10329         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
10330         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
10331
10332 2011-05-23  Bruno Haible  <bruno@clisp.org>
10333
10334         settime: Move AC_LIBOBJ invocations to module description.
10335         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
10336         * modules/settime (Makefile.am): Augment lib_SOURCES.
10337
10338 2011-05-23  Bruno Haible  <bruno@clisp.org>
10339
10340         savedir: Move AC_LIBOBJ invocations to module description.
10341         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
10342         * modules/savedir (Makefile.am): Augment lib_SOURCES.
10343
10344 2011-05-23  Bruno Haible  <bruno@clisp.org>
10345
10346         save-cwd: Move AC_LIBOBJ invocations to module description.
10347         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
10348         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
10349
10350 2011-05-23  Bruno Haible  <bruno@clisp.org>
10351
10352         same: Move AC_LIBOBJ invocations to module description.
10353         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
10354         * modules/same (Makefile.am): Augment lib_SOURCES.
10355
10356 2011-05-23  Bruno Haible  <bruno@clisp.org>
10357
10358         safe-write: Move AC_LIBOBJ invocations to module description.
10359         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
10360         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
10361         instead of gl_SAFE_WRITE.
10362         (Makefile.am): Augment lib_SOURCES.
10363
10364 2011-05-23  Bruno Haible  <bruno@clisp.org>
10365
10366         safe-read: Move AC_LIBOBJ invocations to module description.
10367         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
10368         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
10369         of gl_SAFE_READ.
10370         (Makefile.am): Augment lib_SOURCES.
10371
10372 2011-05-23  Bruno Haible  <bruno@clisp.org>
10373
10374         safe-alloc: Move AC_LIBOBJ invocations to module description.
10375         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
10376         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
10377
10378 2011-05-23  Bruno Haible  <bruno@clisp.org>
10379
10380         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
10381         * m4/rijndael.m4: Remove file.
10382         * modules/crypto/rijndael (Files): Remove it.
10383         (configure.ac): Remove gl_RIJNDAEL call.
10384         (Makefile.am): Augment lib_SOURCES.
10385
10386 2011-05-23  Bruno Haible  <bruno@clisp.org>
10387
10388         readtokens: Move AC_LIBOBJ invocations to module description.
10389         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
10390         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
10391
10392 2011-05-23  Bruno Haible  <bruno@clisp.org>
10393
10394         read-file: Move AC_LIBOBJ invocations to module description.
10395         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
10396         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
10397         of gl_FUNC_READ_FILE.
10398         (Makefile.am): Augment lib_SOURCES.
10399
10400 2011-05-23  Bruno Haible  <bruno@clisp.org>
10401
10402         quotearg: Move AC_LIBOBJ invocations to module description.
10403         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
10404         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
10405
10406 2011-05-23  Bruno Haible  <bruno@clisp.org>
10407
10408         quote: Move AC_LIBOBJ invocations to module description.
10409         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
10410         * modules/quote (Makefile.am): Augment lib_SOURCES.
10411
10412 2011-05-23  Bruno Haible  <bruno@clisp.org>
10413
10414         posixver: Move AC_LIBOBJ invocations to module description.
10415         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
10416         * modules/posixver (Makefile.am): Augment lib_SOURCES.
10417
10418 2011-05-23  Bruno Haible  <bruno@clisp.org>
10419
10420         posixtm: Move AC_LIBOBJ invocations to module description.
10421         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
10422         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
10423
10424 2011-05-23  Bruno Haible  <bruno@clisp.org>
10425
10426         physmem: Move AC_LIBOBJ invocations to module description.
10427         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
10428         * modules/physmem (Makefile.am): Augment lib_SOURCES.
10429
10430 2011-05-23  Bruno Haible  <bruno@clisp.org>
10431
10432         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
10433         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
10434         invocation.
10435         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
10436
10437 2011-05-23  Bruno Haible  <bruno@clisp.org>
10438
10439         mpsort: Move AC_LIBOBJ invocations to module description.
10440         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
10441         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
10442
10443 2011-05-23  Bruno Haible  <bruno@clisp.org>
10444
10445         modechange: Move AC_LIBOBJ invocations to module description.
10446         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
10447         * modules/modechange (Makefile.am): Augment lib_SOURCES.
10448
10449 2011-05-23  Bruno Haible  <bruno@clisp.org>
10450
10451         mkdir-p: Move AC_LIBOBJ invocations to module description.
10452         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
10453         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
10454
10455 2011-05-23  Bruno Haible  <bruno@clisp.org>
10456
10457         mkancesdirs: Move AC_LIBOBJ invocations to module description.
10458         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
10459         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
10460
10461 2011-05-23  Bruno Haible  <bruno@clisp.org>
10462
10463         mgetgroups: Move AC_LIBOBJ invocations to module description.
10464         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
10465         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
10466
10467 2011-05-23  Bruno Haible  <bruno@clisp.org>
10468
10469         memxor: Move AC_LIBOBJ invocations to module description.
10470         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
10471         * modules/memxor (Makefile.am): Augment lib_SOURCES.
10472
10473 2011-05-23  Bruno Haible  <bruno@clisp.org>
10474
10475         memcoll: Move AC_LIBOBJ invocations to module description.
10476         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
10477         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
10478
10479 2011-05-23  Bruno Haible  <bruno@clisp.org>
10480
10481         memcasecmp: Move AC_LIBOBJ invocations to module description.
10482         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
10483         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
10484
10485 2011-05-23  Bruno Haible  <bruno@clisp.org>
10486
10487         crypto/md5: Move AC_LIBOBJ invocations to module description.
10488         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
10489         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
10490
10491 2011-05-23  Bruno Haible  <bruno@clisp.org>
10492
10493         crypto/md4: Move AC_LIBOBJ invocations to module description.
10494         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
10495         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
10496
10497 2011-05-23  Bruno Haible  <bruno@clisp.org>
10498
10499         crypto/md2: Move AC_LIBOBJ invocations to module description.
10500         * m4/md2.m4: Remove file.
10501         * modules/crypto/md2 (Files): Remove it.
10502         (configure.ac): Remove gl_MD2 call.
10503         (Makefile.am): Augment lib_SOURCES.
10504
10505 2011-05-23  Bruno Haible  <bruno@clisp.org>
10506
10507         long-options: Move AC_LIBOBJ invocations to module description.
10508         * m4/long-options.m4: Remove file.
10509         * modules/long-options (Files): Remove it.
10510         (configure.ac): Remove gl_LONG_OPTIONS call.
10511         (Makefile.am): Augment lib_SOURCES.
10512
10513 2011-05-23  Bruno Haible  <bruno@clisp.org>
10514
10515         i-ring: Move AC_LIBOBJ invocations to module description.
10516         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
10517         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
10518
10519 2011-05-23  Bruno Haible  <bruno@clisp.org>
10520
10521         idcache: Move AC_LIBOBJ invocations to module description.
10522         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
10523         * modules/idcache (Makefile.am): Augment lib_SOURCES.
10524
10525 2011-05-23  Bruno Haible  <bruno@clisp.org>
10526
10527         human: Move AC_LIBOBJ invocations to module description.
10528         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
10529         * modules/human (Makefile.am): Augment lib_SOURCES.
10530
10531 2011-05-23  Bruno Haible  <bruno@clisp.org>
10532
10533         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
10534         * m4/hmac-sha1.m4: Remove file.
10535         * modules/crypto/hmac-sha1 (Files): Remove it.
10536         (configure.ac): Remove gl_HMAC_SHA1 call.
10537         (Makefile.am): Augment lib_SOURCES.
10538
10539 2011-05-23  Bruno Haible  <bruno@clisp.org>
10540
10541         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
10542         * m4/hmac-md5.m4: Remove file.
10543         * modules/crypto/hmac-md5 (Files): Remove it.
10544         (configure.ac): Remove gl_HMAC_MD5 call.
10545         (Makefile.am): Augment lib_SOURCES.
10546
10547 2011-05-23  Bruno Haible  <bruno@clisp.org>
10548
10549         hash: Move AC_LIBOBJ invocations to module description.
10550         * m4/hash.m4: Remove file.
10551         * modules/hash (Files): Remove it.
10552         (configure.ac): Remove gl_HASH call.
10553         (Makefile.am): Augment lib_SOURCES.
10554
10555 2011-05-23  Bruno Haible  <bruno@clisp.org>
10556
10557         hard-locale: Move AC_LIBOBJ invocations to module description.
10558         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
10559         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
10560
10561 2011-05-23  Bruno Haible  <bruno@clisp.org>
10562
10563         getugroups: Move AC_LIBOBJ invocations to module description.
10564         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
10565         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
10566
10567 2011-05-23  Bruno Haible  <bruno@clisp.org>
10568
10569         gettime: Move AC_LIBOBJ invocations to module description.
10570         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
10571         * modules/gettime (Makefile.am): Augment lib_SOURCES.
10572
10573 2011-05-23  Bruno Haible  <bruno@clisp.org>
10574
10575         getndelim2: Move AC_LIBOBJ invocations to module description.
10576         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
10577         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
10578
10579 2011-05-23  Bruno Haible  <bruno@clisp.org>
10580
10581         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
10582         * m4/gc-pbkdf2-sha1.m4: Remove file.
10583         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
10584         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
10585         (Makefile.am): Augment lib_SOURCES.
10586
10587 2011-05-23  Bruno Haible  <bruno@clisp.org>
10588
10589         fts: Move AC_LIBOBJ invocations to module description.
10590         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
10591         * modules/fts (configure.ac): ... to here.
10592
10593 2011-05-23  Bruno Haible  <bruno@clisp.org>
10594
10595         file-type: Move AC_LIBOBJ invocations to module description.
10596         * m4/file-type.m4: Remove file.
10597         * modules/file-type (Files): Remove it.
10598         (configure.ac): Remove gl_FILE_TYPE call.
10599         (Makefile.am): Augment lib_SOURCES.
10600
10601 2011-05-23  Bruno Haible  <bruno@clisp.org>
10602
10603         filenamecat*: Respect rules for use of AC_LIBOBJ.
10604         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
10605         Remove AC_LIBOBJ invocation.
10606         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
10607         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
10608
10609 2011-05-23  Bruno Haible  <bruno@clisp.org>
10610
10611         filemode: Move AC_LIBOBJ invocations to module description.
10612         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
10613         * modules/filemode (Makefile.am): Augment lib_SOURCES.
10614
10615 2011-05-23  Bruno Haible  <bruno@clisp.org>
10616
10617         openat-safer: Move AC_LIBOBJ invocations to module description.
10618         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
10619         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
10620
10621 2011-05-23  Bruno Haible  <bruno@clisp.org>
10622
10623         fcntl-safer: Move AC_LIBOBJ invocations to module description.
10624         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
10625         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
10626
10627 2011-05-23  Bruno Haible  <bruno@clisp.org>
10628
10629         exclude: Move AC_LIBOBJ invocations to module description.
10630         * m4/exclude.m4: Remove file.
10631         * modules/exclude (Files): Remove it.
10632         (configure.ac): Remove gl_EXCLUDE call.
10633         (Makefile.am): Augment lib_SOURCES.
10634
10635 2011-05-23  Bruno Haible  <bruno@clisp.org>
10636
10637         dirname*: Respect rules for use of AC_LIBOBJ.
10638         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
10639         invocations.
10640         * modules/dirname (Makefile.am): Augment lib_SOURCES.
10641         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
10642
10643 2011-05-23  Bruno Haible  <bruno@clisp.org>
10644
10645         dirent-safer: Move AC_LIBOBJ invocations to module description.
10646         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
10647         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
10648
10649 2011-05-23  Bruno Haible  <bruno@clisp.org>
10650
10651         crypto/des: Move AC_LIBOBJ invocations to module description.
10652         * m4/des.m4: Remove file.
10653         * modules/crypto/des (Files): Remove it.
10654         (configure.ac): Remove gl_DES call.
10655         (Makefile.am): Augment lib_SOURCES.
10656
10657 2011-05-23  Bruno Haible  <bruno@clisp.org>
10658
10659         cycle-check: Move AC_LIBOBJ invocations to module description.
10660         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
10661         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
10662
10663 2011-05-23  Bruno Haible  <bruno@clisp.org>
10664
10665         c-strtold: Move AC_LIBOBJ invocations to module description.
10666         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
10667         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
10668
10669 2011-05-23  Bruno Haible  <bruno@clisp.org>
10670
10671         c-strtod: Move AC_LIBOBJ invocations to module description.
10672         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
10673         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
10674
10675 2011-05-23  Bruno Haible  <bruno@clisp.org>
10676
10677         crc: Move AC_LIBOBJ invocations to module description.
10678         * m4/crc.m4: Remove file.
10679         * modules/crc (Files): Remove it.
10680         (configure.ac): Remove gl_CRC call.
10681         (Makefile.am): Augment lib_SOURCES.
10682
10683 2011-05-23  Bruno Haible  <bruno@clisp.org>
10684
10685         close-stream: Move AC_LIBOBJ invocations to module description.
10686         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
10687         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
10688
10689 2011-05-23  Bruno Haible  <bruno@clisp.org>
10690
10691         closeout: Move AC_LIBOBJ invocations to module description.
10692         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
10693         * modules/closeout (Makefile.am): Augment lib_SOURCES.
10694
10695 2011-05-23  Bruno Haible  <bruno@clisp.org>
10696
10697         closein: Move AC_LIBOBJ invocations to module description.
10698         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
10699         * modules/closein (Makefile.am): Augment lib_SOURCES.
10700
10701 2011-05-23  Bruno Haible  <bruno@clisp.org>
10702
10703         cloexec: Move AC_LIBOBJ invocations to module description.
10704         * m4/cloexec.m4: Remove file.
10705         * modules/cloexec (Files): Remove it.
10706         (configure.ac): Remove gl_CLOEXEC call.
10707         (Makefile.am): Augment lib_SOURCES.
10708
10709 2011-05-23  Bruno Haible  <bruno@clisp.org>
10710
10711         check-version: Move AC_LIBOBJ invocations to module description.
10712         * m4/check-version.m4: Remove file.
10713         * modules/check-version (Files): Remove it.
10714         (configure.ac): Remove gl_CHECK_VERSION call.
10715         (Makefile.am): Augment lib_SOURCES.
10716
10717 2011-05-23  Bruno Haible  <bruno@clisp.org>
10718
10719         chdir-safer: Move AC_LIBOBJ invocations to module description.
10720         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
10721         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
10722
10723 2011-05-23  Bruno Haible  <bruno@clisp.org>
10724
10725         canonicalize: Move AC_LIBOBJ invocations to module description.
10726         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
10727         AC_LIBOBJ invocation.
10728         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
10729
10730 2011-05-23  Bruno Haible  <bruno@clisp.org>
10731
10732         canon-host: Move AC_LIBOBJ invocations to module description.
10733         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
10734         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
10735         instead of gl_CANON_HOST.
10736         (Makefile.am): Augment lib_SOURCES.
10737
10738 2011-05-23  Bruno Haible  <bruno@clisp.org>
10739
10740         backupfile: Move AC_LIBOBJ invocations to module description.
10741         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
10742         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
10743
10744 2011-05-23  Bruno Haible  <bruno@clisp.org>
10745
10746         argmatch: Move AC_LIBOBJ invocations to module description.
10747         * m4/argmatch.m4: Remove file.
10748         * modules/argmatch (Files): Remove it.
10749         (configure.ac): Remove gl_ARGMATCH call.
10750         (Makefile.am): Augment lib_SOURCES.
10751
10752 2011-05-23  Bruno Haible  <bruno@clisp.org>
10753
10754         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
10755         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
10756         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
10757
10758 2011-05-23  Bruno Haible  <bruno@clisp.org>
10759
10760         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
10761         * m4/arcfour.m4: Remove file.
10762         * modules/crypto/arcfour (Files): Remove it.
10763         (configure.ac): Remove gl_ARCFOUR call.
10764         (Makefile.am): Augment lib_SOURCES.
10765
10766 2011-05-22  Bruno Haible  <bruno@clisp.org>
10767
10768         write: Move AC_LIBOBJ invocations to module description.
10769         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
10770         * modules/write (configure.ac): ... to here.
10771
10772 2011-05-22  Bruno Haible  <bruno@clisp.org>
10773
10774         wmemset: Move AC_LIBOBJ invocations to module description.
10775         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
10776         here...
10777         * modules/wmemset (configure.ac): ... to here.
10778
10779 2011-05-22  Bruno Haible  <bruno@clisp.org>
10780
10781         wmemmove: Move AC_LIBOBJ invocations to module description.
10782         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
10783         here...
10784         * modules/wmemmove (configure.ac): ... to here.
10785
10786 2011-05-22  Bruno Haible  <bruno@clisp.org>
10787
10788         wmemcpy: Move AC_LIBOBJ invocations to module description.
10789         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
10790         here...
10791         * modules/wmemcpy (configure.ac): ... to here.
10792
10793 2011-05-22  Bruno Haible  <bruno@clisp.org>
10794
10795         wmemcmp: Move AC_LIBOBJ invocations to module description.
10796         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
10797         here...
10798         * modules/wmemcmp (configure.ac): ... to here.
10799
10800 2011-05-22  Bruno Haible  <bruno@clisp.org>
10801
10802         wmemchr: Move AC_LIBOBJ invocations to module description.
10803         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
10804         here...
10805         * modules/wmemchr (configure.ac): ... to here.
10806
10807 2011-05-22  Bruno Haible  <bruno@clisp.org>
10808
10809         wcswidth: Move AC_LIBOBJ invocations to module description.
10810         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
10811         here...
10812         * modules/wcswidth (configure.ac): ... to here.
10813
10814 2011-05-22  Bruno Haible  <bruno@clisp.org>
10815
10816         wcwidth: Respect rules for use of AC_LIBOBJ.
10817         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
10818         invocation from here...
10819         * modules/wcwidth (configure.ac): ... to here.
10820         (Depends-on): Update conditions.
10821
10822 2011-05-22  Bruno Haible  <bruno@clisp.org>
10823
10824         wctype: Move AC_LIBOBJ invocations to module description.
10825         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
10826         invocation from here...
10827         * modules/wctype (configure.ac): ... to here.
10828         (Depends-on): Update conditions.
10829
10830 2011-05-22  Bruno Haible  <bruno@clisp.org>
10831
10832         wctrans: Move AC_LIBOBJ invocations to module description.
10833         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
10834         invocation from here...
10835         * modules/wctrans (configure.ac): ... to here.
10836
10837 2011-05-22  Bruno Haible  <bruno@clisp.org>
10838
10839         wctomb: Move AC_LIBOBJ invocations to module description.
10840         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
10841         invocations from here...
10842         * modules/wctomb (configure.ac): ... to here.
10843
10844 2011-05-22  Bruno Haible  <bruno@clisp.org>
10845
10846         wctob: Move AC_LIBOBJ invocations to module description.
10847         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
10848         gl_PREREQ_WCTOB invocations from here...
10849         * modules/wctob (configure.ac): ... to here.
10850         (Depends-on): Update conditions.
10851
10852 2011-05-22  Bruno Haible  <bruno@clisp.org>
10853
10854         wcsxfrm: Move AC_LIBOBJ invocations to module description.
10855         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
10856         here...
10857         * modules/wcsxfrm (configure.ac): ... to here.
10858
10859 2011-05-22  Bruno Haible  <bruno@clisp.org>
10860
10861         wcstok: Move AC_LIBOBJ invocations to module description.
10862         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
10863         * modules/wcstok (configure.ac): ... to here.
10864
10865 2011-05-22  Bruno Haible  <bruno@clisp.org>
10866
10867         wcsstr: Move AC_LIBOBJ invocations to module description.
10868         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
10869         * modules/wcsstr (configure.ac): ... to here.
10870
10871 2011-05-22  Bruno Haible  <bruno@clisp.org>
10872
10873         wcsspn: Move AC_LIBOBJ invocations to module description.
10874         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
10875         * modules/wcsspn (configure.ac): ... to here.
10876
10877 2011-05-22  Bruno Haible  <bruno@clisp.org>
10878
10879         wcsrtombs: Move AC_LIBOBJ invocations to module description.
10880         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
10881         gl_PREREQ_WCSRTOMBS invocations from here...
10882         * modules/wcsrtombs (configure.ac): ... to here.
10883
10884 2011-05-22  Bruno Haible  <bruno@clisp.org>
10885
10886         wcsrchr: Move AC_LIBOBJ invocations to module description.
10887         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
10888         here...
10889         * modules/wcsrchr (configure.ac): ... to here.
10890
10891 2011-05-22  Bruno Haible  <bruno@clisp.org>
10892
10893         wcspbrk: Move AC_LIBOBJ invocations to module description.
10894         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
10895         here...
10896         * modules/wcspbrk (configure.ac): ... to here.
10897
10898 2011-05-22  Bruno Haible  <bruno@clisp.org>
10899
10900         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
10901         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
10902         gl_PREREQ_WCSNRTOMBS invocations from here...
10903         * modules/wcsnrtombs (configure.ac): ... to here.
10904
10905 2011-05-22  Bruno Haible  <bruno@clisp.org>
10906
10907         wcsnlen: Move AC_LIBOBJ invocations to module description.
10908         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
10909         here...
10910         * modules/wcsnlen (configure.ac): ... to here.
10911
10912 2011-05-22  Bruno Haible  <bruno@clisp.org>
10913
10914         wcsncpy: Move AC_LIBOBJ invocations to module description.
10915         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
10916         here...
10917         * modules/wcsncpy (configure.ac): ... to here.
10918
10919 2011-05-22  Bruno Haible  <bruno@clisp.org>
10920
10921         wcsncmp: Move AC_LIBOBJ invocations to module description.
10922         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
10923         here...
10924         * modules/wcsncmp (configure.ac): ... to here.
10925
10926 2011-05-22  Bruno Haible  <bruno@clisp.org>
10927
10928         wcsncat: Move AC_LIBOBJ invocations to module description.
10929         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
10930         here...
10931         * modules/wcsncat (configure.ac): ... to here.
10932
10933 2011-05-22  Bruno Haible  <bruno@clisp.org>
10934
10935         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
10936         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
10937         from here...
10938         * modules/wcsncasecmp (configure.ac): ... to here.
10939
10940 2011-05-22  Bruno Haible  <bruno@clisp.org>
10941
10942         wcslen: Move AC_LIBOBJ invocations to module description.
10943         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
10944         * modules/wcslen (configure.ac): ... to here.
10945
10946 2011-05-22  Bruno Haible  <bruno@clisp.org>
10947
10948         wcsdup: Move AC_LIBOBJ invocations to module description.
10949         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
10950         * modules/wcsdup (configure.ac): ... to here.
10951
10952 2011-05-22  Bruno Haible  <bruno@clisp.org>
10953
10954         wcscspn: Move AC_LIBOBJ invocations to module description.
10955         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
10956         here...
10957         * modules/wcscspn (configure.ac): ... to here.
10958
10959 2011-05-22  Bruno Haible  <bruno@clisp.org>
10960
10961         wcscpy: Move AC_LIBOBJ invocations to module description.
10962         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
10963         * modules/wcscpy (configure.ac): ... to here.
10964
10965 2011-05-22  Bruno Haible  <bruno@clisp.org>
10966
10967         wcscoll: Move AC_LIBOBJ invocations to module description.
10968         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
10969         here...
10970         * modules/wcscoll (configure.ac): ... to here.
10971
10972 2011-05-22  Bruno Haible  <bruno@clisp.org>
10973
10974         wcscmp: Move AC_LIBOBJ invocations to module description.
10975         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
10976         * modules/wcscmp (configure.ac): ... to here.
10977
10978 2011-05-22  Bruno Haible  <bruno@clisp.org>
10979
10980         wcschr: Move AC_LIBOBJ invocations to module description.
10981         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
10982         * modules/wcschr (configure.ac): ... to here.
10983
10984 2011-05-22  Bruno Haible  <bruno@clisp.org>
10985
10986         wcscat: Move AC_LIBOBJ invocations to module description.
10987         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
10988         * modules/wcscat (configure.ac): ... to here.
10989
10990 2011-05-22  Bruno Haible  <bruno@clisp.org>
10991
10992         wcscasecmp: Move AC_LIBOBJ invocations to module description.
10993         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
10994         here...
10995         * modules/wcscasecmp (configure.ac): ... to here.
10996
10997 2011-05-22  Bruno Haible  <bruno@clisp.org>
10998
10999         wcrtomb: Move AC_LIBOBJ invocations to module description.
11000         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
11001         invocations from here...
11002         * modules/wcrtomb (configure.ac): ... to here.
11003
11004 2011-05-22  Bruno Haible  <bruno@clisp.org>
11005
11006         wcpncpy: Move AC_LIBOBJ invocations to module description.
11007         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
11008         here...
11009         * modules/wcpncpy (configure.ac): ... to here.
11010
11011 2011-05-22  Bruno Haible  <bruno@clisp.org>
11012
11013         wcpcpy: Move AC_LIBOBJ invocations to module description.
11014         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
11015         * modules/wcpcpy (configure.ac): ... to here.
11016
11017 2011-05-22  Bruno Haible  <bruno@clisp.org>
11018
11019         waitpid: Move AC_LIBOBJ invocations to module description.
11020         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
11021         invocation from here...
11022         * modules/waitpid (configure.ac): ... to here.
11023
11024 2011-05-22  Bruno Haible  <bruno@clisp.org>
11025
11026         utimensat: Move AC_LIBOBJ invocations to module description.
11027         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
11028         here...
11029         * modules/utimensat (configure.ac): ... to here.
11030
11031 2011-05-22  Bruno Haible  <bruno@clisp.org>
11032
11033         usleep: Move AC_LIBOBJ invocations to module description.
11034         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
11035         here...
11036         * modules/usleep (configure.ac): ... to here.
11037
11038 2011-05-22  Bruno Haible  <bruno@clisp.org>
11039
11040         unlockpt: Move AC_LIBOBJ invocations to module description.
11041         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
11042         gl_PREREQ_UNLOCKPT invocations from here...
11043         * modules/unlockpt (configure.ac): ... to here.
11044
11045 2011-05-22  Bruno Haible  <bruno@clisp.org>
11046
11047         unlink: Respect rules for use of AC_LIBOBJ.
11048         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
11049         * modules/unlink (configure.ac): ... to here.
11050
11051 2011-05-22  Bruno Haible  <bruno@clisp.org>
11052
11053         uname: Move AC_LIBOBJ invocations to module description.
11054         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
11055         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
11056         here...
11057         * modules/uname (configure.ac): ... to here.
11058
11059 2011-05-22  Bruno Haible  <bruno@clisp.org>
11060
11061         ttyname_r: Move AC_LIBOBJ invocations to module description.
11062         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
11063         gl_PREREQ_TTYNAME_R invocations from here...
11064         * modules/ttyname_r (configure.ac): ... to here.
11065
11066 2011-05-22  Bruno Haible  <bruno@clisp.org>
11067
11068         tsearch: Move AC_LIBOBJ invocations to module description.
11069         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
11070         invocations from here...
11071         * modules/tsearch (configure.ac): ... to here.
11072
11073 2011-05-22  Bruno Haible  <bruno@clisp.org>
11074
11075         towctrans: Move AC_LIBOBJ invocations to module description.
11076         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
11077         AC_LIBOBJ invocation from here...
11078         * modules/towctrans (configure.ac): ... to here.
11079
11080 2011-05-22  Bruno Haible  <bruno@clisp.org>
11081
11082         tmpfile: Move AC_LIBOBJ invocations to module description.
11083         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
11084         invocations from here...
11085         * modules/tmpfile (configure.ac): ... to here.
11086
11087 2011-05-22  Bruno Haible  <bruno@clisp.org>
11088
11089         times: Move AC_LIBOBJ invocations to module description.
11090         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
11091         * modules/times (configure.ac): ... to here.
11092
11093 2011-05-22  Bruno Haible  <bruno@clisp.org>
11094
11095         time_r: Move AC_LIBOBJ invocations to module description.
11096         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
11097         invocations from here...
11098         * modules/time_r (configure.ac): ... to here.
11099
11100 2011-05-22  Bruno Haible  <bruno@clisp.org>
11101
11102         timegm: Move AC_LIBOBJ invocations to module description.
11103         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
11104         invocations from here...
11105         * modules/timegm (configure.ac): ... to here.
11106
11107 2011-05-22  Bruno Haible  <bruno@clisp.org>
11108
11109         tcgetsid: Move AC_LIBOBJ invocations to module description.
11110         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
11111         and gl_PREREQ_TCGETSID invocations from here...
11112         * modules/tcgetsid (configure.ac): ... to here.
11113         (Depends-on): Update conditions.
11114
11115 2011-05-22  Bruno Haible  <bruno@clisp.org>
11116
11117         symlinkat: Move AC_LIBOBJ invocations to module description.
11118         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
11119         here...
11120         * modules/symlinkat (configure.ac): ... to here.
11121
11122 2011-05-22  Bruno Haible  <bruno@clisp.org>
11123
11124         symlink: Move AC_LIBOBJ invocations to module description.
11125         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
11126         here...
11127         * modules/symlink (configure.ac): ... to here.
11128
11129 2011-05-22  Bruno Haible  <bruno@clisp.org>
11130
11131         strverscmp: Move AC_LIBOBJ invocations to module description.
11132         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
11133         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
11134         from here...
11135         * modules/strverscmp (configure.ac): ... to here.
11136
11137 2011-05-22  Bruno Haible  <bruno@clisp.org>
11138
11139         strtok_r: Move AC_LIBOBJ invocations to module description.
11140         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
11141         and gl_PREREQ_STRTOK_R invocations from here...
11142         * modules/strtok_r (configure.ac): ... to here.
11143         (Depends-on): Update conditions.
11144
11145 2011-05-22  Bruno Haible  <bruno@clisp.org>
11146
11147         strtoumax: Move AC_LIBOBJ invocations to module description.
11148         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
11149         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
11150         from here...
11151         * modules/strtoumax (configure.ac): ... to here.
11152
11153 2011-05-22  Bruno Haible  <bruno@clisp.org>
11154
11155         strtoimax: Move AC_LIBOBJ invocations to module description.
11156         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
11157         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
11158         from here...
11159         * modules/strtoimax (configure.ac): ... to here.
11160
11161 2011-05-22  Bruno Haible  <bruno@clisp.org>
11162
11163         strtoull: Move AC_LIBOBJ invocations to module description.
11164         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
11165         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
11166         from here...
11167         * modules/strtoull (configure.ac): ... to here.
11168
11169 2011-05-22  Bruno Haible  <bruno@clisp.org>
11170
11171         strtoll: Move AC_LIBOBJ invocations to module description.
11172         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
11173         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
11174         here...
11175         * modules/strtoll (configure.ac): ... to here.
11176
11177 2011-05-22  Bruno Haible  <bruno@clisp.org>
11178
11179         strtoul: Move AC_LIBOBJ invocations to module description.
11180         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
11181         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
11182         * modules/strtoul (configure.ac): ... to here.
11183
11184 2011-05-22  Bruno Haible  <bruno@clisp.org>
11185
11186         strtol: Move AC_LIBOBJ invocations to module description.
11187         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
11188         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
11189         * modules/strtol (configure.ac): ... to here.
11190
11191 2011-05-22  Bruno Haible  <bruno@clisp.org>
11192
11193         strtod: Move AC_LIBOBJ invocations to module description.
11194         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
11195         invocations from here...
11196         * modules/strtod (configure.ac): ... to here.
11197
11198 2011-05-22  Bruno Haible  <bruno@clisp.org>
11199
11200         strstr*: Move AC_LIBOBJ invocations to module description.
11201         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
11202         invocations from here...
11203         * modules/strstr-simple (configure.ac): ... to here.
11204         * modules/strstr (configure.ac): ... and here.
11205
11206 2011-05-22  Bruno Haible  <bruno@clisp.org>
11207
11208         strsignal: Move AC_LIBOBJ invocations to module description.
11209         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
11210         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
11211         * modules/strsignal (configure.ac): ... to here.
11212         (Depends-on): Update conditions.
11213
11214 2011-05-22  Bruno Haible  <bruno@clisp.org>
11215
11216         strsep: Move AC_LIBOBJ invocations to module description.
11217         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
11218         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
11219         here...
11220         * modules/strsep (configure.ac): ... to here.
11221
11222 2011-05-22  Bruno Haible  <bruno@clisp.org>
11223
11224         strptime: Move AC_LIBOBJ invocations to module description.
11225         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
11226         gl_PREREQ_STRPTIME invocations from here...
11227         * modules/strptime (configure.ac): ... to here.
11228
11229 2011-05-22  Bruno Haible  <bruno@clisp.org>
11230
11231         strpbrk: Move AC_LIBOBJ invocations to module description.
11232         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
11233         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
11234         here...
11235         * modules/strpbrk (configure.ac): ... to here.
11236
11237 2011-05-22  Bruno Haible  <bruno@clisp.org>
11238
11239         strnlen: Move AC_LIBOBJ invocations to module description.
11240         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
11241         invocations from here...
11242         * modules/strnlen (configure.ac): ... to here.
11243
11244 2011-05-22  Bruno Haible  <bruno@clisp.org>
11245
11246         strndup: Move AC_LIBOBJ invocations to module description.
11247         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
11248         invocations from here...
11249         * modules/strndup (configure.ac): ... to here.
11250         (Depends-on): Update conditions.
11251
11252 2011-05-22  Bruno Haible  <bruno@clisp.org>
11253
11254         strncat: Move AC_LIBOBJ invocations to module description.
11255         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
11256         invocations from here...
11257         * modules/strncat (configure.ac): ... to here.
11258
11259 2011-05-22  Bruno Haible  <bruno@clisp.org>
11260
11261         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
11262         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
11263         invocations from here...
11264         * modules/strdup (configure.ac): ... to here.
11265         * modules/strdup-posix (configure.ac): ... and here.
11266
11267 2011-05-22  Bruno Haible  <bruno@clisp.org>
11268
11269         strcspn: Move AC_LIBOBJ invocations to module description.
11270         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
11271         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
11272         here...
11273         * modules/strcspn (configure.ac): ... to here.
11274
11275 2011-05-22  Bruno Haible  <bruno@clisp.org>
11276
11277         strchrnul: Move AC_LIBOBJ invocations to module description.
11278         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
11279         gl_PREREQ_STRCHRNUL invocations from here...
11280         * modules/strchrnul (configure.ac): ... to here.
11281
11282 2011-05-22  Bruno Haible  <bruno@clisp.org>
11283
11284         strcasestr*: Move AC_LIBOBJ invocations to module description.
11285         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
11286         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
11287         * modules/strcasestr-simple (configure.ac): ... to here.
11288         * modules/strcasestr (configure.ac): ... and here.
11289
11290 2011-05-22  Bruno Haible  <bruno@clisp.org>
11291
11292         strcase: Move AC_LIBOBJ invocations to module description.
11293         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
11294         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
11295         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
11296         gl_PREREQ_STRNCASECMP invocations from here...
11297         * modules/strcase (configure.ac): ... to here.
11298
11299 2011-05-22  Bruno Haible  <bruno@clisp.org>
11300
11301         stpncpy: Move AC_LIBOBJ invocations to module description.
11302         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
11303         here...
11304         * modules/stpncpy (configure.ac): ... to here.
11305
11306 2011-05-22  Bruno Haible  <bruno@clisp.org>
11307
11308         stpcpy: Move AC_LIBOBJ invocations to module description.
11309         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
11310         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
11311         here...
11312         * modules/stpcpy (configure.ac): ... to here.
11313
11314 2011-05-21  Bruno Haible  <bruno@clisp.org>
11315
11316         stat: Move AC_LIBOBJ invocations to module description.
11317         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
11318         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
11319         here...
11320         * modules/stat (configure.ac): ... to here.
11321
11322 2011-05-21  Bruno Haible  <bruno@clisp.org>
11323
11324         sleep: Move AC_LIBOBJ invocations to module description.
11325         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
11326         * modules/sleep (configure.ac): ... to here.
11327
11328 2011-05-21  Bruno Haible  <bruno@clisp.org>
11329
11330         signbit: Move AC_LIBOBJ invocations to module description.
11331         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
11332         * modules/signbit (configure.ac): ... to here.
11333
11334 2011-05-21  Bruno Haible  <bruno@clisp.org>
11335
11336         sigprocmask: Move AC_LIBOBJ invocations to module description.
11337         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
11338         gl_PREREQ_SIGPROMASK invocations from here...
11339         * modules/sigprocmask (configure.ac): ... to here.
11340
11341 2011-05-21  Bruno Haible  <bruno@clisp.org>
11342
11343         sigaction: Move AC_LIBOBJ invocations to module description.
11344         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
11345         gl_PREREQ_SIGACTION invocations from here...
11346         * modules/sigaction (configure.ac): ... to here.
11347
11348 2011-05-21  Bruno Haible  <bruno@clisp.org>
11349
11350         sig2str: Move AC_LIBOBJ invocations to module description.
11351         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
11352         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
11353         here...
11354         * modules/sig2str (configure.ac): ... to here.
11355
11356 2011-05-21  Bruno Haible  <bruno@clisp.org>
11357
11358         setlocale: Move AC_LIBOBJ invocations to module description.
11359         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
11360         gl_PREREQ_SETLOCALE invocations from here...
11361         * modules/setlocale (configure.ac): ... to here.
11362
11363 2011-05-21  Bruno Haible  <bruno@clisp.org>
11364
11365         unsetenv: Move AC_LIBOBJ invocations to module description.
11366         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
11367         and gl_PREREQ_UNSETENV invocations from here...
11368         * modules/unsetenv (configure.ac): ... to here.
11369         (Depends-on): Update.
11370
11371 2011-05-21  Bruno Haible  <bruno@clisp.org>
11372
11373         setenv: Move AC_LIBOBJ invocations to module description.
11374         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
11375         here...
11376         * modules/setenv (configure.ac): ... to here.
11377
11378 2011-05-21  Bruno Haible  <bruno@clisp.org>
11379
11380         selinux-h: Move AC_LIBOBJ invocations to module description.
11381         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
11382         AC_LIBOBJ invocation from here...
11383         * modules/selinux-h (configure.ac): ... to here.
11384
11385 2011-05-21  Bruno Haible  <bruno@clisp.org>
11386
11387         select: Respect rules for use of AC_LIBOBJ.
11388         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
11389         here...
11390         * modules/select (configure.ac): ... to here.
11391
11392 2011-05-21  Bruno Haible  <bruno@clisp.org>
11393
11394         scandir: Move AC_LIBOBJ invocations to module description.
11395         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
11396         invocations from here...
11397         * modules/scandir (configure.ac): ... to here.
11398
11399 2011-05-21  Bruno Haible  <bruno@clisp.org>
11400
11401         rpmatch: Move AC_LIBOBJ invocations to module description.
11402         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
11403         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
11404         here...
11405         * modules/rpmatch (configure.ac): ... to here.
11406
11407 2011-05-21  Bruno Haible  <bruno@clisp.org>
11408
11409         rmdir: Respect rules for use of AC_LIBOBJ.
11410         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
11411         * modules/rmdir (configure.ac): ... to here.
11412
11413 2011-05-21  Bruno Haible  <bruno@clisp.org>
11414
11415         renameat: Move AC_LIBOBJ invocations to module description.
11416         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
11417         here...
11418         * modules/renameat (configure.ac): ... to here.
11419
11420 2011-05-21  Bruno Haible  <bruno@clisp.org>
11421
11422         rename: Respect rules for use of AC_LIBOBJ.
11423         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
11424         here...
11425         * modules/rename (configure.ac): ... to here.
11426
11427 2011-05-21  Bruno Haible  <bruno@clisp.org>
11428
11429         remove: Move AC_LIBOBJ invocations to module description.
11430         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
11431         here...
11432         * modules/remove (configure.ac): ... to here.
11433
11434 2011-05-21  Bruno Haible  <bruno@clisp.org>
11435
11436         relocatable-lib: Move AC_LIBOBJ invocations to module description.
11437         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
11438         macro.
11439         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
11440         * modules/relocatable-lib (configure.ac): ... to here.
11441         * modules/relocatable-prog-wrapper (configure.ac): Invoke
11442         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
11443
11444 2011-05-21  Bruno Haible  <bruno@clisp.org>
11445
11446         relocatable-prog: Move AC_LIBOBJ invocations to module description.
11447         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
11448         here...
11449         * modules/relocatable-prog (configure.ac): ... to here.
11450
11451 2011-05-21  Bruno Haible  <bruno@clisp.org>
11452
11453         regex: Move AC_LIBOBJ invocations to module description.
11454         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
11455         invocations from here...
11456         * modules/regex (configure.ac): ... to here.
11457
11458 2011-05-21  Bruno Haible  <bruno@clisp.org>
11459
11460         realloc-*: Move AC_LIBOBJ invocations to module description.
11461         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
11462         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
11463         AC_LIBOBJ invocations from here...
11464         * modules/realloc-gnu (configure.ac): ... to here.
11465         * modules/realloc-posix (configure.ac): ... and here.
11466
11467 2011-05-21  Bruno Haible  <bruno@clisp.org>
11468
11469         readutmp: Move AC_LIBOBJ invocations to module description.
11470         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
11471         * modules/readutmp (configure.ac): ... to here.
11472
11473 2011-05-21  Bruno Haible  <bruno@clisp.org>
11474
11475         readlinkat: Move AC_LIBOBJ invocations to module description.
11476         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
11477         here...
11478         * modules/readlinkat (configure.ac): ... to here.
11479
11480 2011-05-21  Bruno Haible  <bruno@clisp.org>
11481
11482         readlink: Move AC_LIBOBJ invocations to module description.
11483         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
11484         gl_PREREQ_READLINK invocations from here...
11485         * modules/readlink (configure.ac): ... to here.
11486
11487 2011-05-21  Bruno Haible  <bruno@clisp.org>
11488
11489         readline: Move AC_LIBOBJ invocations to module description.
11490         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
11491         gl_PREREQ_READLINE invocations from here...
11492         * modules/readline (configure.ac): ... to here.
11493
11494 2011-05-21  Bruno Haible  <bruno@clisp.org>
11495
11496         read: Move AC_LIBOBJ invocations to module description.
11497         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
11498         * modules/read (configure.ac): ... to here.
11499
11500 2011-05-21  Bruno Haible  <bruno@clisp.org>
11501
11502         rawmemchr: Move AC_LIBOBJ invocations to module description.
11503         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
11504         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
11505         from here...
11506         * modules/rawmemchr (configure.ac): ... to here.
11507
11508 2011-05-21  Bruno Haible  <bruno@clisp.org>
11509
11510         random_r: Move AC_LIBOBJ invocations to module description.
11511         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
11512         gl_PREREQ_RANDOM_R invocations from here...
11513         * modules/random_r (configure.ac): ... to here.
11514
11515 2011-05-21  Bruno Haible  <bruno@clisp.org>
11516
11517         pwrite: Move AC_LIBOBJ invocations to module description.
11518         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
11519         * modules/pwrite (configure.ac): ... to here.
11520
11521 2011-05-21  Bruno Haible  <bruno@clisp.org>
11522
11523         putenv: Move AC_LIBOBJ invocations to module description.
11524         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
11525         * modules/putenv (configure.ac): ... to here.
11526
11527 2011-05-21  Bruno Haible  <bruno@clisp.org>
11528
11529         login_tty: Move AC_LIBOBJ invocations to module description.
11530         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
11531         * modules/login_tty (configure.ac): ... to here.
11532
11533 2011-05-21  Bruno Haible  <bruno@clisp.org>
11534
11535         openpty: Move AC_LIBOBJ invocations to module description.
11536         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
11537         * modules/openpty (configure.ac): ... to here.
11538
11539 2011-05-21  Bruno Haible  <bruno@clisp.org>
11540
11541         forkpty: Move AC_LIBOBJ invocations to module description.
11542         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
11543         * modules/forkpty (configure.ac): ... to here.
11544
11545 2011-05-21  Bruno Haible  <bruno@clisp.org>
11546
11547         ptsname: Move AC_LIBOBJ invocations to module description.
11548         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
11549         invocations from here...
11550         * modules/ptsname (configure.ac): ... to here.
11551
11552 2011-05-21  Bruno Haible  <bruno@clisp.org>
11553
11554         pread: Move AC_LIBOBJ invocations to module description.
11555         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
11556         * modules/pread (configure.ac): ... to here.
11557
11558 2011-05-21  Bruno Haible  <bruno@clisp.org>
11559
11560         posix_spawn*: Move AC_LIBOBJ invocations to module description.
11561         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
11562         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
11563         * modules/posix_spawn (configure.ac): ... to here.
11564         * modules/posix_spawnp (configure.ac): ... and here.
11565
11566 2011-05-21  Bruno Haible  <bruno@clisp.org>
11567
11568         popen: Move AC_LIBOBJ invocations to module description.
11569         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
11570         invocations from here...
11571         * modules/popen (configure.ac): ... to here.
11572
11573 2011-05-21  Bruno Haible  <bruno@clisp.org>
11574
11575         poll: Move AC_LIBOBJ invocations to module description.
11576         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
11577         invocations from here...
11578         * modules/poll (configure.ac): ... to here.
11579
11580 2011-05-21  Bruno Haible  <bruno@clisp.org>
11581
11582         pipe-posix: Move AC_LIBOBJ invocations to module description.
11583         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
11584         * modules/pipe-posix (configure.ac): ... to here.
11585
11586 2011-05-21  Bruno Haible  <bruno@clisp.org>
11587
11588         openat: Respect rules for use of AC_LIBOBJ.
11589         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
11590         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
11591         * modules/openat (configure.ac): ... to here.
11592
11593 2011-05-21  Bruno Haible  <bruno@clisp.org>
11594
11595         obstack-printf*: Move AC_LIBOBJ invocations to module description.
11596         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
11597         invocation from here...
11598         * modules/obstack-printf (configure.ac): ... to here.
11599         * modules/obstack-printf-posix (configure.ac): ... and here.
11600
11601 2011-05-21  Bruno Haible  <bruno@clisp.org>
11602
11603         nl_langinfo: Move AC_LIBOBJ invocations to module description.
11604         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
11605         from here...
11606         * modules/nl_langinfo (configure.ac): ... to here.
11607
11608 2011-05-21  Bruno Haible  <bruno@clisp.org>
11609
11610         nanosleep: Move AC_LIBOBJ invocations to module description.
11611         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
11612         gl_PREREQ_NANOSLEEP invocations from here...
11613         * modules/nanosleep (configure.ac): ... to here.
11614
11615 2011-05-21  Bruno Haible  <bruno@clisp.org>
11616
11617         mountlist: Move AC_LIBOBJ invocations to module description.
11618         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
11619         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
11620         * modules/mountlist (configure.ac): ... to here.
11621
11622 2011-05-21  Bruno Haible  <bruno@clisp.org>
11623
11624         mktime: Respect rules for use of AC_LIBOBJ.
11625         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
11626         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
11627         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
11628         (gl_FUNC_MKTIME_INTERNAL): ... and here...
11629         * modules/mktime (configure.ac): ... to here.
11630         * modules/mktime-internal (configure.ac): ... and here.
11631         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
11632
11633 2011-05-21  Bruno Haible  <bruno@clisp.org>
11634
11635         mkstemps: Move AC_LIBOBJ invocations to module description.
11636         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
11637         here...
11638         * modules/mkstemps (configure.ac): ... to here.
11639
11640 2011-05-21  Bruno Haible  <bruno@clisp.org>
11641
11642         mkstemp: Move AC_LIBOBJ invocations to module description.
11643         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
11644         gl_PREREQ_MKSTEMP invocations from here...
11645         * modules/mkstemp (configure.ac): ... to here.
11646
11647 2011-05-21  Bruno Haible  <bruno@clisp.org>
11648
11649         mkostemps: Move AC_LIBOBJ invocations to module description.
11650         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
11651         here...
11652         * modules/mkostemps (configure.ac): ... to here.
11653
11654 2011-05-21  Bruno Haible  <bruno@clisp.org>
11655
11656         mkostemp: Move AC_LIBOBJ invocations to module description.
11657         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
11658         gl_PREREQ_MKOSTEMP invocations from here...
11659         * modules/mkostemp (configure.ac): ... to here.
11660
11661 2011-05-21  Bruno Haible  <bruno@clisp.org>
11662
11663         mknod: Move AC_LIBOBJ invocations to module description.
11664         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
11665         * modules/mknod (configure.ac): ... to here.
11666
11667 2011-05-21  Bruno Haible  <bruno@clisp.org>
11668
11669         mkfifoat: Move AC_LIBOBJ invocations to module description.
11670         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
11671         here...
11672         * modules/mkfifoat (configure.ac): ... to here.
11673
11674 2011-05-21  Bruno Haible  <bruno@clisp.org>
11675
11676         mkfifo: Respect rules for use of AC_LIBOBJ.
11677         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
11678         here...
11679         * modules/mkfifo (configure.ac): ... to here.
11680
11681 2011-05-21  Bruno Haible  <bruno@clisp.org>
11682
11683         mkdtemp: Move AC_LIBOBJ invocations to module description.
11684         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
11685         invocations from here...
11686         * modules/mkdtemp (configure.ac): ... to here.
11687
11688 2011-05-21  Bruno Haible  <bruno@clisp.org>
11689
11690         mkdir: Move AC_LIBOBJ invocations to module description.
11691         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
11692         * modules/mkdir (configure.ac): ... to here.
11693
11694 2011-05-21  Bruno Haible  <bruno@clisp.org>
11695
11696         memset: Move AC_LIBOBJ invocations to module description.
11697         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
11698         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
11699         here...
11700         * modules/memset (configure.ac): ... to here.
11701
11702 2011-05-21  Bruno Haible  <bruno@clisp.org>
11703
11704         memrchr: Move AC_LIBOBJ invocations to module description.
11705         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
11706         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
11707         here...
11708         * modules/memrchr (configure.ac): ... to here.
11709
11710 2011-05-21  Bruno Haible  <bruno@clisp.org>
11711
11712         mempcpy: Move AC_LIBOBJ invocations to module description.
11713         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
11714         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
11715         here...
11716         * modules/mempcpy (configure.ac): ... to here.
11717
11718 2011-05-21  Bruno Haible  <bruno@clisp.org>
11719
11720         memmove: Move AC_LIBOBJ invocations to module description.
11721         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
11722         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
11723         here...
11724         * modules/memmove (configure.ac): ... to here.
11725
11726 2011-05-21  Bruno Haible  <bruno@clisp.org>
11727
11728         memmem*: Move AC_LIBOBJ invocations to module description.
11729         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
11730         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
11731         here...
11732         (gl_FUNC_MEMMEM): ... and here...
11733         * modules/memmem-simple (configure.ac): ... to here.
11734         * modules/memmem (configure.ac): ... and here.
11735
11736 2011-05-21  Bruno Haible  <bruno@clisp.org>
11737
11738         memcpy: Move AC_LIBOBJ invocations to module description.
11739         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
11740         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
11741         here...
11742         * modules/memcpy (configure.ac): ... to here.
11743
11744 2011-05-21  Bruno Haible  <bruno@clisp.org>
11745
11746         memcmp: Simplify autoconf macro.
11747         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
11748         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
11749         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
11750
11751 2011-05-21  Bruno Haible  <bruno@clisp.org>
11752
11753         memcmp: Move AC_LIBOBJ invocations to module description.
11754         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
11755         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
11756         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
11757         * modules/memcmp (configure.ac): ... to here.
11758         (Depends-on): Update conditions.
11759
11760 2011-05-21  Bruno Haible  <bruno@clisp.org>
11761
11762         memchr: Respect rules for use of AC_LIBOBJ.
11763         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
11764         invocations from here...
11765         * modules/memchr (configure.ac): ... to here.
11766
11767 2011-05-21  Bruno Haible  <bruno@clisp.org>
11768
11769         mbtowc: Move AC_LIBOBJ invocations to module description.
11770         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
11771         invocations from here...
11772         * modules/mbtowc (configure.ac): ... to here.
11773
11774 2011-05-21  Bruno Haible  <bruno@clisp.org>
11775
11776         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
11777         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
11778         gl_PREREQ_MBSRTOWCS invocations from here...
11779         * modules/mbsrtowcs (configure.ac): ... to here.
11780
11781 2011-05-21  Bruno Haible  <bruno@clisp.org>
11782
11783         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
11784         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
11785         gl_PREREQ_MBSNRTOWCS invocations from here...
11786         * modules/mbsnrtowcs (configure.ac): ... to here.
11787
11788 2011-05-21  Bruno Haible  <bruno@clisp.org>
11789
11790         mbsinit: Move AC_LIBOBJ invocations to module description.
11791         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
11792         invocations from here...
11793         * modules/mbsinit (configure.ac): ... to here.
11794
11795 2011-05-21  Bruno Haible  <bruno@clisp.org>
11796
11797         mbrlen: Move AC_LIBOBJ invocations to module description.
11798         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
11799         invocations from here...
11800         * modules/mbrlen (configure.ac): ... to here.
11801
11802 2011-05-21  Bruno Haible  <bruno@clisp.org>
11803
11804         mbrtowc: Respect rules for use of AC_LIBOBJ.
11805         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
11806         invocations from here...
11807         * modules/mbrtowc (configure.ac): ... to here.
11808
11809 2011-05-21  Bruno Haible  <bruno@clisp.org>
11810
11811         malloc-*: Move AC_LIBOBJ invocations to module description.
11812         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
11813         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
11814         AC_LIBOBJ invocations from here...
11815         * modules/malloc-gnu (configure.ac): ... to here.
11816         * modules/malloc-posix (configure.ac): ... and here.
11817
11818 2011-05-21  Bruno Haible  <bruno@clisp.org>
11819
11820         lstat, openat: Respect rules for use of AC_LIBOBJ.
11821         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
11822         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
11823         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
11824         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
11825         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
11826         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
11827         here.
11828         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
11829
11830 2011-05-21  Bruno Haible  <bruno@clisp.org>
11831
11832         lseek: Move AC_LIBOBJ invocations to module description.
11833         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
11834         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
11835         * modules/lseek (configure.ac): ... to here.
11836
11837 2011-05-21  Bruno Haible  <bruno@clisp.org>
11838
11839         linkat: Move AC_LIBOBJ invocations to module description.
11840         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
11841         here...
11842         * modules/linkat (configure.ac): ... to here.
11843
11844 2011-05-21  Bruno Haible  <bruno@clisp.org>
11845
11846         link: Respect rules for use of AC_LIBOBJ.
11847         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
11848         * modules/link (configure.ac): ... to here.
11849
11850 2011-05-21  Bruno Haible  <bruno@clisp.org>
11851
11852         lchown: Move AC_LIBOBJ invocations to module description.
11853         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
11854         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
11855         * modules/lchown (configure.ac): ... to here.
11856
11857 2011-05-21  Bruno Haible  <bruno@clisp.org>
11858
11859         iswctype: Move AC_LIBOBJ invocations to module description.
11860         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
11861         here...
11862         * modules/iswctype (configure.ac): ... to here.
11863
11864 2011-05-21  Bruno Haible  <bruno@clisp.org>
11865
11866         iswblank: Move AC_LIBOBJ invocations to module description.
11867         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
11868         here...
11869         * modules/iswblank (configure.ac): ... to here.
11870
11871 2011-05-21  Bruno Haible  <bruno@clisp.org>
11872
11873         atanl: Move AC_LIBOBJ invocations to module description.
11874         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
11875         * modules/atanl (configure.ac): ... to here.
11876
11877 2011-05-21  Bruno Haible  <bruno@clisp.org>
11878
11879         acosl: Move AC_LIBOBJ invocations to module description.
11880         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
11881         * modules/acosl (configure.ac): ... to here.
11882
11883 2011-05-21  Bruno Haible  <bruno@clisp.org>
11884
11885         asinl: Respect rules for use of AC_LIBOBJ.
11886         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
11887         * modules/asinl (configure.ac): ... to here.
11888
11889 2011-05-21  Bruno Haible  <bruno@clisp.org>
11890
11891         tanl: Move AC_LIBOBJ invocations to module description.
11892         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
11893         * modules/tanl (configure.ac): ... to here.
11894
11895 2011-05-21  Bruno Haible  <bruno@clisp.org>
11896
11897         cosl: Move AC_LIBOBJ invocations to module description.
11898         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
11899         * modules/cosl (configure.ac): ... to here.
11900
11901 2011-05-21  Bruno Haible  <bruno@clisp.org>
11902
11903         sinl: Move AC_LIBOBJ invocations to module description.
11904         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
11905         * modules/sinl (configure.ac): ... to here.
11906
11907 2011-05-21  Bruno Haible  <bruno@clisp.org>
11908
11909         logl: Move AC_LIBOBJ invocations to module description.
11910         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
11911         * modules/logl (configure.ac): ... to here.
11912
11913 2011-05-21  Bruno Haible  <bruno@clisp.org>
11914
11915         expl: Move AC_LIBOBJ invocations to module description.
11916         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
11917         * modules/expl (configure.ac): ... to here.
11918
11919 2011-05-21  Bruno Haible  <bruno@clisp.org>
11920
11921         roundl: Move AC_LIBOBJ invocations to module description.
11922         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
11923         * modules/roundl (configure.ac): ... to here.
11924
11925 2011-05-21  Bruno Haible  <bruno@clisp.org>
11926
11927         round: Move AC_LIBOBJ invocations to module description.
11928         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
11929         * modules/round (configure.ac): ... to here.
11930
11931 2011-05-21  Bruno Haible  <bruno@clisp.org>
11932
11933         roundf: Move AC_LIBOBJ invocations to module description.
11934         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
11935         * modules/roundf (configure.ac): ... to here.
11936
11937 2011-05-21  Bruno Haible  <bruno@clisp.org>
11938
11939         truncl: Move AC_LIBOBJ invocations to module description.
11940         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
11941         * modules/truncl (configure.ac): ... to here.
11942
11943 2011-05-21  Bruno Haible  <bruno@clisp.org>
11944
11945         trunc: Move AC_LIBOBJ invocations to module description.
11946         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
11947         * modules/trunc (configure.ac): ... to here.
11948
11949 2011-05-21  Bruno Haible  <bruno@clisp.org>
11950
11951         truncf: Move AC_LIBOBJ invocations to module description.
11952         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
11953         * modules/truncf (configure.ac): ... to here.
11954
11955 2011-05-21  Bruno Haible  <bruno@clisp.org>
11956
11957         ceill: Move AC_LIBOBJ invocations to module description.
11958         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
11959         * modules/ceill (configure.ac): ... to here.
11960
11961 2011-05-21  Bruno Haible  <bruno@clisp.org>
11962
11963         ceil: Move AC_LIBOBJ invocations to module description.
11964         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
11965         * modules/ceil (configure.ac): ... to here.
11966
11967 2011-05-21  Bruno Haible  <bruno@clisp.org>
11968
11969         ceilf: Move AC_LIBOBJ invocations to module description.
11970         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
11971         * modules/ceilf (configure.ac): ... to here.
11972
11973 2011-05-21  Bruno Haible  <bruno@clisp.org>
11974
11975         floorl: Respect rules for use of AC_LIBOBJ.
11976         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
11977         * modules/floorl (configure.ac): ... to here.
11978
11979 2011-05-21  Bruno Haible  <bruno@clisp.org>
11980
11981         floor: Respect rules for use of AC_LIBOBJ.
11982         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
11983         * modules/floor (configure.ac): ... to here.
11984
11985 2011-05-21  Bruno Haible  <bruno@clisp.org>
11986
11987         floorf: Move AC_LIBOBJ invocations to module description.
11988         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
11989         * modules/floorf (configure.ac): ... to here.
11990
11991 2011-05-20  Bruno Haible  <bruno@clisp.org>
11992
11993         sqrtl: Respect rules for use of AC_LIBOBJ.
11994         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
11995         * modules/sqrtl (configure.ac): ... to here.
11996
11997 2011-05-20  Bruno Haible  <bruno@clisp.org>
11998
11999         ldexpl: Respect rules for use of AC_LIBOBJ.
12000         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
12001         * modules/ldexpl (configure.ac): ... to here.
12002
12003 2011-05-20  Bruno Haible  <bruno@clisp.org>
12004
12005         frexpl*: Respect rules for use of AC_LIBOBJ.
12006         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
12007         invocation from here...
12008         * modules/frexpl (configure.ac): ... to here.
12009         * modules/frexpl-nolibm (configure.ac): ... and here.
12010
12011 2011-05-20  Bruno Haible  <bruno@clisp.org>
12012
12013         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
12014         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
12015         invocation from here...
12016         * modules/frexp (configure.ac): ... to here.
12017         * modules/frexp-nolibm (configure.ac): ... and here.
12018
12019 2011-05-20  Bruno Haible  <bruno@clisp.org>
12020
12021         isnan: Respect rules for use of AC_LIBOBJ.
12022         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
12023         invocations here.
12024         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
12025         REPLACE_ISNAN.
12026         * modules/isnand (configure.ac): Likewise.
12027         * modules/isnanl (configure.ac): Likewise.
12028
12029 2011-05-20  Bruno Haible  <bruno@clisp.org>
12030
12031         isnanl*: Respect rules for use of AC_LIBOBJ.
12032         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
12033         invocation from here...
12034         * modules/isnanl (configure.ac): ... to here.
12035         * modules/isnanl-nolibm (configure.ac): ... and here.
12036
12037 2011-05-20  Bruno Haible  <bruno@clisp.org>
12038
12039         isnand*: Move AC_LIBOBJ invocations to module description.
12040         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
12041         invocation from here...
12042         * modules/isnand (configure.ac): ... to here.
12043         * modules/isnand-nolibm (configure.ac): ... and here.
12044
12045 2011-05-20  Bruno Haible  <bruno@clisp.org>
12046
12047         isnanf*: Move AC_LIBOBJ invocations to module description.
12048         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
12049         invocation from here...
12050         * modules/isnanf (configure.ac): ... to here.
12051         * modules/isnanf-nolibm (configure.ac): ... and here.
12052
12053 2011-05-20  Bruno Haible  <bruno@clisp.org>
12054
12055         isnan*: Separate the AC_LIBOBJ invocations.
12056         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
12057         AC_LIBOBJ invocation.
12058         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
12059         here.
12060         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
12061         AC_LIBOBJ invocation.
12062         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
12063         here.
12064         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
12065         AC_LIBOBJ invocation.
12066         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
12067         here.
12068         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
12069
12070 2011-05-08  Bruno Haible  <bruno@clisp.org>
12071
12072         isinf: Move AC_LIBOBJ invocations to module description.
12073         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
12074         * modules/isinf (configure.ac): ... to here.
12075
12076 2011-05-08  Bruno Haible  <bruno@clisp.org>
12077
12078         isfinite: Move AC_LIBOBJ invocations to module description.
12079         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
12080         * modules/isfinite (configure.ac): ... to here.
12081
12082 2011-05-08  Bruno Haible  <bruno@clisp.org>
12083
12084         isblank: Move AC_LIBOBJ invocations to module description.
12085         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
12086         here...
12087         * modules/isblank (configure.ac): ... to here.
12088
12089 2011-05-08  Bruno Haible  <bruno@clisp.org>
12090
12091         isapipe: Move AC_LIBOBJ invocations to module description.
12092         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
12093         gl_PREREQ_ISAPIPE invocations from here...
12094         * modules/isapipe (configure.ac): ... to here.
12095         (Depends-on): Update condition.
12096
12097 2011-05-08  Bruno Haible  <bruno@clisp.org>
12098
12099         ioctl: Move AC_LIBOBJ invocations to module description.
12100         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
12101         invocations from here...
12102         * modules/ioctl (configure.ac): ... to here.
12103         (Depends-on): Update condition.
12104
12105 2011-05-08  Bruno Haible  <bruno@clisp.org>
12106
12107         imaxdiv: Move AC_LIBOBJ invocations to module description.
12108         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
12109         invocations from here...
12110         * modules/imaxdiv (configure.ac): ... to here.
12111
12112 2011-05-08  Bruno Haible  <bruno@clisp.org>
12113
12114         imaxabs: Move AC_LIBOBJ invocations to module description.
12115         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
12116         invocations from here...
12117         * modules/imaxabs (configure.ac): ... to here.
12118
12119 2011-05-08  Bruno Haible  <bruno@clisp.org>
12120
12121         getaddrinfo: Move AC_LIBOBJ invocations to module description.
12122         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
12123         AC_LIBOBJ invocations from here...
12124         * modules/getaddrinfo (configure.ac): ... to here.
12125         (Depends-on): Add conditions.
12126
12127 2011-05-08  Bruno Haible  <bruno@clisp.org>
12128
12129         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
12130         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
12131         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
12132         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
12133         (gl_PREREQ_INET_PTON): ... from here.
12134         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
12135         gl_PREREQ_INET_PTON here.
12136         (Depends-on): Update condition.
12137
12138 2011-05-08  Bruno Haible  <bruno@clisp.org>
12139
12140         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
12141         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
12142         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
12143         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
12144         (gl_PREREQ_INET_NTOP): ... from here.
12145         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
12146         gl_PREREQ_INET_NTOP here.
12147         (Depends-on): Update condition.
12148
12149 2011-05-08  Bruno Haible  <bruno@clisp.org>
12150
12151         iconv_open: Move AC_LIBOBJ invocations to module description.
12152         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
12153         AC_LIBOBJ invocations from here...
12154         * modules/iconv_open (configure.ac): ... to here.
12155
12156 2011-05-08  Bruno Haible  <bruno@clisp.org>
12157
12158         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
12159         If module 'iconv_open' is among the main modules and module
12160         'iconv_open-utf' is among the tests dependencies, then
12161         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
12162         return the special iconv_t values. Therefore iconv() and iconv_close()
12163         must support these special iconv_t values, already in lib, not only in
12164         tests.
12165         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
12166         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
12167         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
12168         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
12169         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
12170         (Depends-on): Add the dependencies of iconv_open-utf.
12171         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
12172         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
12173         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
12174
12175 2011-05-08  Bruno Haible  <bruno@clisp.org>
12176
12177         group-member: Move AC_LIBOBJ invocations to module description.
12178         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
12179         gl_PREREQ_GROUP_MEMBER invocations from here...
12180         * modules/group-member (configure.ac): ... to here.
12181
12182 2011-05-08  Bruno Haible  <bruno@clisp.org>
12183
12184         grantpt: Move AC_LIBOBJ invocations to module description.
12185         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
12186         invocations from here...
12187         * modules/grantpt (configure.ac): ... to here.
12188
12189 2011-05-08  Bruno Haible  <bruno@clisp.org>
12190
12191         glob: Move AC_LIBOBJ invocations to module description.
12192         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
12193         from here...
12194         * modules/glob (configure.ac): ... to here.
12195
12196 2011-05-08  Bruno Haible  <bruno@clisp.org>
12197
12198         getusershell: Move AC_LIBOBJ invocations to module description.
12199         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
12200         Move AC_LIBOBJ invocation from here...
12201         * modules/getusershell (configure.ac): ... to here.
12202         (Depends-on): Update condition.
12203
12204 2011-05-08  Bruno Haible  <bruno@clisp.org>
12205
12206         gettimeofday: Move AC_LIBOBJ invocations to module description.
12207         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
12208         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
12209         gl_PREREQ_GETTIMEOFDAY invocations from here...
12210         * modules/gettimeofday (configure.ac): ... to here.
12211
12212 2011-05-08  Bruno Haible  <bruno@clisp.org>
12213
12214         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
12215         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
12216         just gl_FUNC_TZSET.
12217         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
12218         (gl_FUNC_TZSET_CLOBBER): Remove actions.
12219         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
12220         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
12221
12222 2011-05-08  Bruno Haible  <bruno@clisp.org>
12223
12224         getsubopt: Move AC_LIBOBJ invocations to module description.
12225         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
12226         gl_PREREQ_GETSUBOPT invocations from here...
12227         * modules/getsubopt (configure.ac): ... to here.
12228
12229 2011-05-08  Bruno Haible  <bruno@clisp.org>
12230
12231         getpass-gnu: Move AC_LIBOBJ invocations to module description.
12232         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
12233         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
12234         * modules/getpass-gnu (configure.ac): ... to here.
12235
12236 2011-05-08  Bruno Haible  <bruno@clisp.org>
12237
12238         getpass: Move AC_LIBOBJ invocations to module description.
12239         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
12240         gl_PREREQ_GETPASS invocations from here...
12241         * modules/getpass (configure.ac): ... to here.
12242
12243 2011-05-08  Bruno Haible  <bruno@clisp.org>
12244
12245         getpagesize: Move AC_LIBOBJ invocations to module description.
12246         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
12247         from here...
12248         * modules/getpagesize (configure.ac): ... to here.
12249
12250 2011-05-08  Bruno Haible  <bruno@clisp.org>
12251
12252         getopt: Move AC_LIBOBJ invocations to module description.
12253         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
12254         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
12255         invocations from here...
12256         * modules/getopt-gnu (configure.ac): ... to here.
12257         * modules/getopt-posix (configure.ac): ... and here.
12258         (Depends-on): Update condition.
12259
12260 2011-05-08  Bruno Haible  <bruno@clisp.org>
12261
12262         getopt, argp: Respect rules for use of AC_LIBOBJ.
12263         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
12264         (gl_REPLACE_GETOPT_ALWAYS): New macro.
12265         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
12266         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
12267
12268 2011-05-08  Bruno Haible  <bruno@clisp.org>
12269
12270         getlogin_r: Move AC_LIBOBJ invocations to module description.
12271         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
12272         gl_PREREQ_GETLOGIN_R invocations from here...
12273         * modules/getlogin_r (configure.ac): ... to here.
12274
12275 2011-05-08  Bruno Haible  <bruno@clisp.org>
12276
12277         getlogin: Move AC_LIBOBJ invocations to module description.
12278         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
12279         here...
12280         * modules/getlogin (configure.ac): ... to here.
12281
12282 2011-05-08  Bruno Haible  <bruno@clisp.org>
12283
12284         getloadavg: Move AC_LIBOBJ invocations to module description.
12285         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
12286         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
12287         * modules/getloadavg (configure.ac): ... to here.
12288
12289 2011-05-08  Bruno Haible  <bruno@clisp.org>
12290
12291         gethrxtime: Move AC_LIBOBJ invocations to module description.
12292         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
12293         LIB_GETHRXTIME from here...
12294         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
12295         invocations from here...
12296         * modules/gethrxtime (configure.ac): ... to here.
12297
12298 2011-05-08  Bruno Haible  <bruno@clisp.org>
12299
12300         gethostname: Move AC_LIBOBJ invocations to module description.
12301         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
12302         gl_PREREQ_GETHOSTNAME invocations from here...
12303         * modules/gethostname (configure.ac): ... to here.
12304
12305 2011-05-08  Bruno Haible  <bruno@clisp.org>
12306
12307         getgroups: Move AC_LIBOBJ invocations to module description.
12308         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
12309         here...
12310         * modules/getgroups (configure.ac): ... to here.
12311
12312 2011-05-08  Bruno Haible  <bruno@clisp.org>
12313
12314         getdtablesize: Move AC_LIBOBJ invocations to module description.
12315         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
12316         invocation from here...
12317         * modules/getdtablesize (configure.ac): ... to here.
12318
12319 2011-05-08  Bruno Haible  <bruno@clisp.org>
12320
12321         getdomainname: Move AC_LIBOBJ invocations to module description.
12322         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
12323         gl_PREREQ_GETDOMAINNAME invocations from here...
12324         * modules/getdomainname (configure.ac): ... to here.
12325
12326 2011-05-08  Bruno Haible  <bruno@clisp.org>
12327
12328         getline: Move AC_LIBOBJ invocations to module description.
12329         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
12330         invocations from here...
12331         * modules/getline (configure.ac): ... to here.
12332
12333 2011-05-08  Bruno Haible  <bruno@clisp.org>
12334
12335         getline: Simplify.
12336         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
12337         It's already handled through the module dependency.
12338
12339 2011-05-08  Bruno Haible  <bruno@clisp.org>
12340
12341         getdelim: Move AC_LIBOBJ invocations to module description.
12342         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
12343         and gl_PREREQ_GETDELIM invocations from here...
12344         * modules/getdelim (configure.ac): ... to here.
12345         (Depends-on): Fix condition.
12346
12347 2011-05-08  Bruno Haible  <bruno@clisp.org>
12348
12349         getcwd: Move AC_LIBOBJ invocations to module description.
12350         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
12351         invocations from here...
12352         * modules/getcwd (configure.ac): ... to here.
12353
12354 2011-05-08  Bruno Haible  <bruno@clisp.org>
12355
12356         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
12357         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
12358         here...
12359         * modules/getcwd-lgpl (configure.ac): ... to here.
12360
12361 2011-05-07  Bruno Haible  <bruno@clisp.org>
12362
12363         crypto/gc: Move AC_LIBOBJ invocations to module description.
12364         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
12365         * modules/crypto/gc (configure.ac): ... to here.
12366
12367 2011-05-07  Bruno Haible  <bruno@clisp.org>
12368
12369         fwriting: Move AC_LIBOBJ invocations to module description.
12370         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
12371         here...
12372         * modules/fwriting (configure.ac): ... to here.
12373
12374 2011-05-07  Bruno Haible  <bruno@clisp.org>
12375
12376         fwritable: Move AC_LIBOBJ invocations to module description.
12377         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
12378         here...
12379         * modules/fwritable (configure.ac): ... to here.
12380
12381 2011-05-07  Bruno Haible  <bruno@clisp.org>
12382
12383         futimens: Move AC_LIBOBJ invocations to module description.
12384         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
12385         here...
12386         * modules/futimens (configure.ac): ... to here.
12387
12388 2011-05-07  Bruno Haible  <bruno@clisp.org>
12389
12390         ftruncate: Move AC_LIBOBJ invocations to module description.
12391         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
12392         gl_PREREQ_FTRUNCATE invocations from here...
12393         * modules/ftruncate (configure.ac): ... to here.
12394
12395 2011-05-07  Bruno Haible  <bruno@clisp.org>
12396
12397         fsync: Move AC_LIBOBJ invocations to module description.
12398         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
12399         invocations from here...
12400         * modules/fsync (configure.ac): ... to here.
12401
12402 2011-05-07  Bruno Haible  <bruno@clisp.org>
12403
12404         fsusage: Move AC_LIBOBJ invocations to module description.
12405         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
12406         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
12407         * modules/fsusage (configure.ac): ... to here.
12408
12409 2011-05-07  Bruno Haible  <bruno@clisp.org>
12410
12411         freopen: Move AC_LIBOBJ invocations to module description.
12412         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
12413         invocations from here...
12414         * modules/freopen (configure.ac): ... to here.
12415
12416 2011-05-07  Bruno Haible  <bruno@clisp.org>
12417
12418         free: Move AC_LIBOBJ invocations to module description.
12419         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
12420         invocations from here...
12421         * modules/free (configure.ac): ... to here.
12422
12423 2011-05-07  Bruno Haible  <bruno@clisp.org>
12424
12425         freadable: Move AC_LIBOBJ invocations to module description.
12426         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
12427         here...
12428         * modules/freadable (configure.ac): ... to here.
12429
12430 2011-05-07  Bruno Haible  <bruno@clisp.org>
12431
12432         fpurge: Move AC_LIBOBJ invocations to module description.
12433         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
12434         invocations from here...
12435         * modules/fpurge (configure.ac): ... to here.
12436
12437 2011-05-07  Bruno Haible  <bruno@clisp.org>
12438
12439         fpending: Move AC_LIBOBJ invocations to module description.
12440         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
12441         gl_FUNC_FPENDING.
12442         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
12443         invocations from here...
12444         * modules/fpending (configure.ac): ... to here.
12445
12446 2011-05-07  Bruno Haible  <bruno@clisp.org>
12447
12448         fopen: Move AC_LIBOBJ invocations to module description.
12449         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
12450         invocations from here...
12451         * modules/fopen (configure.ac): ... to here.
12452
12453 2011-05-07  Bruno Haible  <bruno@clisp.org>
12454
12455         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
12456         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
12457         gl_FUNC_FNMATCH_POSIX.
12458         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
12459         invocations from here...
12460         * modules/fnmatch (configure.ac): ... to here.
12461         * modules/fnmatch-gnu (configure.ac): ... and here.
12462
12463 2011-05-07  Bruno Haible  <bruno@clisp.org>
12464
12465         flock: Move AC_LIBOBJ invocations to module description.
12466         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
12467         invocations from here...
12468         * modules/flock (configure.ac): ... to here.
12469
12470 2011-05-07  Bruno Haible  <bruno@clisp.org>
12471
12472         fileblocks: Move AC_LIBOBJ invocations to module description.
12473         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
12474         gl_PREREQ_FILEBLOCKS invocations from here...
12475         * modules/fileblocks (configure.ac): ... to here.
12476
12477 2011-05-06  Bruno Haible  <bruno@clisp.org>
12478
12479         fflush: Move AC_LIBOBJ invocations to module description.
12480         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
12481         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
12482         invocations from here...
12483         * modules/fflush (configure.ac): ... to here.
12484
12485 2011-05-06  Bruno Haible  <bruno@clisp.org>
12486
12487         fdopendir: Move AC_LIBOBJ invocations to module description.
12488         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
12489         here...
12490         * modules/fdopendir (configure.ac): ... to here.
12491         (Depends-on): Improve conditions.
12492
12493 2011-05-06  Bruno Haible  <bruno@clisp.org>
12494
12495         _Exit: Move AC_LIBOBJ invocations to module description.
12496         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
12497         invocations from here...
12498         * modules/_Exit (configure.ac): ... to here.
12499
12500 2011-05-21  Bruno Haible  <bruno@clisp.org>
12501
12502         euidaccess: Respect rules for use of AC_LIBOBJ.
12503         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
12504         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
12505         from here...
12506         * modules/euidaccess (configure.ac): ... to here.
12507
12508 2011-05-06  Bruno Haible  <bruno@clisp.org>
12509
12510         error: Move AC_LIBOBJ invocations to module description.
12511         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
12512         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
12513         invocations from here...
12514         * modules/error (configure.ac): ... to here.
12515
12516 2011-05-06  Bruno Haible  <bruno@clisp.org>
12517
12518         duplocale: Move AC_LIBOBJ invocations to module description.
12519         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
12520         gl_PREREQ_DUPLOCALE invocations from here...
12521         * modules/duplocale (configure.ac): ... to here.
12522
12523 2011-05-05  Bruno Haible  <bruno@clisp.org>
12524
12525         dirfd: Move AC_LIBOBJ invocations to module description.
12526         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
12527         gl_FUNC_DIRFD.
12528         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
12529         here...
12530         * modules/dirfd (configure.ac): ... to here.
12531         (Depends-on): Fix condition.
12532
12533 2011-05-05  Bruno Haible  <bruno@clisp.org>
12534
12535         chown: Respect rules for use of AC_LIBOBJ.
12536         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
12537         * modules/chown (configure.ac): ... to here.
12538
12539 2011-05-05  Bruno Haible  <bruno@clisp.org>
12540
12541         chdir-long: Move AC_LIBOBJ invocations to module description.
12542         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
12543         gl_PREREQ_CHDIR_LONG invocations from here...
12544         * modules/chdir-long (configure.ac): ... to here.
12545
12546 2011-05-05  Bruno Haible  <bruno@clisp.org>
12547
12548         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
12549         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
12550         from here...
12551         * modules/canonicalize-lgpl (configure.ac): ... to here.
12552
12553 2011-05-05  Bruno Haible  <bruno@clisp.org>
12554
12555         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
12556         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
12557         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
12558         REPLACE_CALLOC.
12559         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
12560         * modules/calloc-gnu (configure.ac): Likewise.
12561
12562 2011-05-05  Bruno Haible  <bruno@clisp.org>
12563
12564         btowc: Move AC_LIBOBJ invocations to module description.
12565         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
12566         invocations from here...
12567         * modules/btowc (configure.ac): ... to here.
12568
12569 2011-05-21  Bruno Haible  <bruno@clisp.org>
12570
12571         atexit: Move AC_LIBOBJ invocations to module description.
12572         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
12573         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
12574         here...
12575         * modules/atexit (configure.ac): ... to here.
12576
12577 2011-05-05  Bruno Haible  <bruno@clisp.org>
12578
12579         atoll: Move AC_LIBOBJ invocations to module description.
12580         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
12581         invocations from here...
12582         * modules/atoll (configure.ac): ... to here.
12583
12584 2011-05-05  Bruno Haible  <bruno@clisp.org>
12585
12586         argz: Move AC_LIBOBJ invocations to module description.
12587         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
12588         * modules/argz (configure.ac): ... to here.
12589
12590 2011-05-05  Bruno Haible  <bruno@clisp.org>
12591
12592         alphasort: Move AC_LIBOBJ invocations to module description.
12593         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
12594         gl_PREREQ_ALPHASORT invocations from here...
12595         * modules/alphasort (configure.ac): ... to here.
12596
12597 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
12598
12599         verify: new macro verify_expr; verify_true deprecated
12600         * NEWS: Mention this.
12601         * doc/verify.texi (Compile-time Assertions): Document this.
12602         * lib/verify.h (verify_true): Deprecate.
12603         (verify_expr): New macro.
12604         * tests/test-verify.c (function): Test verify_expr.
12605
12606 2011-06-14  Jim Meyering  <meyering@redhat.com>
12607
12608         init.sh: give more portable redirection-related advice in a comment
12609         * tests/init.sh (stderr_fileno_): Update the advice in comments.
12610         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
12611         for lots of discussion.  Stefano Lattarini suggested the solution
12612         of putting "9>&2" after the command.  Reported by Bruno Haible.
12613
12614 2011-06-13  Bruno Haible  <bruno@clisp.org>
12615
12616         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
12617         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
12618         'none'.
12619
12620 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
12621
12622         ftoastr: use strtof only if HAVE_STRTOF
12623         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
12624         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
12625         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
12626         * modules/ftoastr (configure.ac): Check for strtof.
12627
12628 2011-06-13  Bruno Haible  <bruno@clisp.org>
12629
12630         gnulib-tool: Addendum to 2011-06-08 commit.
12631         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
12632         and --witness-c-macro have been given, augment AM_CPPFLAGS.
12633
12634 2011-06-13  Bruno Haible  <bruno@clisp.org>
12635
12636         fseeko: Provide a non-inline replacement of fseek().
12637         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
12638         * modules/fseeko (Depends-on): Add fseek.
12639         * modules/fseek (License): Change to LGPLv2+.
12640
12641 2011-06-13  Bruno Haible  <bruno@clisp.org>
12642
12643         ftello: Provide a non-inline replacement of ftell().
12644         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
12645         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
12646         not have ftello() (such as on mingw).
12647         * modules/ftello (Depends-on): Add ftell.
12648         * modules/ftell (License): Change to LGPLv2+.
12649
12650 2011-05-07  Bruno Haible  <bruno@clisp.org>
12651
12652         ftell: Move AC_LIBOBJ invocations to module description.
12653         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
12654         * modules/ftell (configure.ac): ... to here.
12655
12656 2011-05-07  Bruno Haible  <bruno@clisp.org>
12657
12658         ftello: Respect rules for use of AC_LIBOBJ.
12659         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
12660         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
12661         here...
12662         * modules/ftello (configure.ac): ... to here.
12663
12664 2011-05-07  Bruno Haible  <bruno@clisp.org>
12665
12666         fseeko: Simplify.
12667         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
12668         (gl_FUNC_FSEEKO): Inline it here.
12669
12670 2011-05-07  Bruno Haible  <bruno@clisp.org>
12671
12672         fseek: Move AC_LIBOBJ invocations to module description.
12673         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
12674         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
12675         * modules/fseek (configure.ac): ... to here.
12676
12677 2011-05-07  Bruno Haible  <bruno@clisp.org>
12678
12679         fseek: Respect rules for use of AC_LIBOBJ.
12680         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
12681         here...
12682         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
12683
12684 2011-05-07  Bruno Haible  <bruno@clisp.org>
12685
12686         fseeko: Respect rules for use of AC_LIBOBJ.
12687         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
12688         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
12689         here...
12690         * modules/fseeko (configure.ac): ... to here.
12691
12692 2011-06-13  Bruno Haible  <bruno@clisp.org>
12693
12694         gnulib-tool: Allow comments in the 'Depends-on' section.
12695         * doc/gnulib.texi (Module description): Mention comment syntax in the
12696         Depends-on section.
12697         * gnulib-tool (func_get_dependencies): Filter out comment lines.
12698
12699 2011-06-13  Bruno Haible  <bruno@clisp.org>
12700
12701         file-set.h: guard __attibute__ use, now that it's not always defined
12702         * lib/file-set.h (record_file): Use __attribute__ only with compiler
12703         versions that support it.  This fixes a coreutils build failure with
12704         the vendor cc on HP-UX 11.31.
12705
12706 2011-06-12  Bruno Haible  <bruno@clisp.org>
12707
12708         acl: Add support for HP-UX >= 11.11 JFS ACLs.
12709         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
12710         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
12711         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
12712         (acl, aclsort): New declarations.
12713         (aclv_nontrivial): New declaration.
12714         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
12715         (file_has_acl): Read also the second kind of HP-UX ACLs.
12716         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
12717         kind of HP-UX ACLs if the first kind fails.
12718         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
12719         second kind of HP-UX ACLs.
12720         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
12721         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
12722         agree.
12723         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
12724         hpuxjfs.
12725         Handle hpuxjfs.
12726         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
12727         hpuxjfs.
12728         Handle hpuxjfs.
12729         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
12730         (func_test_same_acls): Use both lsacl and getacl.
12731         Handle hpuxjfs.
12732         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
12733         (func_test_same_acls): Use both lsacl and getacl.
12734         Handle hpuxjfs.
12735
12736 2011-06-12  Bruno Haible  <bruno@clisp.org>
12737
12738         acl: Complete the 2010-08-10 fix.
12739         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
12740         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
12741         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
12742         explicitly.
12743         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
12744         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
12745
12746 2011-06-12  Bruno Haible  <bruno@clisp.org>
12747
12748         spawn-pipe tests: Comments.
12749         * tests/test-spawn-pipe-child.c (main): Update comment.
12750         Reported by James Youngman <jay@gnu.org>.
12751
12752 2011-06-11  James Youngman  <jay@gnu.org>
12753
12754         New module 'stat-size'.
12755         * modules/stat-size: New module.  Provides macros for accessing
12756         file size information in instances of struct stat.  Depends on the
12757         fileblocks module because it calls st_blocks.
12758         * lib/stat-size.h: New file, adapted from coreutils' system.h.
12759         * doc/gnulib.texi: Include stat-size.texi.
12760         * doc/stat-size.texi: Documentation for this module.
12761         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
12762         * m4/fileblocks.m4: Mention that stat-size depends on the call to
12763         AC_STRUCT_ST_BLOCKS.
12764
12765 2011-06-09  Bruno Haible  <bruno@clisp.org>
12766
12767         thread: Support pthreads-win32.
12768         * lib/glthread/thread.h (gl_thread_self): Define differently on
12769         pthreads-win32.
12770         (gl_null_thread): New declaration.
12771         (gl_thread_self_pointer): New macro.
12772         * lib/glthread/thread.c (gl_null_thread): New constant.
12773         * tests/test-lock.c: Use gl_thread_self_pointer instead of
12774         gl_thread_self.
12775         * tests/test-tls.c: Likewise.
12776         Suggested by Paul Eggert. Reported by Eric Blake.
12777
12778 2011-06-09  Bruno Haible  <bruno@clisp.org>
12779
12780         thread: Fix confusion between NULL and 0.
12781         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
12782         Reported by Paul Eggert.
12783
12784 2011-06-09  Bruno Haible  <bruno@clisp.org>
12785
12786         spawn-pipe tests: Avoid test failure on HP-UX 11.
12787         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
12788         is closed.
12789
12790 2011-06-09  Bruno Haible  <bruno@clisp.org>
12791
12792         acl tests: Fix compilation error on HP-UX 11.
12793         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
12794
12795 2011-06-09  Bruno Haible  <bruno@clisp.org>
12796
12797         rmdir: Avoid test failure on HP-UX 10.20.
12798         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
12799         EEXIST.
12800
12801 2011-06-08  Eric Blake  <eblake@redhat.com>
12802
12803         perror: fix test on mingw
12804         * modules/perror-tests (Depends-on): Add dup2.
12805
12806         strerror_r-posix: fix on MacOS
12807         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
12808         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
12809         logic bug.
12810         * lib/strerror_r.c (strerror_r): Fix the bug.
12811         * lib/strerror.c (strerror): Likewise.
12812         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
12813         problem.
12814         * doc/posix-functions/strerror.texi (strerror): Likewise.
12815         * doc/posix-functions/perror.texi (perror): Likewise.
12816         * tests/test-strerror.c (main): Enhance test.
12817         * tests/test-strerror_r.c (main): Likewise.
12818
12819 2011-06-08  Bruno Haible  <bruno@clisp.org>
12820
12821         gnulib-tool: Better isolation between different gnulib-tool invocations.
12822         * gnulib-tool: New option --witness-c-macro.
12823         (witness_c_macro): New variable.
12824         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
12825         AM_CPPFLAGS define it as a C macro.
12826         (func_emit_tests_Makefile_am): Likewise.
12827         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
12828         read it from there.
12829         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
12830         m4_define, not AC_DEFUN.
12831         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
12832         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
12833         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
12834         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
12835         s|...|...|, to substitute the values of the GNULIB_* module indicator
12836         variables.
12837         * modules/dirent (Makefile.am): Likewise.
12838         * modules/fcntl-h (Makefile.am): Likewise.
12839         * modules/iconv-h (Makefile.am): Likewise.
12840         * modules/langinfo (Makefile.am): Likewise.
12841         * modules/locale (Makefile.am): Likewise.
12842         * modules/math (Makefile.am): Likewise.
12843         * modules/netdb (Makefile.am): Likewise.
12844         * modules/poll-h (Makefile.am): Likewise.
12845         * modules/pty (Makefile.am): Likewise.
12846         * modules/search (Makefile.am): Likewise.
12847         * modules/signal (Makefile.am): Likewise.
12848         * modules/spawn (Makefile.am): Likewise.
12849         * modules/stdio (Makefile.am): Likewise.
12850         * modules/stdlib (Makefile.am): Likewise.
12851         * modules/string (Makefile.am): Likewise.
12852         * modules/sys_ioctl (Makefile.am): Likewise.
12853         * modules/sys_select (Makefile.am): Likewise.
12854         * modules/sys_socket (Makefile.am): Likewise.
12855         * modules/sys_stat (Makefile.am): Likewise.
12856         * modules/sys_times (Makefile.am): Likewise.
12857         * modules/sys_utsname (Makefile.am): Likewise.
12858         * modules/sys_wait (Makefile.am): Likewise.
12859         * modules/termios (Makefile.am): Likewise.
12860         * modules/time (Makefile.am): Likewise.
12861         * modules/unistd (Makefile.am): Likewise.
12862         * modules/wchar (Makefile.am): Likewise.
12863
12864 2011-06-08  Eric Blake  <eblake@redhat.com>
12865
12866         strerror: simplify replacement
12867         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
12868         * modules/strerror (configure.ac): No prereqs needed here...
12869         * modules/strerror-override (configure.ac): ...but this needs it.
12870         (Files): Add file for needed prereq macro.
12871
12872 2011-06-08  Bruno Haible  <bruno@clisp.org>
12873
12874         strerror_r-posix: Tweaks.
12875         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
12876         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
12877         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
12878         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
12879         (gl_FUNC_STRERROR_R): ... to here.
12880         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
12881
12882 2011-06-07  Eric Blake  <eblake@redhat.com>
12883
12884         perror: document fixed bugs
12885         * doc/posix-functions/perror.texi (perror): Document recent
12886         patches.
12887
12888 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
12889
12890         stat-time: get_stat_birthtime failure is better-defined
12891         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
12892         return a timestamp whose tv_sec and tv_nsec values are both -1.
12893         Previously, the spec said only that the tv_nsec value was negative.
12894         This upward-compatible change simplifies GNU tar a bit.
12895
12896 2011-06-07  Eric Blake  <eblake@redhat.com>
12897
12898         strerror_r-posix: work around cygwin 1.7.9
12899         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
12900         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
12901         bug without replacing strerror_r.
12902         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
12903         strerror_r is buggy, but without requiring strerror_r compilation.
12904         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
12905
12906         test-perror: relax test to ignore cygwin bug
12907         * tests/test-perror2.c (main): Relax test on requiring detection
12908         of stream errors, and use unbuffered stream.
12909         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
12910         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
12911         * doc/posix-functions/fputc.texi (fputc): Likewise.
12912         * doc/posix-functions/fputs.texi (fputs): Likewise.
12913         * doc/posix-functions/fputws.texi (fputws): Likewise.
12914         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
12915         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
12916         * doc/posix-functions/getopt.texi (getopt): Likewise.
12917         * doc/posix-functions/perror.texi (perror): Likewise.
12918         * doc/posix-functions/printf.texi (printf): Likewise.
12919         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
12920         * doc/posix-functions/psignal.texi (psignal): Likewise.
12921         * doc/posix-functions/putc.texi (putc): Likewise.
12922         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
12923         Likewise.
12924         * doc/posix-functions/putchar.texi (putchar): Likewise.
12925         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
12926         Likewise.
12927         * doc/posix-functions/puts.texi (puts): Likewise.
12928         * doc/posix-functions/putwc.texi (putwc): Likewise.
12929         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
12930         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
12931         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
12932         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
12933         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
12934         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
12935         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
12936         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
12937
12938 2011-05-22  Bruno Haible  <bruno@clisp.org>
12939
12940         strerror: Move AC_LIBOBJ invocations to module description.
12941         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
12942         gl_PREREQ_STRERROR invocations from here...
12943         * modules/strerror (configure.ac): ... to here.
12944
12945 2011-05-21  Bruno Haible  <bruno@clisp.org>
12946
12947         perror: Use common idiom.
12948         * modules/perror (configure.ac): Reorder statements.
12949
12950 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
12951
12952         tests: fix usage message in 'mktempd_'
12953         * tests/init.sh (mktempd_): In the usage message, use literal
12954         'mktempd_', not '$ME' (which is even undefined), as the name of
12955         the subroutine.
12956
12957 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
12958
12959         tests init: new function 'fatal_', for hard errors
12960         Before this patch, the only way offered by tests/init.sh to
12961         properly signal a hard error was the `framework_failure_'
12962         function.  But the error message issued by that function,
12963         as its name would suggest, refers to a set-up failure in the
12964         testsuite, while hard errors can obviously also be due to
12965         other reasons.  The best way to fix this inconsistency is to
12966         introduce a new function with a more general error message.
12967         * tests/init.sh (fatal_): New function.
12968
12969 2011-06-06  Eric Blake  <eblake@redhat.com>
12970
12971         canonicalize-lgpl: use common idiom
12972         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
12973         over newer POSIX -Rf.
12974         Reported by Bruno Haible.
12975
12976         canonicalize-lgpl: work around AIX realpath bug
12977         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
12978         * doc/posix-functions/realpath.texi (realpath): Document it.
12979         Reported by Bruno Haible.
12980
12981         strerror: work around FreeBSD bug
12982         * lib/strerror.c (strerror): Special case 0.
12983         Reported by Bruno Haible.
12984
12985         strerror-override: avoid bloating errno module
12986         * modules/errno (Files, configure.ac): Move replacement strings...
12987         * modules/strerror-override: ...to new module.
12988         * modules/strerror (Depends-on): Add strerror-override.
12989         * modules/strerror_r-posix (Depends-on): Likewise.
12990         * MODULES.html.sh: Document new module.
12991         Reported by Bruno Haible.
12992
12993 2011-06-06  Bruno Haible  <bruno@clisp.org>
12994
12995         spawn-pipe tests: Rename program.
12996         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
12997         * tests/test-spawn-pipe-child.c: Update comment.
12998         * tests/test-spawn-pipe.sh: Update.
12999         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
13000
13001         spawn-pipe tests: Link the child program only against libc.
13002         * tests/test-spawn-pipe-child.c: New file, extracted from
13003         tests/test-spawn-pipe.c.
13004         (main): Expect only one argument.
13005         (is_open): New function, copied from tests/test-pipe.c.
13006         * tests/test-spawn-pipe.c: Don't include <errno.h>.
13007         (child_main): Remove function.
13008         (test_pipe): Pass only one argument to the child program.
13009         (main): Remove child process code. Expect the child program's name as
13010         first argument.
13011         * tests/test-spawn-pipe.sh: Pass the child program's name as first
13012         argument.
13013         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
13014         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
13015         test-spawn-pipe-child against no libraries.
13016
13017 2011-06-06  Bruno Haible  <bruno@clisp.org>
13018
13019         careadlinkat: Avoid mismatch between ssize_t and int.
13020         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
13021         * lib/careadlinkat.c (careadlinkatcwd): Define always.
13022
13023 2011-06-06  Jim Meyering  <meyering@redhat.com>
13024
13025         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
13026         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
13027         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
13028
13029 2011-06-05  Bruno Haible  <bruno@clisp.org>
13030
13031         ansi-c++-opt: Interoperability with libtool.
13032         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
13033         set the variable to "no", not to ":".
13034         * NEWS: Mention the change.
13035
13036 2011-06-05  Bruno Haible  <bruno@clisp.org>
13037
13038         acl: Fix test failure on AIX 7.
13039         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
13040         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
13041
13042 2011-06-05  Bruno Haible  <bruno@clisp.org>
13043
13044         pipe-filter-ii: Fix test failure on AIX and IRIX.
13045         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
13046         with EAGAIN, retry with a smaller buffer size.
13047
13048 2011-06-05  Bruno Haible  <bruno@clisp.org>
13049
13050         localename: Fix link dependencies.
13051         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
13052         * modules/localename-tests (Makefile.am): Link test-localename with
13053         $(LIBTHREAD).
13054
13055 2011-06-05  Bruno Haible  <bruno@clisp.org>
13056
13057         error: Avoid gcc warning.
13058         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
13059
13060 2011-06-05  Bruno Haible  <bruno@clisp.org>
13061
13062         unsetenv: Avoid gcc warning.
13063         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
13064
13065 2011-06-05  Bruno Haible  <bruno@clisp.org>
13066
13067         setenv: Avoid gcc warning.
13068         * lib/setenv.c (setenv): Provide declaration if system lacks it.
13069
13070 2011-06-05  Bruno Haible  <bruno@clisp.org>
13071
13072         sys_select: Ensure memset is declared also on AIX 7.
13073         * lib/sys_select.in.h: Include <string.h> also on AIX.
13074         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
13075         self-contained also on AIX 7.1.
13076
13077 2011-06-04  Jim Meyering  <meyering@redhat.com>
13078
13079         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
13080         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
13081         function name, "error".
13082         (_gl_translatable_diag_func_re): New configurable variable.
13083
13084 2011-06-04  Bruno Haible  <bruno@clisp.org>
13085
13086         getopt: Avoid gcc warning.
13087         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
13088
13089 2011-06-04  Bruno Haible  <bruno@clisp.org>
13090
13091         strerror_r: Fix comments.
13092         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
13093         commit.
13094
13095 2011-06-04  Bruno Haible  <bruno@clisp.org>
13096
13097         perror: Fix compilation error.
13098         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
13099         Undefine fprintf, not sprintf.
13100         * modules/perror (Depends-on): Remove intprops, verify.
13101
13102 2011-06-04  Bruno Haible  <bruno@clisp.org>
13103
13104         setlocale: Enable replacement on Cygwin 1.5.
13105         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
13106         Cygwin 1.5.x.
13107         * doc/posix-functions/setlocale.texi: Mention that the problem with the
13108         LC_CTYPE category also exists on Cygwin 1.5.x.
13109
13110 2011-06-04  Bruno Haible  <bruno@clisp.org>
13111
13112         strerror-override: Don't disable symbol renamings.
13113         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
13114         * lib/strerror-override.c: Include config.h.
13115         (strerror_override): Don't undefine.
13116
13117 2011-06-03  Bruno Haible  <bruno@clisp.org>
13118
13119         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
13120         * lib/localename.h: Update copyright header.
13121         * lib/localename.c: Likewise.
13122         * lib/relocatable.h: Likewise.
13123         * lib/relocatable.c: Likewise.
13124
13125 2011-06-02  Bruno Haible  <bruno@clisp.org>
13126
13127         doc: Fix a module name.
13128         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
13129
13130 2011-06-02  Bruno Haible  <bruno@clisp.org>
13131
13132         pipe2: Remove dependency on 'nonblocking' module.
13133         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
13134         O_NONBLOCK is defined by gnulib.
13135         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
13136         is zero.
13137         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
13138         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
13139         defined by gnulib.
13140         (get_nonblocking_flag): New function.
13141         (main): Test O_NONBLOCK flag only if it is nonzero.
13142         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
13143
13144 2011-06-03  Jim Meyering  <meyering@redhat.com>
13145
13146         maint: three new prohibit-header-without-use rules
13147         Prohibit use of cloexec.h, posixver.h, same.h without use.
13148         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
13149         (sc_prohibit_posixver_without_use): Likewise.
13150         (sc_prohibit_same_without_use): Likewise.
13151
13152 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13153
13154         allocator: 'die' routine is now given requested size
13155         * lib/allocator.h (struct allocator.die): New size arg.
13156         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
13157         If the actual problem is an ssize_t limitation, not a size_t or
13158         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
13159
13160 2011-06-01  Eric Blake  <eblake@redhat.com>
13161
13162         strerror: drop strerror_r dependency
13163         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
13164         * lib/strerror-override.c (strerror_override): ...to new file.
13165         * lib/strerror-override.h: Add prototype.
13166         * lib/strerror-impl.h: Delete.
13167         * lib/strerror.c (strerror): New implementation.
13168         * modules/errno (Files): Add new files.
13169         (configure.ac): Compile new file as appropriate.
13170         * modules/strerror (Files): Drop unused file.
13171         (Depends-on): Drop strerror_r-posix.
13172         * MODULES.html.sh: Document strerror_r-posix.
13173         Requested by Sam Steingold.
13174
13175         perror: call strerror_r directly
13176         * modules/perror (Files): Drop strerror-impl.h.
13177         * lib/perror.c (perror): Use our own stack buffer, rather than
13178         calling a wrapper that uses static storage.
13179         * doc/posix-functions/perror.texi (perror): Document a limitation
13180         of our replacement.
13181
13182         strerror_r: fix includes for FreeBSD
13183         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
13184         since we use abort on some platforms.
13185         Reported by Matthias Bolte.
13186
13187 2011-05-31  Bruno Haible  <bruno@clisp.org>
13188
13189         Fix link errors in tests: openat-die uses gettext-h.
13190         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
13191         against $(LIBINTL).
13192         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
13193         against $(LIBINTL).
13194         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
13195         $(LIBINTL).
13196         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
13197         against $(LIBINTL).
13198         * modules/linkat-tests (Makefile.am): Link test-linkat against
13199         $(LIBINTL).
13200         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
13201         $(LIBINTL).
13202         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
13203         against $(LIBINTL).
13204         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
13205         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
13206         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
13207         $(LIBINTL).
13208         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
13209         $(LIBINTL).
13210         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
13211         $(LIBINTL).
13212         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13213
13214 2011-05-31  Bruno Haible  <bruno@clisp.org>
13215
13216         Fix link errors in tests: wait-process uses gettext-h.
13217         * modules/nonblocking-pipe-tests (Makefile.am): Set
13218         test_nonblocking_pipe_main_LDADD.
13219         * modules/nonblocking-socket-tests (Makefile.am): Link
13220         test-nonblocking-socket-main against $(LIBINTL).
13221         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13222
13223 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
13224
13225         assert-h: work around 'verify' incompatibility
13226         * lib/verify.h: Use @...@ directives, not ifdef.
13227         * modules/assert-h (assert.h): Implement the directives.
13228         (assert.h): Substitute the symbol-prefix more consistently.
13229
13230 2011-05-29  Jim Meyering  <meyering@redhat.com>
13231
13232         trim: remove three superfluous assignments
13233         * lib/trim.c (trim2): Remove three superfluous assignments
13234         and correct brace positioning.
13235
13236 2011-05-29  Bruno Haible  <bruno@clisp.org>
13237
13238         wctype-h: Avoid namespace pollution on Solaris 2.6.
13239         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
13240         identifiers.
13241         * doc/posix-headers/wctype.texi: Mention the problem.
13242         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13243
13244 2011-05-28  Jim Meyering  <meyering@redhat.com>
13245
13246         parse-datetime.y: accommodate -Wstrict-overflow
13247         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
13248         placate -Wstrict-overflow.
13249
13250         trim: avoid a warning from -O2 -Wstrict-overflow
13251         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
13252
13253 2011-05-29  Bruno Haible  <bruno@clisp.org>
13254
13255         gnulib-tool: Fix bug in yesterday's commit.
13256         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
13257         twice.
13258
13259 2011-05-29  Bruno Haible  <bruno@clisp.org>
13260
13261         Allow multiple gnulib generated include files to be combined.
13262         * gnulib-tool (func_compute_include_guard_prefix): New function.
13263         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
13264         ${gl_include_guard_prefix} references.
13265         (func_import, func_create_testdir): Invoke
13266         func_compute_include_guard_prefix.
13267         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
13268         * lib/ctype.in.h: Likewise.
13269         * lib/dirent.in.h: Likewise.
13270         * lib/errno.in.h: Likewise.
13271         * lib/fcntl.in.h: Likewise.
13272         * lib/float.in.h: Likewise.
13273         * lib/getopt.in.h: Likewise.
13274         * lib/iconv.in.h: Likewise.
13275         * lib/langinfo.in.h: Likewise.
13276         * lib/locale.in.h: Likewise.
13277         * lib/math.in.h: Likewise.
13278         * lib/netdb.in.h: Likewise.
13279         * lib/netinet_in.in.h: Likewise.
13280         * lib/poll.in.h: Likewise.
13281         * lib/pthread.in.h: Likewise.
13282         * lib/pty.in.h: Likewise.
13283         * lib/sched.in.h: Likewise.
13284         * lib/se-selinux.in.h: Likewise.
13285         * lib/search.in.h: Likewise.
13286         * lib/signal.in.h: Likewise.
13287         * lib/spawn.in.h: Likewise.
13288         * lib/stdarg.in.h: Likewise.
13289         * lib/stddef.in.h: Likewise.
13290         * lib/stdint.in.h: Likewise.
13291         * lib/stdio.in.h: Likewise.
13292         * lib/stdlib.in.h: Likewise.
13293         * lib/string.in.h: Likewise.
13294         * lib/strings.in.h: Likewise.
13295         * lib/sys_file.in.h: Likewise.
13296         * lib/sys_ioctl.in.h: Likewise.
13297         * lib/sys_select.in.h: Likewise.
13298         * lib/sys_socket.in.h: Likewise.
13299         * lib/sys_stat.in.h: Likewise.
13300         * lib/sys_time.in.h: Likewise.
13301         * lib/sys_times.in.h: Likewise.
13302         * lib/sys_uio.in.h: Likewise.
13303         * lib/sys_utsname.in.h: Likewise.
13304         * lib/sys_wait.in.h: Likewise.
13305         * lib/sysexits.in.h: Likewise.
13306         * lib/termios.in.h: Likewise.
13307         * lib/time.in.h: Likewise.
13308         * lib/unistd.in.h: Likewise.
13309         * lib/wchar.in.h: Likewise.
13310         * lib/wctype.in.h: Likewise.
13311         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
13312         * modules/ctype (Makefile.am): Likewise.
13313         * modules/dirent (Makefile.am): Likewise.
13314         * modules/errno (Makefile.am): Likewise.
13315         * modules/fcntl-h (Makefile.am): Likewise.
13316         * modules/float (Makefile.am): Likewise.
13317         * modules/getopt-posix (Makefile.am): Likewise.
13318         * modules/iconv-h (Makefile.am): Likewise.
13319         * modules/langinfo (Makefile.am): Likewise.
13320         * modules/locale (Makefile.am): Likewise.
13321         * modules/math (Makefile.am): Likewise.
13322         * modules/netdb (Makefile.am): Likewise.
13323         * modules/netinet_in (Makefile.am): Likewise.
13324         * modules/poll-h (Makefile.am): Likewise.
13325         * modules/pthread (Makefile.am): Likewise.
13326         * modules/pty (Makefile.am): Likewise.
13327         * modules/sched (Makefile.am): Likewise.
13328         * modules/search (Makefile.am): Likewise.
13329         * modules/selinux-h (Makefile.am): Likewise.
13330         * modules/signal (Makefile.am): Likewise.
13331         * modules/spawn (Makefile.am): Likewise.
13332         * modules/stdarg (Makefile.am): Likewise.
13333         * modules/stddef (Makefile.am): Likewise.
13334         * modules/stdint (Makefile.am): Likewise.
13335         * modules/stdio (Makefile.am): Likewise.
13336         * modules/stdlib (Makefile.am): Likewise.
13337         * modules/string (Makefile.am): Likewise.
13338         * modules/strings (Makefile.am): Likewise.
13339         * modules/sys_file (Makefile.am): Likewise.
13340         * modules/sys_ioctl (Makefile.am): Likewise.
13341         * modules/sys_select (Makefile.am): Likewise.
13342         * modules/sys_socket (Makefile.am): Likewise.
13343         * modules/sys_stat (Makefile.am): Likewise.
13344         * modules/sys_time (Makefile.am): Likewise.
13345         * modules/sys_times (Makefile.am): Likewise.
13346         * modules/sys_uio (Makefile.am): Likewise.
13347         * modules/sys_utsname (Makefile.am): Likewise.
13348         * modules/sys_wait (Makefile.am): Likewise.
13349         * modules/sysexits (Makefile.am): Likewise.
13350         * modules/termios (Makefile.am): Likewise.
13351         * modules/time (Makefile.am): Likewise.
13352         * modules/unistd (Makefile.am): Likewise.
13353         * modules/wchar (Makefile.am): Likewise.
13354         * modules/wctype-h (Makefile.am): Likewise.
13355         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
13356
13357 2011-05-29  Bruno Haible  <bruno@clisp.org>
13358
13359         assert-h: Allow multiple gnulib generated replacements to coexist.
13360         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
13361
13362 2011-05-29  Bruno Haible  <bruno@clisp.org>
13363
13364         argp: Allow coexistence with strerror_r-posix module.
13365         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
13366         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
13367         by gnulib's <string.h> replacement), assume it has the POSIX signature,
13368         not the glibc signature.
13369
13370 2011-05-28  Bruno Haible  <bruno@clisp.org>
13371
13372         gnulib-tool: Alternative structure of testdirs, similar to --import.
13373         * gnulib-tool: New option --single-configure.
13374         (func_usage): Document it.
13375         (single_configure): New variable.
13376         (func_modules_transitive_closure_separately,
13377         func_modules_transitive_closure_separately,
13378         func_determine_use_libtests, func_modules_add_dummy_separately,
13379         func_modules_to_filelist_separately): New functions, extracted from
13380         func_import.
13381         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
13382         (func_import): Use the new functions.
13383         (func_create_testdir): Set final_modules. Handle $single_configure =
13384         true case.
13385
13386 2011-05-28  Bruno Haible  <bruno@clisp.org>
13387
13388         getloadavg: Remove an unreliable safety check.
13389         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
13390         getloadavg.c is in place.
13391         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
13392         Reported by Sam Steingold <sds@gnu.org>.
13393
13394 2011-05-28  Bruno Haible  <bruno@clisp.org>
13395
13396         doc: Cleanup yet another file produced by texinfo.tex.
13397         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
13398
13399 2011-05-28  Bruno Haible  <bruno@clisp.org>
13400
13401         Finish the conditional dependencies mechanism.
13402         * gnulib-tool: New option --no-conditional-dependencies.
13403         (func_usage): Document it. Don't mark --conditional-dependencies as
13404         experimental.
13405         (cond_dependencies): The possible values can now be true, false, empty.
13406         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
13407         (func_import): Store setting in gnulib-cache.m4 and read it from there.
13408         * doc/gnulib-tool.texi (Conditional dependencies): New section.
13409
13410 2011-05-28  Bruno Haible  <bruno@clisp.org>
13411
13412         doc: Use a recent texinfo.tex.
13413         * doc/Makefile (tex_opts): New variable.
13414         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
13415
13416 2011-05-28  Jim Meyering  <meyering@redhat.com>
13417
13418         intprops.h: adjust comment to match code change
13419         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
13420         only once, it *may* have side effects.  Also fix an unrelated typo.
13421         (_GL_INT_SIGNED): Likewise.
13422
13423 2011-05-26  Simon Josefsson  <simon@josefsson.org>
13424
13425         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
13426
13427 2011-05-26  Bruno Haible  <bruno@clisp.org>
13428
13429         mbsrchr: Avoid collision with system function on Interix.
13430         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
13431         Reported by Markus Duft <mduft@gentoo.org>.
13432
13433 2011-05-15  James Youngman  <jay@gnu.org>
13434
13435         getopt: for ambiguous options, enumerate the possibilities.
13436         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
13437         the ambiguous options when an ambiguous prefix is given. This was
13438         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
13439         glibc change was
13440         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
13441
13442 2011-05-25  Eric Blake  <eblake@redhat.com>
13443
13444         getcwd: work around mingw bug
13445         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
13446         * doc/posix-functions/getcwd.texi (getcwd): Document it.
13447         Reported by Matthias Bolte.
13448
13449 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
13450
13451         test-intprops: disable -Wtype-limits diagnostics
13452         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
13453         diagnostics.  Otherwise, the integer overflow macros generate many
13454         diagnostics.  Reported by Jim Meyering in
13455         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
13456
13457         intprops: shorten, to pacify gcc -Woverlength-strings
13458         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
13459         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
13460         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
13461         likely to run afoul of C compiler limits for string constant lengths.
13462         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
13463
13464 2011-05-24  Eric Blake  <eblake@redhat.com>
13465
13466         docs: document recently fixed glibc printf bug
13467         * doc/posix-functions/fprintf.texi (fprintf): Document it.
13468         * doc/posix-functions/printf.texi (printf): Likewise.
13469         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
13470         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
13471
13472         closein-tests: convert to init.sh
13473         * modules/closein-tests (Files): Add init.sh
13474         * tests/test-closein.sh Use it.
13475
13476         yesno-tests: convert to init.sh
13477         * modules/yesno-tests (Files): Add init.sh.
13478         * tests/test-yesno.sh: Use it.
13479
13480         atexit-tests: ensure reliable exit status
13481         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
13482         Reported by Bruno Haible.
13483
13484 2011-05-24  Bruno Haible  <bruno@clisp.org>
13485
13486         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
13487         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
13488         gl_PREREQ_STRERROR_R invocations from here...
13489         * modules/strerror_r-posix (configure.ac): ... to here.
13490
13491 2011-05-24  Eric Blake  <eblake@redhat.com>
13492
13493         strerror_r: fix missing header
13494         * lib/strerror_r.c: Avoid compiler warning about snprintf.
13495
13496         strerror_r: fix AIX test failures
13497         * lib/strerror_r.c (strerror_r): Convert silent truncation to
13498         ERANGE failure.
13499
13500         strerror_r: fix Solaris test failures
13501         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
13502         failures.
13503         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
13504
13505         strerror_r: enforce POSIX recommendations
13506         * lib/strerror_r.c (safe_copy): New helper method.
13507         (strerror_r): Guarantee a non-empty string.
13508         * tests/test-strerror_r.c (main): Enhance tests to incorporate
13509         recent POSIX rulings and to match our strerror guarantees.
13510         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
13511
13512 2011-05-24  Jim Meyering  <meyering@redhat.com>
13513
13514         test-perror2.c: avoid warning about unused variable
13515         * tests/test-perror2.c (main): Remove declaration of unused "fp".
13516
13517 2011-05-24  Eric Blake  <eblake@redhat.com>
13518
13519         perror: avoid spurious test failure on HP-UX
13520         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
13521
13522         tests: fix logic bug in init.sh
13523         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
13524         shell.
13525
13526 2011-05-24  Jim Meyering  <meyering@redhat.com>
13527
13528         utimensat: do not reference an out-of-scope buffer
13529         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
13530         declared in an inner scope, yet "times" would be dereferenced outside
13531         the scope in which "ts" was valid.
13532         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
13533         of ts[2] "out/up", so that the use of aliased "times" (via
13534         "times = ts;") does not end up referencing an out-of-scope "ts"
13535
13536         opendir-safer.c: don't clobber errno; don't close negative FD
13537         * lib/opendir-safer.c (opendir_safer):
13538         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
13539         file descriptor, and more importantly, don't clobber the
13540         offending errno value with EINVAL.  Before, upon failure
13541         of dup_safer, we would pass the negative file descriptor to
13542         fdopendir, which would clobber errno.
13543
13544 2011-05-23  Bruno Haible  <bruno@clisp.org>
13545
13546         idcache: Fix module description.
13547         * modules/idcache (Include): Set to "idcache.h".
13548
13549 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
13550
13551         gnulib-tool: fix portability problem with MacOS sed
13552         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
13553         before the "}".  Problem reported by Leo in
13554         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
13555         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
13556         sed_extract_condition1, sed_extract_condition2.
13557
13558 2011-05-23  Bruno Haible  <bruno@clisp.org>
13559
13560         hash: Simplify autoconf macro.
13561         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
13562
13563 2011-05-23  Bruno Haible  <bruno@clisp.org>
13564
13565         getugroups: Fix module description.
13566         * modules/getugroups (Include): Set to "getugroups.h".
13567
13568 2011-05-23  Bruno Haible  <bruno@clisp.org>
13569
13570         linkat: Simplify autoconf macro.
13571         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
13572
13573 2011-05-23  Bruno Haible  <bruno@clisp.org>
13574             Eric Blake  <eblake@redhat.com>
13575
13576         linkat, renameat: Update dependencies.
13577         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
13578         * modules/linkat (Depends-on): Likewise. Remove also readlink,
13579         symlinkat.
13580
13581 2011-05-23  Jim Meyering  <meyering@redhat.com>
13582
13583         maint.mk: more tight_scope improvements
13584         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
13585         (_gl_TS_headers): Define only in if-0'd block.
13586         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
13587         sometimes we must *not* use it.  Adjust uses accordingly.
13588         (sc_tight_scope): Use much simpler grep-based test to determine
13589         whether we skip this rule.
13590
13591         maint.mk: generalize/improve the tight-scope rule
13592         * top/maint.mk: Emit a warning when the test is skipped.
13593         (_gl_TS_dir): Add $(srcdir)/ prefix.
13594         (_gl_TS_function_match): Simplify, rather than trying
13595         to enumerate common types.  Otherwise, it would fail to match an
13596         "extern unsigned char const *" declaration in idutils.
13597         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
13598         a way to support use of that type of macro.
13599         (_gl_TS_var_match): Simplify regexp.
13600         (_gl_TS_obj_files): New configurable variable.
13601         (_gl_TS_headers): Likewise.
13602
13603 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
13604
13605         verify: fix bug when gnulib <assert.h> is also included
13606         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
13607         is defined, not if _GL_STATIC_ASSERT_H is not defined.
13608         Perhaps there's a better way, but this fixes the immediate problem.
13609         Problem reported by Bruno Haible in
13610         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
13611
13612 2011-05-22  Bruno Haible  <bruno@clisp.org>
13613
13614         xgetcwd: Simplify autoconf macro.
13615         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
13616
13617 2011-05-22  Bruno Haible  <bruno@clisp.org>
13618
13619         New module 'mktime-internal'.
13620         * modules/mktime-internal: New file.
13621         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
13622         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
13623         mktime_internal as a C macro if libc has __mktime_internal.
13624         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
13625         conditions.
13626         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
13627
13628 2011-05-22  Bruno Haible  <bruno@clisp.org>
13629
13630         timegm: Correct mktime replacement statements.
13631         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
13632         defining mktime as a C macro. This completes a 2009-07-28 commit.
13633
13634 2011-05-22  Bruno Haible  <bruno@clisp.org>
13635
13636         timegm: Simplify autoconf macro.
13637         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
13638
13639 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13640
13641         clock-time: change to LGPLv2+.
13642         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
13643         BSD-like but we have no mark for that; this is good enough for now.
13644
13645 2011-05-21  Bruno Haible  <bruno@clisp.org>
13646
13647         strerror_r: Fix comments.
13648         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
13649
13650 2011-05-21  Bruno Haible  <bruno@clisp.org>
13651
13652         relocatable-prog-wrapper: Fix possible link error.
13653         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
13654         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
13655         (gl_FUNC_SETENV): ... to here.
13656         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
13657         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
13658
13659 2011-05-21  Bruno Haible  <bruno@clisp.org>
13660
13661         relocatable-prog-wrapper: Assume strerror() exists.
13662         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
13663         m4/strerror.m4.
13664         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
13665         * lib/relocwrapper.c: Remove mention of strerror module.
13666         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
13667         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
13668         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
13669         C macro.
13670
13671 2011-05-21  Bruno Haible  <bruno@clisp.org>
13672
13673         select: Simplify replacement idiom.
13674         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
13675         Win32 platforms.
13676         * lib/sys_select.in.h (select): Simplify accordingly.
13677         * modules/select (Depends-on): Likewise.
13678
13679 2011-05-21  Bruno Haible  <bruno@clisp.org>
13680
13681         mkdir-p: Simplify autoconf macro.
13682         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
13683         gl_FUNC_LCHOWN.
13684
13685 2011-05-21  Eric Blake  <eblake@redhat.com>
13686
13687         strerror_r: avoid clobbering strerror on cygwin
13688         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
13689         fall back instead to sys_errlist.
13690         * modules/strerror (configure.ac): Add witness.
13691         * tests/test-strerror_r.c (main): Enhance test.
13692         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13693         * tests/test-perror2.c (main): Free memory before exit.
13694
13695 2011-05-21  Bruno Haible  <bruno@clisp.org>
13696
13697         mkdtemp: Use gnulib naming conventions.
13698         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
13699         * modules/mkdtemp (configure.ac): Update.
13700
13701 2011-05-20  Eric Blake  <eblake@redhat.com>
13702
13703         strerror_r: avoid corrupting errno on Solaris
13704         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
13705         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13706
13707         strerror_r: avoid compiler warning
13708         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
13709
13710         strerror_r: simplify AIX code
13711         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
13712
13713         test-perror: avoid spurious failure on FreeBSD
13714         * modules/perror-tests (Depends-on): Add strerror, now that
13715         strerror_r no longer pulls it in.
13716
13717 2011-05-20  Bruno Haible  <bruno@clisp.org>
13718
13719         strerror_r-posix: Remove unused dependencies.
13720         * modules/strerror_r-posix (Depends-on): Remove strerror.
13721         Reported by Eric Blake.
13722
13723 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13724
13725         intprops: remove assumption about A|B representation
13726         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
13727         is a valid integer if both A and B are.  Although this is true for
13728         all known practical hosts, the C standard doesn't guarantee it,
13729         and the code need not assume it.  Also, this change may work around
13730         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
13731         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
13732
13733 2011-05-20  Eric Blake  <eblake@redhat.com>
13734
13735         perror: work around FreeBSD bug
13736         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
13737         is broken.  Move AC_LIBOBJ...
13738         * modules/perror (configure.ac): Here.
13739         * doc/posix-functions/perror.texi (perror): Document this.
13740         * tests/test-perror2.c (main): Enhance test.
13741
13742         test-perror: check for strerror interactions
13743         * tests/macros.h (STREQ): Add macro.
13744         * modules/perror-tests (Files): Add second test.
13745         * tests/test-perror2.c (main): New file.
13746         * doc/posix-functions/perror.texi (perror): Document glibc bug.
13747
13748         test-perror: rewrite to use init script
13749         * modules/perror-tests (Files): Add init.sh.
13750         * tests/test-perror.sh: Use temporary directory.
13751
13752 2011-05-20  Jim Meyering  <meyering@redhat.com>
13753
13754         maint: replace misused "a" with "an"
13755         * doc/intprops.texi: "a integer"
13756         * doc/regex.texi: "a explanation"
13757         * lib/alignof.h: "a object"
13758         * lib/argmatch.h: "a explanation"
13759         * lib/argp-help.c: "a option" and "a OPTION_DOC"
13760         * lib/stdint.in.h: "a integer"
13761         * lib/userspec.c: "a owner"
13762         * doc/gnulib.texi: Fix "a idea", and reword.
13763
13764 2011-05-19  Jim Meyering  <meyering@redhat.com>
13765
13766         maint: correct misuse of "a" and "an"
13767         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
13768         * lib/argp-help.c: "an docum...": s/an/a/
13769         * lib/argp-parse.c: "An vector": s/An/A/
13770         * lib/execute.c: "an native": s/an/a/
13771         * lib/spawn-pipe.c: Likewise.
13772         * lib/gc.h: "an Gc_rc": s/an/a/
13773         * lib/unigbrk.in.h: "an grapheme": s/an/a/
13774         * lib/fts.c: "an stat.st_dev": s/an/a/
13775
13776 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13777
13778         intprops-tests: work around HP-UX 11.23 cc bug with constants
13779         * tests/test-intprops.c (VERIFY): New macro.
13780         (main): Use it, instead of verify, to work around the compiler bug; see
13781         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
13782
13783         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
13784         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
13785         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
13786         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
13787         (_GL_REMAINDER_OVERFLOW): Use it.
13788
13789         intprops-tests: revert unsigned part of previous change
13790         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
13791         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
13792         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
13793         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
13794
13795 2011-05-19  Bruno Haible  <bruno@clisp.org>
13796
13797         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
13798         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
13799         strerror_r() returned without filling the buffer.
13800         Reported by Eric Blake.
13801
13802 2011-05-19  Eric Blake  <eblake@redhat.com>
13803
13804         strerror_r: guarantee unchanged errno
13805         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
13806         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
13807         failure.
13808         * tests/test-strerror_r.c (main): Enhance test.
13809
13810 2011-05-19  Bruno Haible  <bruno@clisp.org>
13811
13812         strerror_r: Reorder #if blocks.
13813         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
13814         for consistency with the previous commit.
13815
13816 2011-05-19  Bruno Haible  <bruno@clisp.org>
13817
13818         perror: Avoid clobbering the strerror buffer when possible.
13819         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
13820         * lib/strerror.c: Include it.
13821         * modules/strerror (Files): Add lib/strerror-impl.h.
13822         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
13823         (my_strerror): New function, defined through lib/strerror-impl.h.
13824         (perror): Use it instead of strerror.
13825         * modules/perror (Files): Add lib/strerror-impl.h.
13826         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
13827
13828 2011-05-19  Eric Blake  <eblake@redhat.com>
13829
13830         strerror_r: fix on newer cygwin
13831         * lib/strerror_r.c (strerror_r): Cygwin now has
13832         __xpg_strerror_r, use it.
13833
13834 2011-05-19  Bruno Haible  <bruno@clisp.org>
13835
13836         strerror_r: Avoid clobbering the strerror buffer when possible.
13837         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
13838         (sys_nerr, sys_errlist): New declarations.
13839         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
13840         HP-UX, native Win32, IRIX, and 32-bit Solaris.
13841         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
13842
13843 2011-05-19  Bruno Haible  <bruno@clisp.org>
13844
13845         strerror_r: Fix test failure on mingw.
13846         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
13847         EXTEND_STRERROR_R.
13848         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
13849         macros from errno.in.h instead.
13850
13851 2011-05-19  Eric Blake  <eblake@redhat.com>
13852
13853         strerror: relax test for Solaris
13854         * tests/test-strerror.c (main): Permit Solaris behavior.
13855         * tests/test-strerror_r.c (main): Likewise.
13856
13857         strerror: enforce POSIX ruling on strerror(0)
13858         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
13859         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
13860         * lib/strerror_r.c (rpl_strerror_r): Work around it.
13861         * doc/posix-functions/strerror.texi (strerror): Document it.
13862         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
13863         * tests/test-strerror.c (main): Strengthen test.
13864         * tests/test-strerror_r.c (main): Likewise.
13865
13866 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13867
13868         intprop-tests: port to older and more-pedantic compilers
13869         * modules/intprops-tests (Files): Add tests/macros.h.
13870         * tests/test-intprops.c: Include macros.h.
13871         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
13872         it's no longer documented to expand to an integer constant expression.
13873         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
13874         argument is floating point, as it's no longer documented to expand
13875         to an integer constant expression in that case.
13876         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
13877         compiler bugs reported by Bruno Haible.  See
13878         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
13879         (U0, U1): New constants, to work around the same bugs.  Also,
13880         in tests, use e.g., "(unsigned int) 39" rather than "39u".
13881
13882         intprops: work around C compiler bugs
13883         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
13884         bug in Sun C 5.11 2010/08/13 and other compilers; see
13885         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
13886
13887         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
13888         * doc/intprops.texi (Integer Type Determination): Fix
13889         documentation for TYPE_IS_INTEGER: it returns an constant
13890         expression, not an integer constant expression.  Fix doc for
13891         TYPE_SIGNED: it returns an integer constant expression only if its
13892         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
13893         hardly worth documented that way....)
13894
13895 2011-05-18  Bruno Haible  <bruno@clisp.org>
13896
13897         strerror_r: Avoid clobbering the strerror buffer when possible.
13898         * lib/strerror_r.c (strerror_r): Merge the three implementations.
13899         Handle gnulib defined errno values here. When strerror() returns NULL
13900         or an empty string, return EINVAL.
13901         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
13902         gnulib defined errno values here.
13903         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
13904
13905 2011-05-18  Eric Blake  <eblake@redhat.com>
13906
13907         fnmatch: avoid compiler warning
13908         * lib/fnmatch_loop.c (FCT): Use correct type.
13909         Reported by Matthias Bolte.
13910
13911 2011-05-13  Jim Meyering  <meyering@redhat.com>
13912
13913         maint.mk: three new prohibit_<HDR>_without_use rules
13914         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
13915         (sc_prohibit_stdio-safer_without_use): Likewise.
13916         (sc_prohibit_xfreopen_without_use): Likewise.
13917
13918 2011-05-17  Jim Meyering  <meyering@redhat.com>
13919
13920         announce-gen: fail if the NEWS delta is empty
13921         If there's nothing noteworthy in NEWS, then either you forgot
13922         or you shouldn't be releasing.
13923         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
13924
13925 2011-05-17  Pádraig Brady <P@draigBrady.com>
13926
13927         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
13928         reserved symbols starting with double underscore from the check.
13929
13930 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
13931
13932         intprops: add doc
13933         * doc/intprops.texi: New file, documenting intprops.
13934         * doc/gnulib.texi (Particular Modules): Include it.
13935
13936         verify: add doc to gnulib manual and fix example
13937         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
13938         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
13939         (Compile-time Assertions): Fix example so it can't overflow.
13940
13941 2011-05-17  Jim Meyering  <meyering@redhat.com>
13942
13943         warnings.m4: don't usurp save_CPPFLAGS variable name
13944         * m4/warnings.m4: Prefix local temporary variable name with gl_.
13945
13946         doc: fix typo
13947         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
13948
13949 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13950             Bruno Haible  <bruno@clisp.org>
13951
13952         doc: Tweak recent change.
13953         * README (Portability guidelines): Tweak new text.
13954         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
13955         Interix 6.1.
13956
13957 2011-05-16  Eric Blake  <eblake@redhat.com>
13958
13959         inttypes: avoid autoconf warning
13960         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
13961         * m4/stdint.m4 (gl_STDINT_H): Likewise.
13962
13963 2011-05-16  Sam Steingold <sds@gnu.org>
13964         and Eric Blake  <eblake@redhat.com>
13965
13966         vc-list-files: accept multiple directory operands
13967         * build-aux/vc-list-files: Iterate over all remaining operands.
13968
13969 2011-05-16  Bruno Haible  <bruno@clisp.org>
13970
13971         Fix confusion regarding deprecated modules.
13972         * modules/calloc (Status, Notice): Mark module as deprecated, not
13973         obsolete.
13974         * modules/fnmatch-posix (Status, Notice): Likewise.
13975         * modules/getdate (Status, Notice): Likewise.
13976         * modules/getopt (Status, Notice): Likewise.
13977         * modules/malloc (Status, Notice): Likewise.
13978         * modules/pipe (Status, Notice): Likewise.
13979         * modules/realloc (Status, Notice): Likewise.
13980         * modules/rename-dest-slash (Status, Notice): Likewise.
13981         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
13982         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
13983         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
13984         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
13985         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
13986
13987 2011-05-16  Bruno Haible  <bruno@clisp.org>
13988
13989         doc: List the target platforms.
13990         * doc/gnulib-intro.texi (Target Platforms): New section.
13991         * doc/gnulib.texi (Introduction): Update menu.
13992         * README (Portability guidelines): Refer to the new section. Update
13993         statement about oldest supported environment. Remove rationale why
13994         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
13995         unportable C89 function.
13996         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
13997         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
13998
13999 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14000
14001         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
14002
14003 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14004
14005         intprops-tests: new module
14006         * modules/intprops-tests, tests/test-intprops.c: New files.
14007
14008         intprops: add safe, portable integer overflow checking
14009         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
14010         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
14011         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
14012         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
14013         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
14014         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
14015         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
14016         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
14017         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
14018         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
14019         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
14020
14021 2011-05-12  James Youngman  <jay@gnu.org>
14022
14023         Add a test for glibc's Bugzilla bug #12378.
14024         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
14025         doesn't allow the literal matching of a lone "[" (which is
14026         required by POSIX).
14027         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
14028
14029 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
14030
14031         Sync glibc change fixing Bugzilla bug #12378.
14032         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
14033         beginning and fall back to matching as normal character if the
14034         string ends before the matching ']' is found.  This is what POSIX
14035         requires.
14036
14037 2011-05-13  Eric Blake  <eblake@redhat.com>
14038
14039         getcwd-lgpl: relax test for FreeBSD
14040         * doc/posix-functions/getcwd.texi (getcwd): Document portability
14041         issue.
14042         * tests/test-getcwd-lgpl.c (main): Relax test.
14043         Reported by Matthias Bolte.
14044
14045 2011-05-11  Eric Blake  <eblake@redhat.com>
14046
14047         test-fflush: silence compiler warning
14048         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
14049
14050 2011-05-11  Bruno Haible  <bruno@clisp.org>
14051
14052         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
14053         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
14054         * modules/canonicalize (Depends-on): Add 'nocrash'.
14055         * modules/canonicalize-lgpl (Depends-on): Likewise.
14056         * doc/posix-functions/realpath.texi: Update platforms list.
14057         Reported by Ryan Schmidt <ryandesign@macports.org>.
14058
14059 2011-05-11  Bruno Haible  <bruno@clisp.org>
14060
14061         group-member: Declare function in <unistd.h>.
14062         * lib/unistd.in.h (group_member): New declaration.
14063         * lib/group-member.h: Remove file.
14064         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
14065         * tests/test-unistd-c++.cc: Check signature of group_member.
14066         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
14067         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
14068         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
14069         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
14070         HAVE_GROUP_MEMBER.
14071         * modules/group-member (Files): Remove lib/group-member.h.
14072         (Depends-on): Add unistd. Specify conditions.
14073         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
14074         (Include): Change to <unistd.h>.
14075         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
14076         HAVE_GROUP_MEMBER.
14077         * NEWS: Mention the change.
14078         * lib/euidaccess.c: Don't include group-member.h.
14079
14080 2011-05-11  Bruno Haible  <bruno@clisp.org>
14081
14082         group-member: Document module.
14083         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
14084         module.
14085
14086 2011-05-11  Bruno Haible  <bruno@clisp.org>
14087
14088         fclose: Fix mistake earlier today.
14089         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
14090
14091 2011-05-11  Eric Blake  <eblake@redhat.com>
14092
14093         fclose: preserve fflush errors
14094         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
14095         Reported by Jim Meyering.
14096
14097         bootstrap: support a prereq of 'rpcgen -' on RHEL5
14098         * build-aux/bootstrap (check_versions): When no specific version
14099         is required, merely check that the app produces an exit status
14100         that indicates its existence.
14101
14102         maint.mk: drop redundant check
14103         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
14104         the same but better.
14105
14106 2011-05-11  Bruno Haible  <bruno@clisp.org>
14107
14108         fclose: Fix possible link error.
14109         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
14110         unregister_shadow_fd. Improve comments.
14111         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
14112         Eric Blake.
14113
14114 2011-05-11  Jim Meyering  <meyering@redhat.com>
14115
14116         maint.mk: improve "can not" detection and generalize rule name
14117         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
14118         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
14119         Use the same technique as in sc_prohibit_doubled_word, so that
14120         we recognize "can not" also when the words are separated by a newline.
14121         Suggested by Eric Blake.
14122         (perl_filename_lineno_text_): Define.  Factored out of...
14123         (prohibit_doubled_word_): ...here.  Use the new definition.
14124         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
14125         (prohibit_undesirable_word_seq_RE_): New overridable variable.
14126         (ignore_undesirable_word_sequence_RE_): New overridable variable.
14127
14128 2011-05-10  Eric Blake  <eblake@redhat.com>
14129
14130         fclose: avoid double close race when possible
14131         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
14132         all but WINDOWS_SOCKETS.
14133
14134 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
14135
14136         openat: correct new comment
14137         * lib/openat-proc.c (openat_proc_name): Correct the comment.
14138
14139 2011-05-10  Jim Meyering  <meyering@redhat.com>
14140
14141         openat: add comments
14142         * lib/openat-proc.c (openat_proc_name): Add comments,
14143         mostly from Eric Blake.
14144
14145 2011-05-09  Eric Blake  <eblake@redhat.com>
14146
14147         openat: reduce syscalls in first probe of /proc
14148         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
14149         be a directory.  Simplify the probe for .. bugs.
14150         * modules/openat (Depends-on): Drop same-inode.
14151         Reported by Bastien ROUCARIES.
14152
14153 2011-05-09  Jim Meyering  <meyering@redhat.com>
14154
14155         maint.mk: change semantics/name of tight_scope variables
14156         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
14157         Rename variables to align with semantics that make them more useful.
14158
14159         maint.mk: tweak new rule's name not to impinge
14160         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
14161         (sc_tight_scope): Use new rule name rather than $@-0.
14162
14163         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
14164         * top/maint.mk (sc_tight_scope): New rule.
14165         (sc_tight_scope-0): New rule, ifdef'd out.
14166         (_gl_TS_dir): Default.
14167         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
14168         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
14169
14170 2011-05-09  Simon Josefsson  <simon@josefsson.org>
14171
14172         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
14173         Haible <bruno@clisp.org>.
14174
14175 2011-05-08  Bruno Haible  <bruno@clisp.org>
14176
14177         Comments.
14178         * m4/isnanf.m4: Add comment.
14179         * m4/isnanl.m4: Likewise.
14180
14181 2011-05-08  Bruno Haible  <bruno@clisp.org>
14182
14183         glob: Remove obsolete macro.
14184         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
14185
14186 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
14187
14188         intprops: Sun C 5.11 supports __typeof__
14189         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
14190         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
14191         which is new.
14192         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
14193
14194         intprops: switch to usual gnulib indenting and naming
14195         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
14196         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
14197
14198         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
14199
14200 2011-05-08  Jim Meyering  <meyering@redhat.com>
14201
14202         maint.mk: suppress "Entering/Leaving directory" diag in announcement
14203         * top/maint.mk (release-prep): Use make's --no-print-directory
14204         option when generating the announcement.  This eliminates the
14205         pesky "make[2]: Entering/Leaving directory" diagnostics in the
14206         generated announcement template.
14207
14208 2011-05-08  Bruno Haible  <bruno@clisp.org>
14209
14210         tzset: Fix gettimeofday wrapper on Solaris 2.6.
14211         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
14212         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
14213
14214 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
14215
14216         ignore-value, verify: Omit include files from lib_SOURCES.
14217         * modules/ignore-value, modules/verify (Makefile.am):
14218         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
14219         that leads Automake to duplicate use of am__objects_... variables
14220         in Makefile.in.  See
14221         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
14222
14223 2011-05-07  Bruno Haible  <bruno@clisp.org>
14224
14225         fclose: Simplify autoconf macro.
14226         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
14227         defined.
14228
14229 2011-05-07  Bruno Haible  <bruno@clisp.org>
14230
14231         canonicalize-lgpl: Fix autoconf macro ordering bug.
14232         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
14233         gl_STDLIB_H_DEFAULTS.
14234
14235 2011-05-06  Eric Blake  <eblake@redhat.com>
14236
14237         maintainer-makefile: make sc_po_check easier to tune
14238         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
14239         to probe for strings, such as an alternate location for gnulib.
14240
14241         fclose: guarantee behavior on seekable stdin
14242         * modules/fclose (Depends-on): Add fflush.
14243         * doc/posix-functions/fclose.texi (fclose): Document this.
14244         * tests/test-fclose.c (main): Make test for this unconditional.
14245
14246 2011-05-06  Bruno Haible  <bruno@clisp.org>
14247
14248         fflush, fpurge: Relicense under LGPLv2+.
14249         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
14250         * modules/fpurge (License): Likewise.
14251         With permission from Eric Blake and Jim Meyering.
14252         Suggested by Eric Blake.
14253
14254 2011-05-06  Karl Berry  <karl@gnu.org>
14255
14256         * MODULES.html.sh (func_all_modules): remove exit.
14257
14258 2011-05-06  Jim Meyering  <meyering@redhat.com>
14259
14260         maint.mk: use info-gnu@ as the default only for a stable release
14261         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
14262         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
14263         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
14264         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
14265
14266 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
14267
14268         assert-h: new module, which supports C1X-style static_assert
14269         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
14270         * lib/verify.h: Revamp so that this can be copied into assert.h,
14271         while retaining the ability to use it standalone as before.
14272         Rename private identifiers so as not to encroach on the
14273         standard C namespace, since this is now used by assert.h.
14274         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
14275         the old verify_true.
14276         (_GL_VERIFY_TRUE): New macro, with much of the contents of
14277         the old verify_true.  Use _GL_VERIFY_TYPE.
14278         (_GL_VERIFY): New macro, with much of the contents of the old verify.
14279         (static_assert): New macro, if _GL_STATIC_ASSERT_H
14280         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
14281         defined when this file is copied into the replacement assert.h.
14282         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
14283         and _Static_assert is not built in.
14284         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
14285         defined, and use the new macros mentioned above.
14286         * doc/posix-headers/assert.texi: Document this.
14287
14288 2011-05-05  Bruno Haible  <bruno@clisp.org>
14289
14290         fclose, fflush: Respect rules for use of AC_LIBOBJ.
14291         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
14292         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
14293         gl_REPLACE_FCLOSE here.
14294         * modules/fflush (Depends-on): Remove fclose.
14295         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
14296         combination with module 'fclose'.
14297
14298 2011-05-05  Bruno Haible  <bruno@clisp.org>
14299
14300         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
14301         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
14302         gl_FUNC_FFLUSH.
14303         (gl_FUNC_FFLUSH): Use it.
14304         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
14305         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
14306         gl_REPLACE_FSEEKO here.
14307
14308 2011-05-05  Bruno Haible  <bruno@clisp.org>
14309
14310         tzset: Relicense under LGPL.
14311         * modules/tzset (License): Change to LGPL.
14312         No agreement needed; it's a no-op.
14313
14314         strtoimax, strtoumax: Relicense under LGPL.
14315         * modules/strtoimax (License): Change to LGPL.
14316         * modules/strtoumax (License): Likewise.
14317         With permission from Jim Meyering, Paul Eggert:
14318         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
14319         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
14320
14321         getgroups: Relicense under LGPL.
14322         * modules/getgroups (License): Change to LGPL.
14323         With permission from Jim Meyering, Paul Eggert, Eric Blake:
14324         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
14325         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
14326         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14327
14328         nanosleep: Relicense under LGPL.
14329         * modules/nanosleep (License): Change to LGPL.
14330         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
14331         Haible:
14332         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
14333         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
14334         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14335         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
14336
14337         futimens: Relicense under LGPL.
14338         * modules/futimens (License): Change to LGPL.
14339         With permission from Eric Blake:
14340         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14341
14342         fflush: Relicense under LGPL.
14343         * modules/fflush (License): Change to LGPL.
14344         With permission from Eric Blake, Bruno Haible, Jim Meyering:
14345         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14346         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
14347         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
14348
14349         tmpfile: Relicense under LGPL.
14350         * modules/tmpfile (License): Change to LGPL.
14351         With permission from Ben Pfaff:
14352         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
14353
14354         isfinite: Relicense under LGPL.
14355         * modules/isfinite (License): Change to LGPL.
14356         With permission from Ben Pfaff, Bruno Haible:
14357         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
14358         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
14359
14360         acosl..tanl: Relicense under LGPL.
14361         * modules/acosl (License): Change to LGPL.
14362         * modules/asinl (License): Likewise.
14363         * modules/atanl (License): Likewise.
14364         * modules/cosl (License): Likewise.
14365         * modules/expl (License): Likewise.
14366         * modules/logl (License): Likewise.
14367         * modules/sinl (License): Likewise.
14368         * modules/sqrtl (License): Likewise.
14369         * modules/tanl (License): Likewise.
14370         Source code originally from glibc and Paolo Bonzini. Agreements:
14371         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
14372         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
14373
14374 2011-05-05  Bruno Haible  <bruno@clisp.org>
14375
14376         signal: Define sighandler_t.
14377         * lib/signal.in.h (sighandler_t): New type.
14378         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
14379         whether sighandler_t is defined.
14380         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
14381         * modules/signal (Depends-on): Add extensions.
14382         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
14383         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
14384         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
14385
14386 2011-05-05  Eric Blake  <eblake@redhat.com>
14387
14388         maint: remove useless REPLACE_*_H macros
14389         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
14390         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
14391         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
14392         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
14393         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
14394         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
14395         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
14396         * m4/btowc.m4: Update callers.
14397         * m4/dirfd.m4: Likewise.
14398         * m4/duplocale.m4: Likewise.
14399         * m4/fchdir.m4: Likewise.
14400         * m4/fdopendir.m4: Likewise.
14401         * m4/inet_ntop.m4: Likewise.
14402         * m4/inet_pton.m4: Likewise.
14403         * m4/ioctl.m4: Likewise.
14404         * m4/mbrlen.m4: Likewise.
14405         * m4/mbrtowc.m4: Likewise.
14406         * m4/mbsinit.m4: Likewise.
14407         * m4/mbsnrtowcs.m4: Likewise.
14408         * m4/mbsrtowcs.m4: Likewise.
14409         * m4/poll.m4: Likewise.
14410         * m4/setlocale.m4: Likewise.
14411         * m4/wcrtomb.m4: Likewise.
14412         * m4/wcsnrtombs.m4: Likewise.
14413         * m4/wcsrtombs.m4: Likewise.
14414         * m4/wctob.m4: Likewise.
14415         * m4/wcwidth.m4: Likewise.
14416         * modules/posix_spawn: Likewise.
14417         * modules/posix_spawn_file_actions_addclose: Likewise.
14418         * modules/posix_spawn_file_actions_adddup2: Likewise.
14419         * modules/posix_spawn_file_actions_addopen: Likewise.
14420         * modules/posix_spawn_file_actions_destroy: Likewise.
14421         * modules/posix_spawn_file_actions_init: Likewise.
14422         * modules/posix_spawnattr_destroy: Likewise.
14423         * modules/posix_spawnattr_getflags: Likewise.
14424         * modules/posix_spawnattr_getpgroup: Likewise.
14425         * modules/posix_spawnattr_getschedparam: Likewise.
14426         * modules/posix_spawnattr_getschedpolicy: Likewise.
14427         * modules/posix_spawnattr_getsigdefault: Likewise.
14428         * modules/posix_spawnattr_getsigmask: Likewise.
14429         * modules/posix_spawnattr_init: Likewise.
14430         * modules/posix_spawnattr_setflags: Likewise.
14431         * modules/posix_spawnattr_setpgroup: Likewise.
14432         * modules/posix_spawnattr_setschedparam: Likewise.
14433         * modules/posix_spawnattr_setschedpolicy: Likewise.
14434         * modules/posix_spawnattr_setsigdefault: Likewise.
14435         * modules/posix_spawnattr_setsigmask: Likewise.
14436         * modules/posix_spawnp: Likewise.
14437
14438 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
14439
14440         Add option to do-release-commit-and-tag to specify branch.
14441         * build-aux/do-release-commit-and-tag: Add --branch.
14442
14443 2011-05-03  Bruno Haible  <bruno@clisp.org>
14444
14445         Avoid unnecessary compilation units, through conditional dependencies.
14446         * modules/accept (Depends-on): Add conditions to the dependencies.
14447         * modules/acosl (Depends-on): Likewise.
14448         * modules/argz (Depends-on): Likewise.
14449         * modules/asinl (Depends-on): Likewise.
14450         * modules/atanl (Depends-on): Likewise.
14451         * modules/atoll (Depends-on): Likewise.
14452         * modules/bind (Depends-on): Likewise.
14453         * modules/btowc (Depends-on): Likewise.
14454         * modules/canonicalize-lgpl (Depends-on): Likewise.
14455         * modules/ceil (Depends-on): Likewise.
14456         * modules/ceilf (Depends-on): Likewise.
14457         * modules/ceill (Depends-on): Likewise.
14458         * modules/chdir-long (Depends-on): Likewise.
14459         * modules/chown (Depends-on): Likewise.
14460         * modules/close (Depends-on): Likewise.
14461         * modules/connect (Depends-on): Likewise.
14462         * modules/cosl (Depends-on): Likewise.
14463         * modules/dirfd (Depends-on): Likewise.
14464         * modules/dprintf (Depends-on): Likewise.
14465         * modules/dprintf-posix (Depends-on): Likewise.
14466         * modules/error (Depends-on): Likewise.
14467         * modules/euidaccess (Depends-on): Likewise.
14468         * modules/expl (Depends-on): Likewise.
14469         * modules/faccessat (Depends-on): Likewise.
14470         * modules/fchdir (Depends-on): Likewise.
14471         * modules/fclose (Depends-on): Likewise.
14472         * modules/fcntl (Depends-on): Likewise.
14473         * modules/fdopendir (Depends-on): Likewise.
14474         * modules/fflush (Depends-on): Likewise.
14475         * modules/floor (Depends-on): Likewise.
14476         * modules/floorf (Depends-on): Likewise.
14477         * modules/floorl (Depends-on): Likewise.
14478         * modules/fnmatch (Depends-on): Likewise.
14479         * modules/fopen (Depends-on): Likewise.
14480         * modules/fprintf-posix (Depends-on): Likewise.
14481         * modules/frexp (Depends-on): Likewise.
14482         * modules/frexp-nolibm (Depends-on): Likewise.
14483         * modules/frexpl (Depends-on): Likewise.
14484         * modules/frexpl-nolibm (Depends-on): Likewise.
14485         * modules/fseek (Depends-on): Likewise.
14486         * modules/fsusage (Depends-on): Likewise.
14487         * modules/ftell (Depends-on): Likewise.
14488         * modules/ftello (Depends-on): Likewise.
14489         * modules/futimens (Depends-on): Likewise.
14490         * modules/getcwd (Depends-on): Likewise.
14491         * modules/getcwd-lgpl (Depends-on): Likewise.
14492         * modules/getdelim (Depends-on): Likewise.
14493         * modules/getdomainname (Depends-on): Likewise.
14494         * modules/getgroups (Depends-on): Likewise.
14495         * modules/gethostname (Depends-on): Likewise.
14496         * modules/getline (Depends-on): Likewise.
14497         * modules/getlogin_r (Depends-on): Likewise.
14498         * modules/getopt-posix (Depends-on): Likewise.
14499         * modules/getpeername (Depends-on): Likewise.
14500         * modules/getsockname (Depends-on): Likewise.
14501         * modules/getsockopt (Depends-on): Likewise.
14502         * modules/getsubopt (Depends-on): Likewise.
14503         * modules/getusershell (Depends-on): Likewise.
14504         * modules/glob (Depends-on): Likewise.
14505         * modules/grantpt (Depends-on): Likewise.
14506         * modules/iconv_open (Depends-on): Likewise.
14507         * modules/iconv_open-utf (Depends-on): Likewise.
14508         * modules/inet_ntop (Depends-on): Likewise.
14509         * modules/inet_pton (Depends-on): Likewise.
14510         * modules/ioctl (Depends-on): Likewise.
14511         * modules/isapipe (Depends-on): Likewise.
14512         * modules/isfinite (Depends-on): Likewise.
14513         * modules/isinf (Depends-on): Likewise.
14514         * modules/lchown (Depends-on): Likewise.
14515         * modules/ldexpl (Depends-on): Likewise.
14516         * modules/link (Depends-on): Likewise.
14517         * modules/linkat (Depends-on): Likewise.
14518         * modules/listen (Depends-on): Likewise.
14519         * modules/logl (Depends-on): Likewise.
14520         * modules/lstat (Depends-on): Likewise.
14521         * modules/mbrlen (Depends-on): Likewise.
14522         * modules/mbrtowc (Depends-on): Likewise.
14523         * modules/mbsinit (Depends-on): Likewise.
14524         * modules/mbsnrtowcs (Depends-on): Likewise.
14525         * modules/mbsrtowcs (Depends-on): Likewise.
14526         * modules/mbtowc (Depends-on): Likewise.
14527         * modules/memcmp (Depends-on): Likewise.
14528         * modules/mkdir (Depends-on): Likewise.
14529         * modules/mkdtemp (Depends-on): Likewise.
14530         * modules/mkfifo (Depends-on): Likewise.
14531         * modules/mkfifoat (Depends-on): Likewise.
14532         * modules/mknod (Depends-on): Likewise.
14533         * modules/mkostemp (Depends-on): Likewise.
14534         * modules/mkostemps (Depends-on): Likewise.
14535         * modules/mkstemp (Depends-on): Likewise.
14536         * modules/mkstemps (Depends-on): Likewise.
14537         * modules/mktime (Depends-on): Likewise.
14538         * modules/nanosleep (Depends-on): Likewise.
14539         * modules/open (Depends-on): Likewise.
14540         * modules/openat (Depends-on): Likewise.
14541         * modules/perror (Depends-on): Likewise.
14542         * modules/poll (Depends-on): Likewise.
14543         * modules/popen (Depends-on): Likewise.
14544         * modules/posix_spawn (Depends-on): Likewise.
14545         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
14546         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
14547         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
14548         * modules/posix_spawnp (Depends-on): Likewise.
14549         * modules/pread (Depends-on): Likewise.
14550         * modules/printf-posix (Depends-on): Likewise.
14551         * modules/ptsname (Depends-on): Likewise.
14552         * modules/putenv (Depends-on): Likewise.
14553         * modules/pwrite (Depends-on): Likewise.
14554         * modules/readline (Depends-on): Likewise.
14555         * modules/readlink (Depends-on): Likewise.
14556         * modules/readlinkat (Depends-on): Likewise.
14557         * modules/recv (Depends-on): Likewise.
14558         * modules/recvfrom (Depends-on): Likewise.
14559         * modules/regex (Depends-on): Likewise.
14560         * modules/remove (Depends-on): Likewise.
14561         * modules/rename (Depends-on): Likewise.
14562         * modules/renameat (Depends-on): Likewise.
14563         * modules/rmdir (Depends-on): Likewise.
14564         * modules/round (Depends-on): Likewise.
14565         * modules/roundf (Depends-on): Likewise.
14566         * modules/roundl (Depends-on): Likewise.
14567         * modules/rpmatch (Depends-on): Likewise.
14568         * modules/select (Depends-on): Likewise.
14569         * modules/send (Depends-on): Likewise.
14570         * modules/sendto (Depends-on): Likewise.
14571         * modules/setenv (Depends-on): Likewise.
14572         * modules/setlocale (Depends-on): Likewise.
14573         * modules/setsockopt (Depends-on): Likewise.
14574         * modules/shutdown (Depends-on): Likewise.
14575         * modules/sigaction (Depends-on): Likewise.
14576         * modules/signbit (Depends-on): Likewise.
14577         * modules/sigprocmask (Depends-on): Likewise.
14578         * modules/sinl (Depends-on): Likewise.
14579         * modules/sleep (Depends-on): Likewise.
14580         * modules/snprintf (Depends-on): Likewise.
14581         * modules/snprintf-posix (Depends-on): Likewise.
14582         * modules/socket (Depends-on): Likewise.
14583         * modules/sprintf-posix (Depends-on): Likewise.
14584         * modules/sqrtl (Depends-on): Likewise.
14585         * modules/stat (Depends-on): Likewise.
14586         * modules/strchrnul (Depends-on): Likewise.
14587         * modules/strdup-posix (Depends-on): Likewise.
14588         * modules/strerror (Depends-on): Likewise.
14589         * modules/strerror_r-posix (Depends-on): Likewise.
14590         * modules/strndup (Depends-on): Likewise.
14591         * modules/strnlen (Depends-on): Likewise.
14592         * modules/strptime (Depends-on): Likewise.
14593         * modules/strsep (Depends-on): Likewise.
14594         * modules/strsignal (Depends-on): Likewise.
14595         * modules/strstr-simple (Depends-on): Likewise.
14596         * modules/strtod (Depends-on): Likewise.
14597         * modules/strtoimax (Depends-on): Likewise.
14598         * modules/strtok_r (Depends-on): Likewise.
14599         * modules/strtoumax (Depends-on): Likewise.
14600         * modules/symlink (Depends-on): Likewise.
14601         * modules/symlinkat (Depends-on): Likewise.
14602         * modules/tanl (Depends-on): Likewise.
14603         * modules/tcgetsid (Depends-on): Likewise.
14604         * modules/tmpfile (Depends-on): Likewise.
14605         * modules/trunc (Depends-on): Likewise.
14606         * modules/truncf (Depends-on): Likewise.
14607         * modules/truncl (Depends-on): Likewise.
14608         * modules/uname (Depends-on): Likewise.
14609         * modules/unlink (Depends-on): Likewise.
14610         * modules/unlockpt (Depends-on): Likewise.
14611         * modules/unsetenv (Depends-on): Likewise.
14612         * modules/usleep (Depends-on): Likewise.
14613         * modules/utimensat (Depends-on): Likewise.
14614         * modules/vasprintf (Depends-on): Likewise.
14615         * modules/vdprintf (Depends-on): Likewise.
14616         * modules/vdprintf-posix (Depends-on): Likewise.
14617         * modules/vfprintf-posix (Depends-on): Likewise.
14618         * modules/vprintf-posix (Depends-on): Likewise.
14619         * modules/vsnprintf (Depends-on): Likewise.
14620         * modules/vsnprintf-posix (Depends-on): Likewise.
14621         * modules/vsprintf-posix (Depends-on): Likewise.
14622         * modules/wcrtomb (Depends-on): Likewise.
14623         * modules/wcscasecmp (Depends-on): Likewise.
14624         * modules/wcscspn (Depends-on): Likewise.
14625         * modules/wcsdup (Depends-on): Likewise.
14626         * modules/wcsncasecmp (Depends-on): Likewise.
14627         * modules/wcsnrtombs (Depends-on): Likewise.
14628         * modules/wcspbrk (Depends-on): Likewise.
14629         * modules/wcsrtombs (Depends-on): Likewise.
14630         * modules/wcsspn (Depends-on): Likewise.
14631         * modules/wcsstr (Depends-on): Likewise.
14632         * modules/wcstok (Depends-on): Likewise.
14633         * modules/wcswidth (Depends-on): Likewise.
14634         * modules/wctob (Depends-on): Likewise.
14635         * modules/wctomb (Depends-on): Likewise.
14636         * modules/wctype (Depends-on): Likewise.
14637         * modules/wcwidth (Depends-on): Likewise.
14638         * modules/write (Depends-on): Likewise.
14639
14640 2011-05-03  Bruno Haible  <bruno@clisp.org>
14641
14642         Support for conditional dependencies.
14643         * doc/gnulib.texi (Module description): Document the syntax of
14644         conditional dependencies.
14645         * gnulib-tool: New option --conditional-dependencies.
14646         (func_usage): Document it.
14647         (cond_dependencies): New variable.
14648         (func_get_automake_snippet_conditional,
14649         func_get_automake_snippet_unconditional): New functions, extracted from
14650         func_get_automake_snippet.
14651         (func_get_automake_snippet): Use them.
14652         (sed_first_32_chars): New variable.
14653         (func_module_shellfunc_name): New function.
14654         (func_module_shellvar_name): New function.
14655         (func_module_conditional_name): New function.
14656         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
14657         func_cond_module_condition): New functions.
14658         (func_modules_transitive_closure): Add support for conditional
14659         dependencies.
14660         (func_emit_lib_Makefile_am): For a conditional module, enclose the
14661         conditional automake snippet in an automake conditional.
14662         (func_emit_autoconf_snippets): Emit shell functions that contain the
14663         code for conditional modules.
14664         (func_import, func_create_testdir): Update specification.
14665
14666 2011-05-03  Eric Blake  <eblake@redhat.com>
14667
14668         test-getaddrinfo: report error information
14669         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
14670
14671 2011-05-03  Jim Meyering  <meyering@redhat.com>
14672
14673         bootstrap: avoid build failure when $GZIP is set
14674         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
14675         program name.  If defined at all, it is supposed to list gzip options.
14676         Reported by Alan Curry in http://debbugs.gnu.org/8609
14677
14678 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
14679
14680         readme-release: new module with release instructions
14681         * modules/readme-release: New module.
14682         * top/README-release: New file, from coreutils, grep, diffutils.
14683         * MODULES.html.sh (Support for maintaining and releasing): Add it.
14684
14685 2011-05-02  Eric Blake  <eblake@redhat.com>
14686
14687         fflush: also replace fclose when fixing fflush
14688         * modules/fflush (Depends-on): Add fclose.
14689         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
14690         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
14691         memstreams with no backing fd.
14692         * doc/posix-functions/fclose.texi (fclose): Document the use of
14693         fflush module to fix the bug.
14694         * tests/test-fclose.c (main): Relax test when fclose is used in
14695         isolation.
14696
14697         fclose: add some tests
14698         * modules/fclose-tests: New test module.
14699         * tests/test-fclose.c: New file.
14700         * doc/posix-functions/fclose.texi (fclose): Document the bug.
14701
14702         fclose: reduced dependencies
14703         * modules/fclose (Depends-on): Switch from fflush/fseeko to
14704         simpler lseek.
14705         * lib/fclose.c (rpl_fclose): Likewise.
14706         Reported by Simon Josefsson.
14707
14708         exit: drop remaining clients
14709         * modules/argmatch (Depends-on): Replace exit with stdlib.
14710         * modules/copy-file (Depends-on): Likewise.
14711         * modules/execute (Depends-on): Likewise.
14712         * modules/exitfail (Depends-on): Likewise.
14713         * modules/obstack (Depends-on): Likewise.
14714         * modules/pagealign_alloc (Depends-on): Likewise.
14715         * modules/pipe-filter-gi (Depends-on): Likewise.
14716         * modules/pipe-filter-ii (Depends-on): Likewise.
14717         * modules/savewd (Depends-on): Likewise.
14718         * modules/spawn-pipe (Depends-on): Likewise.
14719         * modules/wait-process (Depends-on): Likewise.
14720         * modules/xsetenv (Depends-on): Likewise.
14721         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
14722         * modules/git-merge-changelog (Depends-on): Likewise.
14723         * modules/long-options (Depends-on): Likewise.
14724         * modules/pt_chown (Depends-on): Likewise.
14725         * modules/sysexits (Depends-on): Likewise.
14726
14727         freading: relax license from LGPLv3+ to LGPLv2+
14728         * modules/freading (License): Relax LGPL version.
14729
14730 2011-05-02  Bruno Haible  <bruno@clisp.org>
14731
14732         fchdir: Remove unused dependencies.
14733         * modules/fchdir (Depends-on): Remove include_next.
14734
14735 2011-05-02  Bruno Haible  <bruno@clisp.org>
14736
14737         gnulib-tool: Refactor.
14738         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
14739         from func_emit_autoconf_snippets.
14740         (func_emit_autoconf_snippets): Use it.
14741
14742 2011-05-02  Simon Josefsson  <simon@josefsson.org>
14743
14744         * NEWS: Document removal of 'exit'.
14745         * modules/exit: Remove file.
14746
14747 2011-05-01  Bruno Haible  <bruno@clisp.org>
14748
14749         Update DEPENDENCIES.
14750         * DEPENDENCIES (gettext): Recommend the newest release.
14751         Reported by Simon Josefsson.
14752
14753 2011-05-01  Bruno Haible  <bruno@clisp.org>
14754
14755         gnulib-tool: Reduce code duplication.
14756         * gnulib-tool (func_emit_autoconf_snippets): New function.
14757         (func_import, func_create_testdir): Use it.
14758
14759 2011-04-30  Eric Blake  <eblake@redhat.com>
14760
14761         fclose: don't fail on non-seekable input stream
14762         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
14763         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
14764         since fflush is allowed to fail in that case.
14765
14766 2011-04-30  Bruno Haible  <bruno@clisp.org>
14767
14768         dup3: cleanup
14769         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
14770
14771 2011-04-30  Bruno Haible  <bruno@clisp.org>
14772
14773         netdb: Make it work in C++ mode.
14774         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
14775         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
14776         module.
14777         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
14778         gl_MODULE_INDICATOR_FOR_TESTS.
14779         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
14780         * modules/netdb-c++-tests: New file.
14781         * tests/test-netdb-c++.cc: New file.
14782
14783 2011-04-30  Bruno Haible  <bruno@clisp.org>
14784
14785         New modules 'vfscanf', 'vscanf'.
14786         * modules/vfscanf: New file.
14787         * modules/vscanf: New file.
14788         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
14789         here.
14790         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
14791         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
14792
14793 2011-04-30  Bruno Haible  <bruno@clisp.org>
14794
14795         passfd: Add comments.
14796         * lib/passfd.c: Add comments about platforms.
14797
14798 2011-04-30  Bruno Haible  <bruno@clisp.org>
14799
14800         sys_uio: Make <sys/uio.h> self-contained.
14801         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
14802         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
14803
14804 2011-04-30  Bruno Haible  <bruno@clisp.org>
14805
14806         sys_socket: Ensure 'struct iovec' definition.
14807         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
14808         <sys/socket.h>.
14809         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
14810
14811 2011-04-30  Bruno Haible  <bruno@clisp.org>
14812
14813         sys_uio: Protect definition of 'struct iovec'.
14814         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
14815         it as a C struct.
14816
14817 2011-04-30  Bruno Haible  <bruno@clisp.org>
14818
14819         manywarnings: fix indentation
14820         * m4/manywarnings.m4: Indent by 2 spaces consistently.
14821
14822 2011-04-30  Pádraig Brady <P@draigBrady.com>
14823
14824         manywarnings: add -Wno-missing-field-initializers if needed.
14825         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
14826         option if it's needed to allow initialization with { 0, }
14827
14828 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
14829
14830         announce-gen: cosmetic improvement
14831         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
14832
14833 2011-04-29  Jim Meyering  <meyering@redhat.com>
14834
14835         vc-list-files: indent with spaces, not TABs
14836         * build-aux/vc-list-files: Convert leading TABs to spaces,
14837         to match the style of most other files in gnulib.
14838
14839         announce-gen: indent with spaces, not TABs
14840         * build-aux/announce-gen: Convert all TABs to spaces, to match
14841         the style of most other files in gnulib.
14842
14843 2011-04-29  Eric Blake  <eblake@redhat.com>
14844
14845         quotearg: avoid uninitialized variable use
14846         * lib/quotearg.c (quoting_options_from_style): Initialize
14847         remaining fields, and ensure that custom styles are only used via
14848         quoting_options rather than quoting_style.
14849
14850 2011-04-29  Jim Meyering  <meyering@redhat.com>
14851
14852         maint.mk: remove unused VC-tag variable
14853         * top/maint.mk (VC-tag): Remove unused variable.
14854
14855 2011-04-29  Bruno Haible  <bruno@clisp.org>
14856
14857         netdb: fix gai_strerror replacements
14858         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
14859         * modules/netdb: Substitute it.
14860
14861 2011-04-29  Jim Meyering  <meyering@redhat.com>
14862
14863         test-getcwd.c: avoid new set-but-not-used warning
14864         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
14865         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
14866         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
14867         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
14868
14869         test-hash.c: avoid a new shadowing warning
14870         * tests/test-hash.c (main): Don't shadow "dup".
14871
14872 2011-04-28  Eric Blake  <eblake@redhat.com>
14873
14874         getaddrinfo: fix gai_strerror signature
14875         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
14876         and work around mingw with UNICODE defined.
14877         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
14878         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
14879         * modules/netdb (Makefile.am): Substitute it.
14880         * lib/netdb.in.h (gai_strerror): Declare replacement.
14881         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
14882         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
14883         the fix.
14884
14885         getsockopt: avoid compiler warning
14886         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
14887         Reported by Matthias Bolte.
14888
14889         tests: drop unused link dependency
14890         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
14891         * modules/dirent-safer-tests (Makefile.am): Likewise.
14892         * modules/fdopendir-tests (Makefile.am): Likewise.
14893         * modules/mkfifoat-tests (Makefile.am): Likewise.
14894         * modules/openat-safer-tests (Makefile.am): Likewise.
14895         * modules/openat-tests (Makefile.am): Likewise.
14896         * modules/readlinkat-tests (Makefile.am): Likewise.
14897         * modules/symlinkat-tests (Makefile.am): Likewise.
14898         * modules/linkat-tests (Makefile.am): Likewise.
14899         (Depends-on): Switch to filenamecat-lgpl.
14900         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
14901         LIBINTL.
14902         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
14903         * tests/test-linkat.c (main): Don't require xalloc.
14904
14905         hash, mgetgroups: drop xalloc dependency
14906         * lib/hash.c (includes): Adjust includes.
14907         * lib/mgetgroups.c (includes): Likewise.
14908         (xgetgroups): Move...
14909         * lib/xgetgroups.c: ...to new file.
14910         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
14911         * modules/xgetgroups: New file, split from...
14912         * modules/mgetgroups: ...here.
14913         (Depends-on): Add xalloc-oversized.
14914         * modules/hash (Depends-on): Likewise.
14915         * modules/hash-tests (Depends-on): Drop xalloc.
14916         (test_hash_LDADD): Drop unused library.
14917         * tests/test-hash.c (main): Break xalloc dependency.
14918         (includes): Drop unused include.
14919
14920         xalloc-oversized: new module
14921         * modules/xalloc-oversized: New module.
14922         * modules/xalloc (Depends-on): Add it.
14923         * lib/xalloc.h (xalloc_oversized): Move...
14924         * lib/xalloc-oversized.h: ...into new file.
14925
14926         utimecmp: drop dependency on xmalloc
14927         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
14928         due to memory pressure.
14929         * modules/utimecmp (Depends-on): Drop xalloc.
14930
14931 2011-04-27  Eric Blake  <eblake@redhat.com>
14932
14933         getcwd: fix mingw bugs
14934         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
14935         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
14936         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
14937
14938 2011-04-27  Bruno Haible  <bruno@clisp.org>
14939
14940         mkstemps: Ensure declaration on MacOS X 10.5.
14941         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
14942         * doc/glibc-functions/mkstemps.texi: Document header file problem on
14943         MacOS X.
14944
14945 2011-04-27  Bruno Haible  <bruno@clisp.org>
14946
14947         mkstemp: More documentation.
14948         * doc/posix-functions/mkstemp.texi: Document header file problem on
14949         MacOS X.
14950
14951 2011-04-27  Bruno Haible  <bruno@clisp.org>
14952
14953         mkstemp: Tweak configure message when cross-compiling.
14954         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
14955         result as a guess.
14956
14957 2011-04-27  Bruno Haible  <bruno@clisp.org>
14958
14959         clean-temp: Clarify what it does.
14960         * lib/clean-temp.h: Add more comments.
14961         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
14962         module.
14963         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
14964         * doc/glibc-functions/mkstemps.texi: Likewise.
14965         * doc/glibc-functions/mkostemps.texi: Likewise.
14966
14967 2011-04-27  Eric Blake  <eblake@redhat.com>
14968
14969         fchdir: avoid extra chdir and fix test
14970         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
14971         getcwd-lgpl.
14972         * lib/fchdir.c (get_name): Any absolute name will do; it does not
14973         have to be canonical.
14974         (canonicalize_file_name): Drop unused macro.
14975         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
14976
14977         filenamecat-lgpl: fix licence
14978         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
14979         when it was first created.
14980
14981         linkat, renameat: add missing dependency
14982         * modules/linkat (Depends-on): Require getcwd-lgpl.
14983         * modules/renameat (Depends-on): Likewise.
14984
14985         tests: reduce dependencies
14986         * tests/test-linkat.c (main): Use lighter-weight getcwd.
14987         * tests/test-renameat.c (main): Likewise.
14988         * modules/linkat-tests (Depends-on): Relax dependency.
14989         * modules/renameat-tests (Depends-on): Likewise.
14990         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
14991         dependency explicit.
14992
14993         save-cwd: reduce default dependency
14994         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
14995         * lib/save-cwd.c: Update comments.
14996         * NEWS: Document the semantic change.
14997
14998         getcwd: enhance tests
14999         * tests/test-getcwd-lgpl.c: New file, taken from...
15000         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
15001         repeat long path stress tests from m4 probe.
15002         * modules/getcwd-lgpl-tests: New module.
15003         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
15004         * m4/getcwd-abort-bug.m4: Update comment.
15005         * m4/getcwd-path-max.m4: Likewise.
15006
15007         getcwd-lgpl: new module
15008         * modules/getcwd-lgpl: New module.
15009         * lib/getcwd-lgpl.c: New file.
15010         * doc/posix-functions/getcwd.texi (getcwd): Document it.
15011         * MODULES.html.sh (lacking POSIX:2008): Likewise.
15012         * modules/getcwd (configure.ac): Set C witness.
15013         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
15014
15015         getcwd: tweak comments
15016         * m4/getcwd-abort-bug.m4: Fix comments.
15017         * m4/getcwd-path-max.m4: Likewise.
15018         * m4/getcwd.m4: Likewise.
15019
15020 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
15021         and Eric Blake  <eblake@redhat.com>
15022
15023         mkstemp: replace if system version uses wrong permissions
15024         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
15025         read/write mode bits set in file created by mkstemp.
15026         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
15027
15028 2011-04-27  Eric Blake  <eblake@redhat.com>
15029
15030         passfd: avoid compiler warning
15031         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
15032         Reported by Laine Stump.
15033
15034 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
15035
15036         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
15037         required by the NetBSD (and perhaps other 4.4BSD derived) join.
15038
15039 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
15040         and Eric Blake  <eblake@redhat.com>
15041
15042         mkstemp: mention clean-temp module
15043         * lib/mkstemp.c: Add comment.
15044         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
15045
15046 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
15047
15048         inttypes: also provide default values for 32-bit tests
15049         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
15050         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
15051
15052 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
15053
15054         strtoumax: remove dependency on strtoimax
15055         This is like the strtoull change of yesterday.
15056         * modules/strtoumax (Files): Add lib/strtoimax.c.
15057         (Depends-on): Remove strtoimax and add verify.
15058
15059         inttypes-incomplete: new module
15060         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
15061         all but the PRI* and SCN* parts of gl_INTTYPES_H.
15062         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
15063         of gl_INTTYPES_H.
15064         (gl_INTTYPES_H): Rewrite in terms of these new macros.
15065         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
15066         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
15067         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
15068         * modules/strtoumax, modules/xstrtol (Depends-on):
15069         Depend on inttypes-incomplete, not inttypes.
15070         * modules/inttypes-incomplete: New module, containing the contents
15071         of the old modules/inttypes module, except that the Files: section
15072         omits m4/inttypes-pri.m4, and the configure.ac section invokes
15073         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
15074         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
15075         (Depends-on): Depend only on inttypes-incomplete.
15076         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
15077
15078         inttypes: omit now-redundant strtoimax and strtoumax work
15079         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
15080         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
15081
15082         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
15083         This supports apps that need pointers to strtoimax and strtoumax,
15084         and ports to HP-UX 11.00 64.bit, which has macros that expand to
15085         nonexistent functions.  See
15086         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
15087         et seq.
15088         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
15089         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
15090         a macro.
15091         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
15092
15093 2011-04-25  Simon Josefsson  <simon@josefsson.org>
15094
15095         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
15096
15097 2011-04-25  Bruno Haible  <bruno@clisp.org>
15098
15099         strtol, strtoul: Mark modules as obsolete.
15100         * modules/strtol (Status, Notice): New sections.
15101         * modules/strtoul (Status, Notice): New sections.
15102
15103 2011-04-25  Bruno Haible  <bruno@clisp.org>
15104
15105         strtod: Remove check for strtod, unless supporting old platforms.
15106         * modules/strtod-obsolete: New file.
15107         * m4/strtod-obsolete.m4: New file.
15108         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
15109         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
15110         * modules/strtod (Depends-on): Add strtod-obsolete.
15111         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
15112
15113 2011-04-25  Bruno Haible  <bruno@clisp.org>
15114
15115         strcase: Make module obsolete.
15116         * modules/strcase (Status, Notice): New sections.
15117
15118 2011-04-25  Bruno Haible  <bruno@clisp.org>
15119
15120         dup2: Remove check for dup2, unless supporting old obsolete platforms.
15121         * modules/dup2-obsolete: New file.
15122         * m4/dup2-obsolete.m4: New file.
15123         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
15124         gl_FUNC_DUP2_OBSOLETE is not also defined.
15125         * modules/dup2 (Depends-on): Add dup2-obsolete.
15126         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
15127
15128 2011-04-25  Bruno Haible  <bruno@clisp.org>
15129
15130         strnlen: Avoid memchr related link error on old obsolete platforms.
15131         * modules/memchr-obsolete: New file.
15132         * m4/memchr-obsolete.m4: New file.
15133         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
15134         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
15135         * modules/memchr (Depends-on): Add memchr-obsolete.
15136         * modules/strnlen (Depends-on): Likewise.
15137         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
15138
15139 2011-04-25  Jim Meyering  <meyering@redhat.com>
15140
15141         maint.mk: makefile_at_at_check extend and clean up
15142         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
15143         in addition to */Makefile.am.
15144         Exempt legitimate uses of @VAR@ notation, e.g.,
15145         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
15146         Remove obsolete coreutils-specific comment.
15147         Prompted by discussion here:
15148         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
15149
15150 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
15151
15152         strtoul: remove dependency on strtol
15153         This is so that 'configure' need not check for strtol merely because
15154         the application needs strtoul.
15155         * modules/strtoul (Files): Add lib/strtol.c.
15156         (Depends-on): Remove strtol.
15157
15158         strtoull: remove dependency on strtoul
15159         This is like the strtoll change.
15160         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
15161         (Depends-on): Remove strtoul.
15162
15163         strtoll: remove dependency on strtol
15164         This is so that 'configure' need not check for strtol merely because
15165         the application needs strtoll.
15166         * modules/strtoll (Files): Add lib/strtol.c.
15167         (Depends-on): Remove strtol.
15168
15169 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15170
15171         inttypes: Move some configure check to module 'imaxdiv'.
15172         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
15173         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
15174         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
15175
15176 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15177
15178         inttypes: Move some configure check to module 'imaxabs'.
15179         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
15180         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
15181         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
15182
15183 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15184
15185         inttypes: Remove configure tests that are not needed since 2009-12-31.
15186         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
15187         gl_cv_header_working_inttypes_h.
15188
15189 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15190
15191         * modules/strnlen (Depends-on): Remove memchr.
15192         The strnlen implementation doesn't need the memchr module's fixes; see
15193         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
15194
15195         strtol: remove dependency on wchar
15196         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
15197         * modules/strtol (Depends-on): Remove wchar.
15198
15199 2011-04-21  Eric Blake  <eblake@redhat.com>
15200
15201         passfd: fix test regression on Linux
15202         * modules/passfd-tests (configure.ac): Correct socketpair check.
15203
15204         passfd: speed up configure and drop unused code
15205         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
15206         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
15207         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
15208         Instead of probing at configure for unix_scm_rights_bsd44_way,
15209         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
15210         check to a struct member probe.
15211         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
15212         (sendfd, recvfd): Update preprocessor checks.
15213         * modules/passfd (Files): Reflect rename, and drop unused file.
15214         (Depends-on): Drop unused dependency.
15215
15216         passfd: allow compilation on mingw
15217         * modules/sys_socket (Depends-on): Add sys_uio.
15218         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
15219         iovec and a minimal struct msghdr.
15220         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
15221         * tests/test-sys_socket.c (main): Enhance test.
15222         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
15223         guaranteed to provide what we need.
15224         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
15225         * modules/passfd-tests (Depends-on): Add sys_wait.
15226         * tests/test-passfd.c (main): Skip test on mingw, for now.
15227         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
15228         partial 'struct msghdr' implementation.
15229
15230         sys_uio: new module
15231         * modules/sys_uio: New module.
15232         * modules/sys_uio-tests: Likewise.
15233         * lib/sys_uio.in.h: New file.
15234         * m4/sys_uio_h.m4: Likewise.
15235         * tests/test-sys_uio.c: Likewise.
15236         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
15237         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
15238
15239 2011-04-20  Jim Meyering  <meyering@redhat.com>
15240
15241         useless-if-before-free: avoid false-positive
15242         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
15243         disjunct so that it too requires a terminating ";".  Without that,
15244         this script would identify as useless one statement from gcc that
15245         was not:
15246           if (aligned_ptr)
15247             free (((void **) aligned_ptr) [-1]);
15248
15249 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
15250
15251         doc: update users.txt.
15252         * users.txt: Add barcode.
15253
15254 2011-04-19  Bruno Haible  <bruno@clisp.org>
15255
15256         ioctl: Remove link dependency on native Windows.
15257         * lib/fd-hook.h: Renamed from lib/close-hook.h.
15258         (gl_close_fn, gl_ioctl_fn): New types.
15259         (struct fd_hook): Renamed from struct close_hook. Change type of
15260         private_close_fn field. Add private_ioctl_fn field.
15261         (close_hook_fn): Add parameter for primary close method.
15262         (execute_close_hooks, execute_all_close_hooks): Likewise.
15263         (ioctl_hook_fn): New type.
15264         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
15265         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
15266         argument.
15267         (unregister_fd_hook): Renamed from unregister_close_hook.
15268         * lib/fd-hook.c: Renamed from lib/close-hook.c.
15269         Don't include <unistd.h>.
15270         (close): Remove undef.
15271         (anchor): Update.
15272         (execute_close_hooks): Add argument for primary close method.
15273         (execute_all_close_hooks): Likewise.
15274         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
15275         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
15276         argument. Allow each argument to be NULL.
15277         (unregister_fd_hook): Renamed from unregister_close_hook.
15278         * lib/close.c (rpl_close): Pass 'close' function pointer to
15279         execute_all_close_hooks.
15280         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
15281         (primary_ioctl): New function.
15282         (ioctl): Don't call ioctlsocket here. Instead, call
15283         execute_all_ioctl_hooks.
15284         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
15285         close method.
15286         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
15287         (fd_sockets_hook): Renamed from close_sockets_hook.
15288         (gl_sockets_startup, gl_sockets_cleanup): Update.
15289         * modules/fd-hook: Renamed from modules/close-hook. Update.
15290         * modules/close (Depends-on): Add fd-hook, remove close-hook.
15291         * modules/sockets (Depends-on): Likewise.
15292         * modules/ioctl (Depends-on): Add fd-hook.
15293         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
15294         GNULIB_SOCKET.
15295
15296 2011-04-19  Bruno Haible  <bruno@clisp.org>
15297
15298         Move the support of O_NONBLOCK in open() to the 'open' module.
15299         * modules/nonblocking (Depends-on): Remove 'open'.
15300         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
15301         gl_cv_have_open_O_NONBLOCK.
15302         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
15303         O_NONBLOCK support.
15304         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
15305
15306 2011-04-17  Bruno Haible  <bruno@clisp.org>
15307
15308         pipe2: Simplify code.
15309         * lib/pipe2.c (pipe2): Reduce code duplication.
15310
15311 2011-04-17  Bruno Haible  <bruno@clisp.org>
15312
15313         nonblocking: Add comment.
15314         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
15315
15316 2011-04-17  Bruno Haible  <bruno@clisp.org>
15317
15318         nonblocking: Add tests for sockets.
15319         * tests/test-nonblocking-socket.sh: New file.
15320         * tests/test-nonblocking-socket-main.c: New file.
15321         * tests/test-nonblocking-socket-child.c: New file.
15322         * tests/test-nonblocking-socket.h: New file.
15323         * tests/socket-server.h: New file.
15324         * tests/socket-client.h: New file.
15325         * modules/nonblocking-socket-tests: New file.
15326         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
15327
15328 2011-04-17  Bruno Haible  <bruno@clisp.org>
15329
15330         nonblocking: Add tests for pipes.
15331         * tests/test-nonblocking-pipe.sh: New file.
15332         * tests/test-nonblocking-pipe-main.c: New file.
15333         * tests/test-nonblocking-pipe-child.c: New file.
15334         * tests/test-nonblocking-pipe.h: New file.
15335         * tests/test-nonblocking-writer.h: New file.
15336         * tests/test-nonblocking-reader.h: New file.
15337         * tests/test-nonblocking-misc.h: New file.
15338         * modules/nonblocking-pipe-tests: New file.
15339         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
15340
15341 2011-04-16  Bruno Haible  <bruno@clisp.org>
15342
15343         gettext: Clarify the needed programmer actions.
15344         * modules/gettext (Notice): New field.
15345         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
15346
15347 2011-04-16  Bruno Haible  <bruno@clisp.org>
15348
15349         strchrnul: Tweak last commit.
15350         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
15351         bug.
15352         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
15353         as in _GL_FUNCDECL_SYS.
15354         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
15355         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
15356
15357 2011-04-15  Eric Blake  <eblake@redhat.com>
15358
15359         strchrnul: work around cygwin bug
15360         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
15361         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
15362         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
15363         * modules/string (Makefile.am): Substitute it.
15364         * lib/string.in.h (strchrnul): Use it.
15365
15366 2011-04-15  Bruno Haible  <bruno@clisp.org>
15367
15368         Don't require lib/stdio-write.c when only module 'stdio' is used.
15369         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
15370         invocation.
15371         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
15372
15373 2011-04-14  Bruno Haible  <bruno@clisp.org>
15374
15375         Support non-blocking pipe I/O in read() on native Windows.
15376         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
15377         (read): New declaration.
15378         * lib/read.c: New file.
15379         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
15380         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
15381         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
15382         vscanf): New declarations.
15383         * lib/stdio-read.c: New file.
15384         * m4/read.m4: New file.
15385         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
15386         REPLACE_READ.
15387         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
15388         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
15389         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
15390         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
15391         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
15392         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
15393         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
15394         * modules/read: New file.
15395         * modules/nonblocking (Files): Add lib/stdio-read.c.
15396         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
15397         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
15398         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
15399         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
15400         * modules/pread (Depends-on): Add read.
15401         * modules/safe-read (Depends-on): Likewise.
15402         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
15403         gets, scanf, vfscanf, vscanf): Verify signatures.
15404         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
15405         problem with non-blocking pipes.
15406         * doc/posix-functions/fgetc.texi: Likewise.
15407         * doc/posix-functions/fgets.texi: Likewise.
15408         * doc/posix-functions/fread.texi: Likewise.
15409         * doc/posix-functions/fscanf.texi: Likewise.
15410         * doc/posix-functions/getc.texi: Likewise.
15411         * doc/posix-functions/getchar.texi: Likewise.
15412         * doc/posix-functions/gets.texi: Likewise.
15413         * doc/posix-functions/scanf.texi: Likewise.
15414         * doc/posix-functions/vfscanf.texi: Likewise.
15415         * doc/posix-functions/vscanf.texi: Likewise.
15416
15417 2011-04-14  Bruno Haible  <bruno@clisp.org>
15418
15419         Support non-blocking pipe I/O in write() on native Windows.
15420         * lib/write.c (rpl_write): Split a write request that failed merely
15421         because the byte count was larger than the pipe buffer's size.
15422         * doc/posix-functions/write.texi: Mention the problem with large byte
15423         counts.
15424
15425 2011-04-14  Bruno Haible  <bruno@clisp.org>
15426
15427         wchar: Ensure that wchar_t gets defined on uClibc.
15428         * lib/wchar.in.h: On uClibc, include <stddef.h>.
15429         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
15430
15431 2011-04-13  Bruno Haible  <bruno@clisp.org>
15432
15433         safe-write, full-read: Avoid unnecessary compilation units.
15434         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
15435         (Depends-on): Remove safe-read. Add ssize_t.
15436         * modules/full-read (Files): Add lib/full-write.c.
15437         (Depends-on): Add full-write.
15438
15439 2011-04-13  Bruno Haible  <bruno@clisp.org>
15440
15441         Support non-blocking pipe I/O and SIGPIPE in pwrite().
15442         * modules/pwrite (Depends-on): Add 'write'.
15443
15444 2011-04-13  Bruno Haible  <bruno@clisp.org>
15445
15446         Support non-blocking pipe I/O in write() on native Windows.
15447         * lib/unistd.in.h (write): Enable replacement also if
15448         GNULIB_UNISTD_H_NONBLOCKING is 1.
15449         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
15450         (rpl_write): When failing to write on a non-blocking pipe, change
15451         errno from ENOSPC to EAGAIN.
15452         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
15453         putchar, puts, vfprintf, vprintf): Enable replacement also if
15454         GNULIB_STDIO_H_NONBLOCKING is 1.
15455         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
15456         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
15457         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
15458         CALL_WITH_SIGPIPE_EMULATION.
15459         (CALL_WITH_SIGPIPE_EMULATION): Use them.
15460         * m4/nonblocking.m4: New file.
15461         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
15462         for non-blocking I/O support.
15463         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15464         GNULIB_UNISTD_H_NONBLOCKING.
15465         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
15466         required for non-blocking I/O support.
15467         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
15468         * modules/nonblocking (Files): Add m4/nonblocking.m4,
15469         lib/stdio-write.c, m4/asm-underscore.m4.
15470         (Depends-on): Add stdio, unistd.
15471         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
15472         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
15473         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
15474         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
15475         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
15476         problem with non-blocking pipes.
15477         * doc/posix-functions/fputc.texi: Likewise.
15478         * doc/posix-functions/fputs.texi: Likewise.
15479         * doc/posix-functions/fwrite.texi: Likewise.
15480         * doc/posix-functions/printf.texi: Likewise.
15481         * doc/posix-functions/putc.texi: Likewise.
15482         * doc/posix-functions/putchar.texi: Likewise.
15483         * doc/posix-functions/puts.texi: Likewise.
15484         * doc/posix-functions/vfprintf.texi: Likewise.
15485         * doc/posix-functions/vprintf.texi: Likewise.
15486         * doc/posix-functions/write.texi: Likewise.
15487
15488 2011-04-10  Jim Meyering  <meyering@redhat.com>
15489
15490         maint.mk: prohibit doubled words
15491         Detect them also when they're separated by a newline.
15492         There are 3 ways to customize it:
15493           - disable the test on a per file basis, as usual with rules using
15494             $(VC_LIST_EXCEPT)
15495           - replace the default doubled-word-selecting regexp (affects all files)
15496           - ignore a particular file-vs-doubled-word match
15497         I nearly used that last one to ignore the "is is" match in
15498         coreutils' NEWS file, since the text was "ls -is is ..."
15499         To do that, I would have added this line to cfg.mk:
15500           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
15501         but it would have ignored any "is is" match in NEWS.
15502         Low probability, but still...
15503         Instead, I changed the text, slightly:
15504           -  ls -is is now consistent with ls -lis in ignoring values returned
15505           +  "ls -is" is now consistent with ls -lis in ignoring values returned
15506         * top/maint.mk (prohibit_double_word_RE_): Provide default.
15507         (prohibit_doubled_word_): Define.
15508         (sc_prohibit_doubled_word): New rule.
15509         (sc_prohibit_the_the): Remove.  Subsumed by the above.
15510
15511 2011-04-10  Jim Meyering  <meyering@redhat.com>
15512
15513         maint: fix doubled-word typo in comment
15514         * m4/gethostname.m4: s/is is/it is/
15515         * m4/getdomainname.m4: Likewise.
15516
15517 2011-04-10  Jim Meyering  <meyering@redhat.com>
15518
15519         maint: remove doubled word: s/it it/it/
15520         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
15521
15522 2011-04-10  Jim Meyering  <meyering@redhat.com>
15523
15524         maint.mk: remove useless semicolon and backslash
15525         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
15526         semicolon and backslash.
15527
15528 2011-04-10  Bruno Haible  <bruno@clisp.org>
15529
15530         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
15531         * modules/stdint-tests (Depends-on): Add wchar.
15532
15533 2011-04-10  Jim Meyering  <meyering@redhat.com>
15534
15535         maint: remove doubled words in comments, e.g., s/a a/a/
15536         * lib/strptime.c (day_of_the_week): s/the the/the/
15537         * tests/test-chown.h (test_chown): s/a a/a/
15538
15539         test-chown.h: correct a cast
15540         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
15541         when the destination is a stat.st_gid.
15542
15543 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
15544
15545         getaddrinfo: Fix test for sa_len member.
15546         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
15547         include <sys/types.h> before <sys/socket.h>.
15548
15549 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
15550
15551         maint: change "can not" to "cannot"
15552         * doc/posix-functions/iconv.texi (iconv): This one crossed line
15553         boundaries.
15554
15555 2011-04-09  Jim Meyering  <meyering@redhat.com>
15556
15557         maint: change "a a" to "a"
15558         * tests/test-lchown.h (test_lchown): s/a a/a/
15559
15560         maint.mk: prohibit \<the the\>
15561         * top/maint.mk (sc_prohibit_the_the): New rule.
15562
15563         maint: fix "the the" in comment
15564         * lib/count-one-bits.h: s/the the/the/
15565
15566         maint: change "can not" to "cannot"
15567         But do not change the occurrences in maintain.texi or in
15568         build-aux/po/Makefile.in.in, which I presume comes from gettext.
15569         * doc/gnulib-tool.texi: s/can not/cannot/
15570         * doc/posix-functions/accept.texi (accept): Likewise.
15571         * doc/posix-functions/socket.texi (socket): Likewise.
15572         * lib/mbrtowc.c: Likewise.
15573
15574         maint.mk: prohibit use of "can not"
15575         * top/maint.mk (sc_prohibit_can_not): New rule.
15576         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
15577
15578 2011-04-09  Bruno Haible  <bruno@clisp.org>
15579
15580         careadlinkat: Guard against misuse of careadlinkatcwd.
15581         * lib/careadlinkat.c: Include <stdlib.h>.
15582         (careadlinkatcwd): Check that the fd argument is as expected.
15583
15584 2011-04-09  Bruno Haible  <bruno@clisp.org>
15585
15586         careadlinkat: Use common coding style.
15587         * lib/careadlinkat.c: Move gnulib includes after system includes.
15588
15589 2011-04-09  Bruno Haible  <bruno@clisp.org>
15590
15591         careadlinkat: Clarify specification.
15592         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
15593         (careadlinkatcwd): Add comment.
15594         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
15595
15596 2011-04-09  Bruno Haible  <bruno@clisp.org>
15597
15598         areadlinkat: Avoid link error on many platforms.
15599         * modules/areadlinkat (Depends-on): Add areadlink.
15600
15601 2011-04-09  Bruno Haible  <bruno@clisp.org>
15602
15603         allocator, careadlinkat: Fix double-inclusion guard.
15604         * lib/allocator.h: Fix double-inclusion guard.
15605         * lib/careadlinkat.h: Likewise.
15606
15607 2011-04-09  Bruno Haible  <bruno@clisp.org>
15608
15609         relocatable-prog-wrapper: Update after module 'areadlink' changed.
15610         * lib/relocwrapper.c: Update dependencies hierarchy.
15611         * build-aux/install-reloc: Update list of files to be compiled.
15612         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
15613         lib/allocator.[hc].
15614
15615 2011-04-08  Eric Blake  <eblake@redhat.com>
15616
15617         strftime: silence gnulib-tool warning
15618         * modules/strftime-tests (Depends-on): Drop automatic dependency.
15619
15620 2011-04-08  Bruno Haible  <bruno@clisp.org>
15621
15622         verify: Fix syntax error with GCC 4.6 in C++ mode.
15623         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
15624         (HAVE_STATIC_ASSERT): New macro.
15625         (verify_true, verify): Use 'static_assert' if it is supported and
15626         '_Static_assert' is not supported.
15627
15628 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
15629
15630         allocator: New module.
15631         * modules/allocator, lib/allocator.c: New files.
15632         * lib/allocator.h (stdlib_allocator): New decl.
15633         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
15634         Remove.  Do not include <stdlib.h>.
15635         (careadlinkat): Use stdlib_allocator instead of rolling our own.
15636         * modules/careadlinkat (Files): Remove lib/allocator.h.
15637         (Depends-on): Add allocator.
15638
15639         stdlib: let modules use system malloc, realloc
15640         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
15641         if !_GL_USE_STDLIB_ALLOC.
15642         (malloc, realloc): Limit this change to a smaller scope.
15643
15644         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
15645         (malloc, realloc): Don't #undef; no longer needed.
15646         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15647         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15648         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
15649         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15650         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15651         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15652         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15653         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
15654
15655         careadlinkat: rename members to avoid problem
15656         * lib/allocator.h (struct allocator): Rename members from
15657         malloc/realloc to allocate/reallocate, to avoid problems if malloc
15658         and realloc are #define'd.  Reported by Eric Blake in
15659         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
15660         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
15661
15662 2011-04-08  Eric Blake  <eblake@redhat.com>
15663
15664         nonblocking: reduce dependency
15665         * tests/test-nonblocking.c: Only test sockets when in use.
15666         * modules/nonblocking-tests (Depends-on): Drop socket.
15667         (Makefile.am): Link even if sockets are not present.
15668         * modules/pipe2-tests (Makefile.am): Likewise.
15669         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
15670
15671         pipe2: fix O_NONBLOCK support on mingw
15672         * modules/pipe2 (Depends-on): Add nonblocking.
15673         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
15674         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
15675         * tests/test-nonblocking.c (main): Likewise.
15676         * modules/pipe2-tests (Makefile.am): Avoid link failure.
15677
15678         fcntl-h: fix O_ACCMODE on cygwin
15679         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
15680         * lib/fcntl.in.h (O_ACCMODE): Fix it.
15681
15682         pipe-filter: drop O_NONBLOCK workarounds
15683         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
15684         * modules/pipe-filter-ii (Depends-on): Likewise.
15685         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
15686
15687         nonblocking: provide O_NONBLOCK for mingw
15688         * modules/nonblocking (Depends-on): Add open.
15689         (configure.ac): Set new witness macro.
15690         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
15691         * modules/fcntl-h (Makefile.am): Substitute it.
15692         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
15693         nonblocking module is in use.
15694         * lib/nonblocking.c: Adjust portability test.
15695         * lib/open.c (open): Don't let native open see gnulib flag.
15696         * tests/test-fcntl-h.c (main): Enhance test.
15697         * tests/test-open.h (test_open): Likewise.
15698         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
15699
15700         careadlinkat: fix compilation error on mingw
15701         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
15702         within struct allocator.
15703
15704 2011-04-06  Eric Blake  <eblake@redhat.com>
15705
15706         binary-io: relicense under LGPLv2+
15707         * modules/binary-io (License): Relax to LGPLv2+.
15708         Requested for libvirt, and required by pipe2.
15709
15710 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
15711
15712         verify: use _Static_assert if available
15713         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
15714         (verify_true, verify): Use it if available.  This generates better
15715         diagnostics with GCC 4.6.0 and later.
15716
15717 2011-04-05  Bruno Haible  <bruno@clisp.org>
15718
15719         Remove leftover generated .h files after config.status changed.
15720
15721         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
15722         GL_GENERATE_ALLOCA_H.
15723         * modules/alloca-opt (Makefile.am): Remove alloca.h if
15724         GL_GENERATE_ALLOCA_H evaluates to false.
15725
15726         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
15727         GL_GENERATE_ARGZ_H.
15728         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
15729         evaluates to false.
15730
15731         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
15732         GL_GENERATE_BYTESWAP_H.
15733         * modules/byteswap (Makefile.am): Remove byteswap.h if
15734         GL_GENERATE_BYTESWAP_H evaluates to false.
15735
15736         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
15737         GL_GENERATE_ERRNO_H.
15738         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
15739         evaluates to false.
15740
15741         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
15742         GL_GENERATE_FLOAT_H.
15743         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
15744         evaluates to false.
15745
15746         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
15747         GL_GENERATE_FNMATCH_H.
15748         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
15749         GL_GENERATE_FNMATCH_H evaluates to false.
15750
15751         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
15752         GL_GENERATE_GLOB_H.
15753         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
15754         evaluates to false.
15755
15756         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
15757         automake conditional GL_GENERATE_ICONV_H.
15758         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
15759         evaluates to false.
15760
15761         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
15762         GL_GENERATE_NETINET_IN_H.
15763         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
15764         GL_GENERATE_NETINET_IN_H evaluates to false.
15765
15766         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
15767         conditional GL_GENERATE_PTHREAD_H.
15768         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
15769         * modules/pthread (Makefile.am): Remove pthread.h if
15770         GL_GENERATE_PTHREAD_H evaluates to false.
15771
15772         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
15773         GL_GENERATE_SCHED_H.
15774         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
15775         evaluates to false.
15776
15777         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
15778         conditional GL_GENERATE_SELINUX_CONTEXT_H.
15779         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
15780         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
15781
15782         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
15783         GL_GENERATE_STDARG_H.
15784         * modules/stdarg (Makefile.am): Remove stdarg.h if
15785         GL_GENERATE_STDARG_H evaluates to false.
15786
15787         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
15788         GL_GENERATE_STDBOOL_H.
15789         * modules/stdbool (Makefile.am): Remove stdbool.h if
15790         GL_GENERATE_STDBOOL_H evaluates to false.
15791
15792         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
15793         conditional GL_GENERATE_STDDEF_H.
15794         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
15795         * modules/stddef (Makefile.am): Remove stddef.h if
15796         GL_GENERATE_STDDEF_H evaluates to false.
15797
15798         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
15799         GL_GENERATE_STDINT_H.
15800         * modules/stdint (Makefile.am): Remove stdint.h if
15801         GL_GENERATE_STDINT_H evaluates to false.
15802
15803         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
15804         GL_GENERATE_SYSEXITS_H.
15805         * modules/sysexits (Makefile.am): Remove sysexits.h if
15806         GL_GENERATE_SYSEXITS_H evaluates to false.
15807
15808         Reported by Karl Berry and Ralf Wildenhues.
15809
15810 2011-04-05  Bruno Haible  <bruno@clisp.org>
15811
15812         Ensure to rebuild generated .h files when config.status has changed.
15813         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
15814         config.status.
15815         * modules/ctype (Makefile.am): Likewise.
15816         * modules/dirent (Makefile.am): Likewise.
15817         * modules/errno (Makefile.am): Likewise.
15818         * modules/fcntl-h (Makefile.am): Likewise.
15819         * modules/float (Makefile.am): Likewise.
15820         * modules/getopt-posix (Makefile.am): Likewise.
15821         * modules/glob (Makefile.am): Likewise.
15822         * modules/iconv-h (Makefile.am): Likewise.
15823         * modules/inttypes (Makefile.am): Likewise.
15824         * modules/langinfo (Makefile.am): Likewise.
15825         * modules/locale (Makefile.am): Likewise.
15826         * modules/math (Makefile.am): Likewise.
15827         * modules/netdb (Makefile.am): Likewise.
15828         * modules/netinet_in (Makefile.am): Likewise.
15829         * modules/poll-h (Makefile.am): Likewise.
15830         * modules/pthread (Makefile.am): Likewise.
15831         * modules/pty (Makefile.am): Likewise.
15832         * modules/sched (Makefile.am): Likewise.
15833         * modules/search (Makefile.am): Likewise.
15834         * modules/selinux-h (Makefile.am): Likewise.
15835         * modules/signal (Makefile.am): Likewise.
15836         * modules/spawn (Makefile.am): Likewise.
15837         * modules/stdarg (Makefile.am): Likewise.
15838         * modules/stdbool (Makefile.am): Likewise.
15839         * modules/stddef (Makefile.am): Likewise.
15840         * modules/stdint (Makefile.am): Likewise.
15841         * modules/stdio (Makefile.am): Likewise.
15842         * modules/stdlib (Makefile.am): Likewise.
15843         * modules/string (Makefile.am): Likewise.
15844         * modules/strings (Makefile.am): Likewise.
15845         * modules/sys_file (Makefile.am): Likewise.
15846         * modules/sys_ioctl (Makefile.am): Likewise.
15847         * modules/sys_select (Makefile.am): Likewise.
15848         * modules/sys_socket (Makefile.am): Likewise.
15849         * modules/sys_stat (Makefile.am): Likewise.
15850         * modules/sys_time (Makefile.am): Likewise.
15851         * modules/sys_times (Makefile.am): Likewise.
15852         * modules/sys_utsname (Makefile.am): Likewise.
15853         * modules/sys_wait (Makefile.am): Likewise.
15854         * modules/sysexits (Makefile.am): Likewise.
15855         * modules/termios (Makefile.am): Likewise.
15856         * modules/time (Makefile.am): Likewise.
15857         * modules/unistd (Makefile.am): Likewise.
15858         * modules/wchar (Makefile.am): Likewise.
15859         * modules/wctype-h (Makefile.am): Likewise.
15860         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
15861
15862 2011-04-05  Bruno Haible  <bruno@clisp.org>
15863
15864         pipe2: Relicense under LGPLv2+.
15865         * modules/pipe2 (License): Change to LGPLv2+.
15866         Requested by Eric Blake, for libvirt.
15867
15868 2011-04-05  Bruce Korb  <bkorb@gnu.org>
15869
15870         bootstrap: compute gnulib_extra_files after updating build_aux
15871         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
15872         change build_aux or also supply gnulib_extra_files.  Handle correctly.
15873
15874 2011-04-05  Eric Blake  <eblake@redhat.com>
15875
15876         bootstrap: preserve git whitelist item sorting
15877         * build-aux/bootstrap (sort_patterns): New function.
15878         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
15879
15880 2011-04-05  Simon Josefsson  <simon@josefsson.org>
15881
15882         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
15883         sc_space_tab check.
15884
15885 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
15886
15887         areadlink, areadlinkat: rewrite in terms of careadlinkat
15888         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
15889         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
15890         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
15891         (malloc, realloc): Remove #undefs.
15892         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
15893         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
15894         readlink, ssize_t, stdint, unistd.
15895         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
15896         areadlink, stdint.
15897
15898         careadlinkat: new module
15899         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
15900         * modules/careadlinkat: New files, written by me with
15901         a review and feedback from Ben Pfaff in
15902         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
15903
15904 2011-04-01  Bruno Haible  <bruno@clisp.org>
15905
15906         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
15907         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
15908         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
15909         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
15910         Reported by Bruce Korb <bruce.korb@gmail.com>.
15911
15912 2011-04-01  Bruno Haible  <bruno@clisp.org>
15913
15914         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
15915         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
15916         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
15917         * modules/wcpcpy (Depends-on): Add extensions.
15918         * modules/wcpncpy (Depends-on): Likewise.
15919         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
15920         systems.
15921         * doc/posix-functions/wcpncpy.texi: Likewise.
15922         * doc/posix-functions/wcwidth.texi: Likewise.
15923
15924 2011-03-31  Eric Blake  <eblake@redhat.com>
15925
15926         nonblocking: fix mingw test failures
15927         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
15928         non-blocking flag on regular file.
15929         (get_nonblocking_flag): Set errno on invalid fd.
15930         * tests/test-nonblocking.c (main): Avoid test failure on
15931         directories if fchdir is not active.
15932         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
15933
15934 2011-03-31  Bruno Haible  <bruno@clisp.org>
15935
15936         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
15937         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
15938         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
15939         Reported by Simon Josefsson <simon@josefsson.org>.
15940
15941 2011-03-31  Bruno Haible  <bruno@clisp.org>
15942         and Eric Blake  <eblake@redhat.com>
15943
15944         nonblocking: new module
15945         * modules/nonblocking: New module.
15946         * modules/nonblocking-tests: Likewise.
15947         * lib/nonblocking.h: New file.
15948         * lib/nonblocking.c: Likewise.
15949         * tests/test-nonblocking.c: New test.
15950         * lib/ioctl.c (ioctl) [mingw]: Update comment.
15951
15952 2011-03-30  Bruno Haible  <bruno@clisp.org>
15953
15954         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
15955         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
15956         instead of 'printf' format for GCC >= 4.4.
15957         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
15958         (fprintf, printf, vfprintf, vprintf): Declare with
15959         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
15960         the system's vfprintf() function.
15961         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
15962
15963 2011-03-30  Eric Blake  <eblake@redhat.com>
15964
15965         passfd: fix scoping bug
15966         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
15967         before sendmsg/recvmsg.
15968
15969         passfd: standardize coding conventions
15970         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
15971         can be learned at compile time.
15972         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
15973         ifdefs.
15974         (sendfd, recvfd): Follow gnulib code conventions.
15975
15976         passfd: fix incorrect sendmsg arguments
15977         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
15978         incorrect msg_controllen value.
15979         * modules/passfd-tests (Depends-on): Check for alarm.
15980         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
15981         Reported by Bastien ROUCARIES.
15982
15983 2011-03-30  Bruno Haible  <bruno@clisp.org>
15984
15985         c-strcasestr: Relicense under LGPLv2+.
15986         * modules/c-strcasestr (License): Change to LGPLv2+.
15987         Requested by Eric Blake, for libvirt.
15988
15989 2011-03-30  Simon Josefsson  <simon@josefsson.org>
15990
15991         * users.txt: Add libidn2.  Fix libtasn1 link.
15992
15993 2011-03-30  Jim Meyering  <meyering@redhat.com>
15994
15995         tests: readlink* ("",... fails with EINVAL on newer kernels
15996         readlink and readlinkat have typically failed with ENOENT for
15997         the invalid, empty file name,  "".  However, with the advent
15998         of linux-2.6.39, they fail with EINVAL.
15999         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
16000         when operating on the empty file name.
16001         * tests/test-readlink.h (test_readlink): Likewise.
16002
16003 2011-03-29  Bruno Haible  <bruno@clisp.org>
16004
16005         Relicense some modules under LGPLv2+, for libidn2.
16006         * modules/array-mergesort (License): Change to LGPLv2+.
16007         * modules/c-strcaseeq (License): Likewise.
16008         * modules/striconveh (License): Likewise.
16009         * modules/striconveha (License): Likewise.
16010         * modules/uniconv/base (License): Likewise.
16011         * modules/uniconv/u8-conv-from-enc (License): Likewise.
16012         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
16013         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
16014         * modules/unictype/base (License): Likewise.
16015         * modules/unictype/bidiclass-of (License): Likewise.
16016         * modules/unictype/category-M (License): Likewise.
16017         * modules/unictype/category-none (License): Likewise.
16018         * modules/unictype/category-of (License): Likewise.
16019         * modules/unictype/category-test (License): Likewise.
16020         * modules/unictype/category-test-withtable (License): Likewise.
16021         * modules/unictype/combining-class (License): Likewise.
16022         * modules/unictype/joiningtype-of (License): Likewise.
16023         * modules/unictype/scripts (License): Likewise.
16024         * modules/uninorm/base (License): Likewise.
16025         * modules/uninorm/canonical-decomposition (License): Likewise.
16026         * modules/uninorm/composition (License): Likewise.
16027         * modules/uninorm/decompose-internal (License): Likewise.
16028         * modules/uninorm/decomposition-table (License): Likewise.
16029         * modules/uninorm/nfc (License): Likewise.
16030         * modules/uninorm/nfd (License): Likewise.
16031         * modules/uninorm/u32-normalize (License): Likewise.
16032         * modules/unistr/base (License): Likewise.
16033         * modules/unistr/u32-cpy (License): Likewise.
16034         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
16035         * modules/unistr/u32-to-u8 (License): Likewise.
16036         * modules/unistr/u32-uctomb (License): Likewise.
16037         * modules/unistr/u8-check (License): Likewise.
16038         * modules/unistr/u8-mblen (License): Likewise.
16039         * modules/unistr/u8-mbtouc (License): Likewise.
16040         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
16041         * modules/unistr/u8-mbtoucr (License): Likewise.
16042         * modules/unistr/u8-prev (License): Likewise.
16043         * modules/unistr/u8-strlen (License): Likewise.
16044         * modules/unistr/u8-to-u32 (License): Likewise.
16045         * modules/unistr/u8-uctomb (License): Likewise.
16046         * modules/unitypes (License): Likewise.
16047         Requested by Simon Josefsson.
16048
16049 2011-03-29  Simon Josefsson  <simon@josefsson.org>
16050
16051         lib-symbol-visibility: Add a notice.
16052         * modules/lib-symbol-visibility (Notice): New field.
16053
16054 2011-03-29  Bruno Haible  <bruno@clisp.org>
16055
16056         getaddrinfo: Doc fix.
16057         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
16058         section "fixed in Gnulib".
16059
16060 2011-03-28  Simon Josefsson  <simon@josefsson.org>
16061
16062         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
16063         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
16064
16065 2011-03-26  Bruno Haible  <bruno@clisp.org>
16066
16067         unictype/property-byname: Reduce the number of load-time relocations.
16068         * lib/unictype/pr_byname.c: Include <stdlib.h>.
16069         (UC_PROPERTY_INDEX_*): New enumeration values.
16070         (uc_property_byname): Convert an index from the lookup table to an
16071         uc_property_t.
16072         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
16073         values.
16074
16075 2011-03-26  Bruno Haible  <bruno@clisp.org>
16076
16077         unictype/property-byname: Allow omitted word separators and aliases.
16078         * lib/unictype/pr_byname.gperf: Add property names without word
16079         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
16080         for 'space'.
16081
16082 2011-03-26  Bruno Haible  <bruno@clisp.org>
16083
16084         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
16085         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
16086         also hyphens to space.
16087         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
16088         without spaces.
16089         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
16090
16091 2011-03-26  Bruno Haible  <bruno@clisp.org>
16092
16093         unictype/joiningtype-byname: Recognize long names as well.
16094         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
16095         a long name.
16096         * lib/unictype/joiningtype_byname.c: Include <string.h>,
16097         unictype/joiningtype_byname.h.
16098         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
16099         * lib/unictype/joiningtype_byname.gperf: New file.
16100         * modules/unictype/joiningtype-byname (Files): Add
16101         lib/unictype/joiningtype_byname.gperf.
16102         (Depends-on): Add gperf.
16103         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
16104         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
16105         long names.
16106
16107         Tests for module 'unictype/joiningtype-longname'.
16108         * modules/unictype/joiningtype-longname-tests: New file.
16109         * tests/unictype/test-joiningtype_longname.c: New file.
16110
16111         New module 'unictype/joiningtype-longname'.
16112         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
16113         * lib/unictype/joiningtype_longname.c: New file.
16114         * modules/unictype/joiningtype-longname: New file.
16115         * modules/unictype/joiningtype-all (Depends-on): Add
16116         unictype/joiningtype-longname.
16117
16118 2011-03-26  Bruno Haible  <bruno@clisp.org>
16119
16120         unictype/bidiclass-byname: Recognize long names as well.
16121         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
16122         name.
16123         * lib/unictype/bidi_byname.c: Include <string.h>,
16124         unictype/bidi_byname.h.
16125         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
16126         * lib/unictype/bidi_byname.gperf: New file.
16127         * modules/unictype/bidiclass-byname (Files): Add
16128         lib/unictype/bidi_byname.gperf.
16129         (Depends-on): Add gperf.
16130         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
16131         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
16132         long names.
16133
16134         Tests for module 'unictype/bidiclass-longname'.
16135         * modules/unictype/bidiclass-longname-tests: New file.
16136         * tests/unictype/test-bidi_longname.c: New file.
16137
16138         New module 'unictype/bidiclass-longname'.
16139         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
16140         * lib/unictype/bidi_longname.c: New file.
16141         * modules/unictype/bidiclass-longname: New file.
16142         * modules/unictype/bidiclass-all (Depends-on): Add
16143         unictype/bidiclass-longname.
16144
16145 2011-03-26  Bruno Haible  <bruno@clisp.org>
16146
16147         unictype/bidi*: Rename modules.
16148         * modules/unictype/bidiclass-all: Renamed from
16149         modules/unictype/bidicategory-all.
16150         * modules/unictype/bidiclass-name: Renamed from
16151         modules/unictype/bidiclass-name.
16152         (Description): Update.
16153         * modules/unictype/bidiclass-name-tests: Renamed from
16154         modules/unictype/bidicategory-name-tests.
16155         * modules/unictype/bidiclass-byname: Renamed from
16156         modules/unictype/bidicategory-byname.
16157         (Description): Update.
16158         * modules/unictype/bidiclass-byname-tests: Renamed from
16159         modules/unictype/bidicategory-byname-tests.
16160         * modules/unictype/bidiclass-of: Renamed from
16161         modules/unictype/bidicategory-of.
16162         (Description): Update.
16163         * modules/unictype/bidiclass-of-tests: Renamed from
16164         modules/unictype/bidicategory-of-tests.
16165         * modules/unictype/bidiclass-test: Renamed from
16166         modules/unictype/bidicategory-test.
16167         (Description): Update.
16168         * modules/unictype/bidiclass-test-tests: Renamed from
16169         modules/unictype/bidicategory-test-tests.
16170         * modules/unictype/bidicategory-all: New file, a simple redirection.
16171         * modules/unictype/bidicategory-name: Likewise.
16172         * modules/unictype/bidicategory-byname: Likewise.
16173         * modules/unictype/bidicategory-of: Likewise.
16174         * modules/unictype/bidicategory-test: Likewise.
16175         * modules/unictype/property-bidi-* (Dependencies): Update.
16176         * lib/unictype/bidi_*.c: Update comment.
16177
16178 2011-03-26  Bruno Haible  <bruno@clisp.org>
16179
16180         unictype/bidi*: Rename functions, part 2.
16181         * modules/unictype/bidicategory-name (configure.ac): Update required
16182         libunistring version.
16183         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
16184
16185 2011-03-25  Bruno Haible  <bruno@clisp.org>
16186
16187         New module 'unictype/combining-class-all'.
16188         * modules/unictype/combining-class-all: New file.
16189
16190         Tests for module 'unictype/combining-class-byname'.
16191         * modules/unictype/combining-class-byname-tests: New file.
16192         * tests/unictype/test-combiningclass_byname.c: New file.
16193
16194         New module 'unictype/combining-class-byname'.
16195         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
16196         * lib/unictype/combiningclass_byname.c: New file.
16197         * lib/unictype/combiningclass_byname.gperf: New file.
16198         * modules/unictype/combining-class-byname: New file.
16199
16200         Tests for module 'unictype/combining-class-longname'.
16201         * modules/unictype/combining-class-longname-tests: New file.
16202         * tests/unictype/test-combiningclass_longname.c: New file.
16203
16204         New module 'unictype/combining-class-longname'.
16205         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
16206         * lib/unictype/combiningclass_longname.c: New file.
16207         * modules/unictype/combining-class-longname: New file.
16208
16209         Tests for module 'unictype/combining-class-name'.
16210         * modules/unictype/combining-class-name-tests: New file.
16211         * tests/unictype/test-combiningclass_name.c: New file.
16212
16213         New module 'unictype/combining-class-name'.
16214         * lib/unictype.in.h (uc_combining_class_name): New declaration.
16215         * lib/unictype/combiningclass_name.c: New file.
16216         * modules/unictype/combining-class-name: New file.
16217
16218 2011-03-25  Bruno Haible  <bruno@clisp.org>
16219
16220         unictype/combining-class: Rename source files.
16221         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
16222         of unictype/combining.h.
16223         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
16224         Update.
16225         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
16226         * modules/unictype/combining-class (Description): Fix.
16227         (Files, Makefile.am): Update.
16228         * tests/unictype/test-combiningclass.c: Renamed from
16229         tests/unictype/test-combining.c.
16230         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
16231
16232 2011-03-25  Bruno Haible  <bruno@clisp.org>
16233
16234         unictype: Update list of canonical combining classes.
16235         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
16236
16237 2011-03-25  Bruno Haible  <bruno@clisp.org>
16238
16239         unictype/category-byname: Recognize long names as well.
16240         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
16241         a long name.
16242         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
16243         unictype/categ_byname.h.
16244         (UC_CATEGORY_INDEX_*): New enumeration values.
16245         (uc_general_category_byname): Use uc_general_category_lookup and
16246         convert from index to value.
16247         * lib/unictype/categ_byname.gperf: New file.
16248         * modules/unictype/category-byname (Files): Add
16249         lib/unictype/categ_byname.gperf.
16250         (Depends-on): Add gperf.
16251         (Makefile.am): Add rule for generating unictype/categ_byname.h.
16252         * tests/unictype/test-categ_byname.c (main): Test the recognition of
16253         long names.
16254
16255         Tests for module 'unictype/category-longname'.
16256         * modules/unictype/category-longname-tests: New file.
16257         * tests/unictype/test-categ_longname.c: New file.
16258
16259         New module 'unictype/category-longname'.
16260         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
16261         * lib/unictype/categ_longname.c: New file.
16262         * modules/unictype/category-longname: New file.
16263         * modules/unictype/category-all (Depends-on): Add it.
16264
16265 2011-03-25  Bruno Haible  <bruno@clisp.org>
16266
16267         Tests for module 'unictype/category-LC'.
16268         * modules/unictype/category-LC-tests: New file.
16269         * tests/unictype/test-categ_LC.c: New file, automatically generated.
16270
16271         New module 'unictype/category-LC'.
16272         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
16273         (UC_CATEGORY_LC): New declaration.
16274         (UC_CASED_LETTER): New macro.
16275         * lib/gen-uni-tables.c (is_category_LC): New function.
16276         (output_categories): Also handle category LC.
16277         (UC_CATEGORY_MASK_LC): New enumeration value.
16278         (general_category_byname): Also handle category LC.
16279         * lib/unictype/categ_LC.c: New file.
16280         * lib/unictype/categ_LC.h: New file, automatically generated.
16281         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
16282         category LC.
16283         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
16284         * modules/unictype/category-LC: New file.
16285         * modules/unictype/category-byname (Depends-on): Add
16286         unictype/category-LC.
16287         * modules/unictype/category-all (Depends-on): Likewise.
16288
16289 2011-03-25  Eric Blake  <eblake@redhat.com>
16290
16291         xmalloc: revert yesterday's regression
16292         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
16293         realloc's underlying behavior (allowing allocation of zero-size
16294         objects, especially if malloc-gnu is also in use).
16295
16296 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
16297
16298         maint.mk: add missing version to VC-tag
16299         * top/maint.mk: git tag was missing actual tag name; add it.
16300
16301         valgrind: do leak checking, and exit with code 1 on error (not 0)
16302         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
16303         to VALGRIND.
16304
16305 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
16306
16307         posix-modules: say what it does.
16308         * posix-modules: Add a line to the --help output saying what it does.
16309
16310 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
16311
16312         xmalloc: Do not leak if underlying realloc is C99 compatible.
16313         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
16314         This avoids a leak on C99-based systems.  See
16315         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
16316
16317 2011-03-24  Eric Blake  <eblake@redhat.com>
16318
16319         realloc: document portability problem
16320         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
16321         passing 0 size to realloc.
16322
16323 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
16324
16325         doc: update users.txt
16326         * users.txt: Add cvsps, tmpwatch
16327
16328 2011-03-23  Matt Rice  <ratmice@gmail.com>
16329
16330         doc: update users.txt
16331         * users.txt: Add gdb.
16332
16333 2011-03-23  Jim Meyering  <meyering@redhat.com>
16334
16335         doc: update users.txt
16336         Looking through matches up to the following URL (there are still
16337         several more pages), I found several projects that use gnulib:
16338         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
16339         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
16340         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
16341
16342 2011-03-22  Bruno Haible  <bruno@clisp.org>
16343
16344         unictype/bidi*: Rename functions.
16345         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
16346         uc_bidi_class, uc_is_bidi_class): New declarations.
16347         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
16348         uc_bidi_category_byname.
16349         (uc_bidi_category_byname): New function.
16350         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
16351         u_bidi_category_name.
16352         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
16353         (uc_bidi_category_name): New function.
16354         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
16355         uc_bidi_category.
16356         (uc_bidi_category): New function.
16357         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
16358         uc_is_bidi_category. Invoke uc_bidi_class.
16359         (uc_is_bidi_category): New function.
16360         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
16361         instead of uc_bidi_category_byname.
16362         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
16363         instead of uc_bidi_category_name.
16364         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
16365         uc_bidi_category.
16366         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
16367         instead of uc_is_bidi_category.
16368
16369 2011-03-21  Bruno Haible  <bruno@clisp.org>
16370
16371         New module 'unictype/joininggroup-all'.
16372         * modules/unictype/joininggroup-all: New file.
16373
16374         Tests for module 'unictype/joininggroup-of'.
16375         * modules/unictype/joininggroup-of-tests: New file.
16376         * tests/unictype/test-joininggroup_of.c: New file.
16377         * tests/unictype/test-joininggroup_of.h: New file, automatically
16378         generated by gen-uni-tables.
16379
16380         New module 'unictype/joininggroup-of'.
16381         * modules/unictype/joininggroup-of: New file.
16382         * lib/unictype/joininggroup_of.c: New file.
16383         * lib/unictype/joininggroup_of.h: New file, automatically generated by
16384         gen-uni-tables.
16385
16386         Tests for module 'unictype/joininggroup-byname'.
16387         * modules/unictype/joininggroup-byname-tests: New file.
16388         * tests/unictype/test-joininggroup_byname.c: New file.
16389
16390         New module 'unictype/joininggroup-byname'.
16391         * modules/unictype/joininggroup-byname: New file.
16392         * lib/unictype/joininggroup_byname.c: New file.
16393         * lib/unictype/joininggroup_byname.gperf: New file.
16394
16395         Tests for module 'unictype/joininggroup-name'.
16396         * modules/unictype/joininggroup-name-tests: New file.
16397         * tests/unictype/test-joininggroup_name.c: New file.
16398
16399         New module 'unictype/joininggroup-name'.
16400         * modules/unictype/joininggroup-name: New file.
16401         * lib/unictype/joininggroup_name.c: New file.
16402         * lib/unictype/joininggroup_name.h: New file.
16403
16404         New module 'unictype/joiningtype-all'.
16405         * modules/unictype/joiningtype-all: New file.
16406
16407         Tests for module 'unictype/joiningtype-of'.
16408         * modules/unictype/joiningtype-of-tests: New file.
16409         * tests/unictype/test-joiningtype_of.c: New file.
16410         * tests/unictype/test-joiningtype_of.h: New file, automatically
16411         generated by gen-uni-tables.
16412
16413         New module 'unictype/joiningtype-of'.
16414         * modules/unictype/joiningtype-of: New file.
16415         * lib/unictype/joiningtype_of.c: New file.
16416         * lib/unictype/joiningtype_of.h: New file, automatically generated by
16417         gen-uni-tables.
16418
16419         Tests for module 'unictype/joiningtype-byname'.
16420         * modules/unictype/joiningtype-byname-tests: New file.
16421         * tests/unictype/test-joiningtype_byname.c: New file.
16422
16423         New module 'unictype/joiningtype-byname'.
16424         * modules/unictype/joiningtype-byname: New file.
16425         * lib/unictype/joiningtype_byname.c: New file.
16426
16427         Tests for module 'unictype/joiningtype-name'.
16428         * modules/unictype/joiningtype-name-tests: New file.
16429         * tests/unictype/test-joiningtype_name.c: New file.
16430
16431         New module 'unictype/joiningtype-name'.
16432         * modules/unictype/joiningtype-name: New file.
16433         * lib/unictype/joiningtype_name.c: New file.
16434
16435         unictype: Add support for Arabic shaping properties.
16436         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
16437         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
16438         declarations.
16439         (UC_JOINING_GROUP_*): New enumeration values.
16440         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
16441         declarations.
16442         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
16443         (unicode_joining_type): New variable.
16444         (UC_JOINING_GROUP_*): New enumeration values.
16445         (unicode_joining_group): New variable.
16446         (fill_arabicshaping, joining_type_as_c_identifier,
16447         output_joining_type_test, output_joining_type,
16448         joining_group_as_c_identifier, output_joining_group_test,
16449         output_joining_group): New functions.
16450         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
16451         fill_arabicshaping and output_joining_type_test, output_joining_type,
16452         output_joining_group_test, output_joining_group.
16453         Reported by Simon Josefsson.
16454
16455 2011-03-21  Jim Meyering  <meyering@redhat.com>
16456
16457         strftime: fix a bug in yesterday's change
16458         * lib/strftime.c (add): Accommodate width's initial value of -1.
16459         Otherwise, nstrftime would copy uninitialized data into
16460         the result buffer.
16461
16462 2011-03-21  Jim Meyering  <meyering@redhat.com>
16463
16464         tests: add strftime-tests module
16465         * tests/test-strftime.c: New file.
16466         * modules/strftime-tests: New module.
16467
16468 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
16469
16470         strftime: don't assume a byte count fits in 'int'
16471         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
16472         found this problem by static analysis, using gcc -Wstrict-overflow
16473         (GCC 4.5.2, x86-64).  This reported an optimization that depended
16474         on an integer overflow having undefined behavior, but it turns out
16475         that the argument is a size, which might not fit in 'int' anyway,
16476
16477 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
16478
16479         stdio: don't require ignore_value around fwrite
16480
16481         This patch works around libc bug 11959
16482         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
16483         Without this patch, applications must often write
16484         ignore_value (fwrite (...)) even though the ignore_value is
16485         not helpful here.  It's common to write many objects, using
16486         fwrite/printf/etc., and then use ferror to detect output error.
16487
16488         I considered making this patch optional, but decided against it,
16489         because libc is obviously being inconsistent here: there is no
16490         reason libc should insist that user code must inspect fwrite
16491         return's value without also insisting that it inspect printf's,
16492         putchar's, etc.  If user code wants to have a strict style where
16493         all these functions' values are checked (so that ferror need not
16494         be checked), we could add support for that style in a new gnulib
16495         module, but in the meantime it's better to be consistent and to
16496         support common usage.
16497
16498         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
16499         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
16500         that we are compiling in checking mode, and if not C++, and
16501         if not already wrapping fwrite for some other reason.
16502         (fwrite): #define to rpl_fwrite if the latter is defined.
16503
16504 2011-03-20  Bruno Haible  <bruno@clisp.org>
16505
16506         verror: Fix compilation error introduced on 2011-02-13.
16507         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
16508         instead of __attribute__.
16509         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16510
16511 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
16512             Bruno Haible  <bruno@clisp.org>
16513
16514         socklen: do not depend on sys_socket
16515         While trying to modify Emacs to use gnulib's socklen module,
16516         I discovered a circular dependency: socklen depends on sys_socket
16517         and vice versa.  Emacs can use socklen, but it does not need
16518         sys_socket because it has its own substitute for sys/socket.h.
16519         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
16520         gl_TYPE_SOCKLEN_T.
16521         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
16522         gl_PREREQ_SYS_H_SOCKET.
16523         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
16524         gl_PREREQ_SYS_H_SOCKET.
16525         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
16526         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
16527         * modules/socklen (Depends-on): Do not depend on sys_socket.
16528         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
16529
16530 2011-03-20  Jim Meyering  <meyering@redhat.com>
16531
16532         maint.mk: sort file names *after* new transformation
16533         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
16534         prefix would have led to an unwarranted failure in GNU parted.
16535         Sort after that transformation.
16536
16537 2011-03-19  Jim Meyering  <meyering@redhat.com>
16538
16539         maint.mk: fix po-file syntax-check rule
16540         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
16541         Patch by Bruno Haible.
16542
16543 2011-03-19  Bruno Haible  <bruno@clisp.org>
16544
16545         socklen: Update comment.
16546         * m4/socklen.m4: Update comment about platforms.
16547
16548 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
16549             Bruno Haible  <bruno@clisp.org>
16550
16551         inet_ntop, inet_pton: Simplify.
16552         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
16553         documented to provide socklen_t and we already depend on sys_socket.
16554         * modules/inet_pton (Depends-on): Likewise.
16555         * lib/arpa_inet.in.h: Adjust comment.
16556
16557 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
16558             Bruno Haible  <bruno@clisp.org>
16559
16560         netdb: Simplify.
16561         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
16562         documented to provide socklen_t and we already depend on sys_socket.
16563         * lib/netdb.in.h: Adjust comment.
16564
16565 2011-03-19  Bruno Haible  <bruno@clisp.org>
16566
16567         sys_socket, netdb: Document problem with socklen_t.
16568         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
16569         platforms.
16570         * doc/posix-headers/netdb.texi: Likewise.
16571
16572 2011-03-18  Eric Blake  <eblake@redhat.com>
16573
16574         maint.mk: let po check work in VPATH build
16575         * top/maint.mk (po_file): Allow cfg.mk override.
16576         (sc_po_check): Allow VPATH use.
16577         Reported by Jiri Denemark.
16578
16579 2011-03-16  Jim Meyering  <meyering@redhat.com>
16580
16581         maint.mk: allow fine-grained syntax-check exclusion via Make variables
16582         Before, you would have had to create one .x-sc_ file per rule in order
16583         to exempt offending files.  Now, you may instead use a Make variable --
16584         usually defined in cfg.mk -- whose name identifies the affected rule.
16585         * top/maint.mk (_sc_excl): Define.
16586         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
16587         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
16588
16589 2011-03-13  Bruno Haible  <bruno@clisp.org>
16590
16591         ignore-value tests: Avoid warnings.
16592         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
16593         empty for gcc < 3.4.
16594
16595 2011-03-13  Bruno Haible  <bruno@clisp.org>
16596
16597         passfd: Fix link error on Solaris.
16598         * modules/passfd (Description): Correct.
16599         (Depends-on): Add socketlib.
16600         (Link): New section.
16601         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
16602
16603 2011-03-13  Bruno Haible  <bruno@clisp.org>
16604
16605         passfd: Fix link error on AIX 5.2.
16606         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
16607
16608 2011-03-13  Bruno Haible  <bruno@clisp.org>
16609
16610         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
16611         * lib/sys_socket.in.h: Include <stddef.h>.
16612         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
16613         CMSG_FIRSTHDR. Remove unused variable.
16614
16615 2011-03-13  Bruno Haible  <bruno@clisp.org>
16616
16617         passfd: Fix compilation error on OpenBSD.
16618         * lib/passfd.c: Include <sys/uio.h>.
16619
16620 2011-03-13  Bruno Haible  <bruno@clisp.org>
16621
16622         passfd test: Fix warnings.
16623         * tests/test-passfd.c: Include <sys/wait.h>.
16624         (main): Fix typo.
16625
16626 2011-03-13  Bruno Haible  <bruno@clisp.org>
16627
16628         passfd module, part 4, tweaks.
16629         * tests/test-passfd.c: Reorder includes.
16630         (main): Fix perror and printf calls.
16631
16632 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
16633
16634         passfd module, part 4.
16635         * modules/passfd-tests: New file.
16636         * tests/test-passfd.c: New file.
16637
16638 2011-03-13  Jim Meyering  <meyering@redhat.com>
16639
16640         Makefile: rely on GNU make; derive syntax-check rule names
16641         Rather than requiring that each sc_ rule be listed as a dependent
16642         of "check", use features of GNU make to derive the list.
16643         * Makefile (syntax-check-rules): Define.
16644         (check): Depend on the new variable, not the hard-coded list.
16645
16646 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
16647             Bruno Haible  <bruno@clisp.org>
16648
16649         passfd module, part 3.
16650         * lib/passfd.h (recvfd): Add a flags argument.
16651         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
16652         (recvfd): Add a flags argument.
16653         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
16654         exists.
16655         * modules/passfd (Depends-on): Add cloexec.
16656         Suggested by Eric Blake.
16657
16658 2011-03-13  Bruno Haible  <bruno@clisp.org>
16659
16660         passfd module, part 2, tweaks.
16661         * modules/passfd (Files): Reorder.
16662         (Depends-on): Remove errno.
16663         (Include): Remove <sys/socket.h>, <sys/un.h>.
16664         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
16665         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
16666         specification header. Include <sys/socket.h> always. Don't include
16667         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
16668         (sendfd): Clarify that it sets errno when it fails.
16669         (recvfd): Fix specification.
16670
16671 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
16672
16673         passfd module, part 2.
16674         * modules/passfd: New file.
16675         * lib/passfd.h: New file.
16676         * lib/passfd.c: New file.
16677
16678 2011-03-12  Bruno Haible  <bruno@clisp.org>
16679
16680         wcswidth, mbswidth: Avoid integer overflow.
16681         * lib/wcswidth.c: Include <limits.h>.
16682         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
16683         * lib/mbswidth.c: Include <limits.h>.
16684         (mbsnwidth): Avoid 'int' overflow.
16685         Reported by Jim Meyering.
16686
16687 2011-03-12  Bruno Haible  <bruno@clisp.org>
16688
16689         futimens, utimensat: Avoid endless recursion on Solaris 10.
16690         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
16691         Solaris.
16692         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
16693         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
16694
16695 2011-03-11  Jim Meyering  <meyering@redhat.com>
16696
16697         maint.mk: relax a regexp to accommodate other formatting styles
16698         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
16699         between "ngettext" and the following "(".
16700
16701 2011-03-11  Pádraig Brady <P@draigBrady.com>
16702
16703         maint.mk: suppress a false positive warning
16704         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
16705         diagnostics are marked with ngettext.
16706
16707 2011-03-10  Eric Blake  <eblake@redhat.com>
16708
16709         wchar: add explicit dependencies, for Tru64
16710         * modules/mbmemcasecoll (Depends-on): Add wchar.
16711         * modules/mbtowc (Depends-on): Likewise.
16712         * modules/vasnprintf (Depends-on): Likewise.
16713         * modules/unistdio/u-printf-args (Depends-on): Likewise.
16714         * modules/wctomb (Depends-on): Likewise.
16715         Reported by Peter O'Gorman.
16716
16717 2011-03-08  Bruno Haible  <bruno@clisp.org>
16718
16719         passfd module, part 1, tweaks.
16720         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
16721         Improve indentation. Improve AC_MSG_CHECKING messages.
16722         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
16723         gl_SOCKET_FAMILIES.
16724
16725 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
16726
16727         passfd module, part 1.
16728         * m4/afunix.m4: New file.
16729         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
16730         sockets.
16731
16732 2011-03-08  Bruno Haible  <bruno@clisp.org>
16733
16734         regex-quote: New API.
16735         * lib/regex-quote.h: Include <stdbool.h>.
16736         (struct regex_quote_spec): New type.
16737         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
16738         New declarations.
16739         (regex_quote_length, regex_quote_copy, regex_quote): Take a
16740         'const struct regex_quote_spec *' argument.
16741         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
16742         (pcre_special): New constant.
16743         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
16744         New functions.
16745         (regex_quote_length, regex_quote_copy, regex_quote): Take a
16746         'const struct regex_quote_spec *' argument.
16747         * modules/regex-quote (Depends-on): Add stdbool.
16748         * tests/test-regex-quote.c (check): Update for new API. Add test for
16749         anchored results.
16750         * NEWS: Mention the API change.
16751         Reported by Reuben Thomas and Eric Blake.
16752
16753 2011-03-06  Bruno Haible  <bruno@clisp.org>
16754
16755         regex-quote: Fix creation of POSIX extended regular expressions.
16756         * lib/regex-quote.c (ere_special): Add grouping and alternation
16757         operators.
16758
16759 2011-03-05  Bruno Haible  <bruno@clisp.org>
16760
16761         doc: Improve doc regarding autopoint vs. gnulib.
16762         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
16763         disable autopoint while running autoreconf.
16764         Suggested by Ralf Wildenhues.
16765
16766 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16767
16768         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
16769         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
16770
16771 2011-03-03  Bruce Korb  <bkorb@gnu.org>
16772
16773         parse-duration: remove xalloc.h dependency
16774         * lib/parse-duration.c (parse_period): handle NULL return from
16775         strdup instead of calling xstrdup().
16776         * modules/parse-duration: remove "xalloc" dependency
16777
16778 2011-03-03  Matthew Booth  <mbooth@redhat.com>
16779
16780         bootstrap: honor m4_base when running aclocal
16781         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
16782
16783 2011-03-02  Jim Meyering  <meyering@redhat.com>
16784
16785         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
16786         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
16787         on request from Matt Booth.
16788
16789 2011-03-01  Eric Blake  <eblake@redhat.com>
16790
16791         test-link: work on Hurd
16792         * tests/test-link.h (test_link): Hurd rejects linking directories
16793         with EISDIR instead of the POSIX-mandated EPERM.
16794
16795 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
16796
16797         stdio: simplify by moving files to printf-posix, sigpipe
16798         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
16799         since this symbol is needed only if printf is replaced.
16800         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
16801         Require gl_ASM_SYMBOL_PREFIX.
16802         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
16803         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
16804         (Depends-on): Add 'raise'.
16805         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
16806         * modules/stdio (Files): Remove lib/stdio-write.c,
16807         m4/asm-underscore.m4.
16808         (Depends-on): Remove 'raise'.
16809
16810         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
16811         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
16812         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
16813         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
16814
16815 2011-02-28  Bruno Haible  <bruno@clisp.org>
16816
16817         localcharset: Assume ANSI C behaviour of free().
16818         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
16819         calling free().
16820         Suggested by Simon Josefsson <simon@josefsson.org>.
16821
16822 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
16823             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
16824             Bruno Haible  <bruno@clisp.org>  (tiny change)
16825
16826         On Cygwin, use /proc file system instead of win32 API.
16827         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
16828         Win32 file names.
16829         (DllMain): Simplify by removing Cygwin specific code.
16830         (find_shared_library_fullname): Use Linux specific implementation also
16831         for Cygwin.
16832         (get_shared_library_fullname): Update accordingly.
16833         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
16834         Win32 file names.
16835         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
16836         Cygwin specific code.
16837
16838 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
16839             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
16840
16841         Fix OpenMP flag detection for various Fortran compilers.
16842         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
16843         OpenMP-conditional compilation construct, to force compile
16844         failure with missing OpenMP flag.
16845         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
16846
16847 2011-02-25  Eric Blake  <eblake@redhat.com>
16848
16849         strstr: expand test coverage
16850         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
16851         compilation.
16852         * tests/test-memmem.c (main): Duplicate tests.
16853         * tests/test-strcasestr.c (main): Likewise.
16854         * tests/test-c-strcasestr.c (main): Likewise.
16855
16856 2011-02-25  Jim Meyering  <meyering@redhat.com>
16857
16858         maint.mk: detect missing-NL-at-EOF, too
16859         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
16860         it also detects when a file lacks a newline at EOF.
16861         (require_exactly_one_NL_at_EOF_): Renamed from
16862         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
16863         since people may well have .x-sc_... file names tied to the
16864         existing name.  Suggested by Eric Blake.
16865
16866 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
16867
16868         dirname: move m4/dos.m4 functionality into lib/dosname.h
16869
16870         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
16871         extracts symbols from it, puts them into config.h; but it's much
16872         easier to use the symbols directly.  filename.h already does this,
16873         but it disagrees with dos.m4 in some respects.  This patch
16874         introduces a different include file dosname.h that packages up
16875         dos.m4, and then later we can work on merging filename.h and
16876         dosname.h.  Applications that need only the easy-to-configure
16877         symbols should consider including dosname.h rather than dirname.h.
16878         * NEWS: Mention incompatible changes.
16879         * m4/dos.m4: Remove.
16880         * lib/dosname.h, modules/dosname: New files.
16881         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
16882         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
16883         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
16884         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
16885         Include dosname.h, not dirname.h.
16886         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
16887         Include dosname.h, for definitions of symbols like ISSLASH
16888         that used to be in config.h.
16889         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
16890         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
16891         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
16892         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
16893         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
16894         * modules/rmdir (Files): Likewise.
16895         * modules/stat (Files): Likewise.
16896         * modules/unlink (Files): Likewise.
16897         * modules/dirname-lgpl (Depends-on): Add dosname.
16898         * modules/lstat (Depends-on): Likewise.
16899         * modules/openat (Depends-on): Likewise.
16900         * modules/rmdir (Depends-on): Likewise.
16901         * modules/savewd (Depends-on): Likewise.
16902         * modules/stat (Depends-on): Likewise.
16903         * modules/unlink (Depends-on): Likewise.
16904         * modules/openat (Depends-on): Remove dirname-lgpl.
16905         * modules/savewd (Depends-on): Likewise.
16906         * tests/test-dirname.c: Do not use removed symbols like
16907         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
16908         the remaining symbols, e.g., ISSLASH ('\\').
16909
16910 2011-02-25  Eric Blake  <eblake@redhat.com>
16911
16912         strstr: revert patches that introduced bug and pessimization
16913         * lib/str-two-way.h: Add another reference.
16914         (two_way_short_needle, two_way_long_needle): Revert changes from
16915         2011-02-24; they pessimize search speed.
16916         (critical_factorization): Partially revert changes from
16917         2010-06-22; they violate the requirement that the left half of the
16918         needle be smaller than the period of the needle.
16919
16920 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
16921
16922         filenamecat: remove unnecessary dependency on dirname-lgpl
16923         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
16924         is no direct dependency, just an indirect one via filenamecat-lgpl.
16925
16926         remove: remove unnecessary use of m4/dos.m4
16927         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
16928         * modules/remove (FILES): Remove m4/dos.m4.
16929
16930         * lib/openat-proc.c: Don't include dirname.h; not needed.
16931
16932         backupfile: remove unnecessary use of m4/dos.m4
16933         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
16934         of its symbols are used by the backupfile code.  backupfile.c does
16935         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
16936         for the rare case of programs that want all their backup file
16937         names to live within 8+3 limits, and dos.m4 doesn't address that.
16938         * modules/backupfile (Files): Remove m4/dos.m4.
16939
16940 2011-02-24  Jim Meyering  <meyering@redhat.com>
16941
16942         strstr: fix a bug whereby strstr would mistakenly return NULL
16943         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
16944         in period calculation.
16945         (two_way_long_needle): Likewise.
16946         The original problem was reported by Mike Stump in
16947         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
16948         Ralf Wildenhues provided the short needle and haystack.
16949         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
16950         Add a more involved test to trigger the bug in two_way_long_needle.
16951
16952 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
16953
16954         gnulib-tool: remove use of bold display in help screen
16955         * gnulib-tool (func_usage): Do not use bold display anymore in the
16956         help screen.  That was just meant to be a temporary emphasis for a
16957         backward-incompatible change.
16958
16959 2011-02-23  Bruno Haible  <bruno@clisp.org>
16960
16961         Fix misindentation of preprocessor directives.
16962         * lib/argp-namefrob.h: Reindent preprocessor directives.
16963         * lib/getopt_int.h (struct _getopt_data): Likewise.
16964         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
16965         * lib/vasnprintf.c (decode_long_double): Likewise.
16966         * tests/test-argmatch.c: Insert blank lines, for clarity.
16967         * tests/test-exclude.c: Likewise.
16968
16969 2011-02-22  Bruno Haible  <bruno@clisp.org>
16970
16971         ioctl: Fix for MacOS X in 64-bit mode.
16972         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
16973         value.
16974         Suggested by Eric Blake.
16975         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
16976
16977 2011-02-22  Jim Meyering  <meyering@redhat.com>
16978
16979         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
16980         * Makefile (sc_cpp_indent_check): Don't limit the check to files
16981         in lib/.
16982
16983 2011-02-22  Eric Blake  <eblake@redhat.com>
16984
16985         maint: avoid any CDPATH issue
16986         * Makefile (sc_cpp_indent_check): Anchor cd argument.
16987
16988         maint: adjust cpp indentation for my modules, as well
16989         * Makefile (sc_cpp_indent_check): Add my name.
16990         * lib/fbufmode.c: Filter through cppi.
16991         * lib/fpurge.c: Likewise.
16992         * lib/freadable.c: Likewise.
16993         * lib/freading.c: Likewise.
16994         * lib/fwritable.c: Likewise.
16995         * lib/fwriting.c: Likewise.
16996         * lib/sigaction.c: Likewise.
16997
16998 2011-02-22  Jim Meyering  <meyering@redhat.com>
16999
17000         maint: adjust cpp indentation to reflect nesting depth
17001         I.e., in a block of code that begins with an unnested "#if",
17002         put one space between the "#" in column 1 and following token.
17003         For example,
17004         -#include <sys/vfs.h>
17005         +# include <sys/vfs.h>
17006         Do this only in .c files that are part of a module I maintain.
17007         * lib/linkat.c: Filter through cppi.
17008         * lib/nanosleep.c: Likewise.
17009         * lib/openat.c: Likewise.
17010         * lib/openat-die.c: Likewise.
17011         * lib/dup3.c: Likewise.
17012         * lib/fchownat.c: Likewise.
17013         * lib/flock.c: Likewise.
17014         * lib/fsync.c: Likewise.
17015         * lib/fts.c: Likewise.
17016         * lib/getpass.c: Likewise.
17017         * lib/gettimeofday.c: Likewise.
17018         * lib/userspec.c: Likewise.
17019         * Makefile (sc_cpp_indent_check): New rule, to check this.
17020
17021 2011-02-22  Bruno Haible  <bruno@clisp.org>
17022
17023         New module 'wctomb'.
17024         * lib/stdlib.in.h (wctomb): New declaration.
17025         * lib/wctomb.c: New file.
17026         * lib/wctomb-impl.h: New file.
17027         * m4/wctomb.m4: New file.
17028         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
17029         REPLACE_WCTOMB.
17030         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
17031         REPLACE_WCTOMB.
17032         * modules/wctomb: New file.
17033         * tests/test-stdlib-c++.cc: Test signature of wctomb.
17034         * doc/posix-functions/wctomb.texi: Mention the new module.
17035         * modules/wctob (Depends-on): Add wctomb.
17036
17037 2011-02-22  Bruno Haible  <bruno@clisp.org>
17038
17039         New module 'mbtowc'.
17040         * lib/stdlib.in.h (mbtowc): New declaration.
17041         * lib/mbtowc.c: New file.
17042         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
17043         * m4/mbtowc.m4: New file.
17044         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
17045         REPLACE_MBTOWC.
17046         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
17047         REPLACE_MBTOWC.
17048         * modules/mbtowc: New file.
17049         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
17050         * doc/posix-functions/mbtowc.texi: Mention the new module.
17051         * modules/btowc (Depends-on): Add mbtowc.
17052
17053 2011-02-22  Bruno Haible  <bruno@clisp.org>
17054
17055         wcrtomb: Add more tests for native Windows platforms.
17056         * tests/test-wcrtomb-w32-1.sh: New file.
17057         * tests/test-wcrtomb-w32-2.sh: New file.
17058         * tests/test-wcrtomb-w32-3.sh: New file.
17059         * tests/test-wcrtomb-w32-4.sh: New file.
17060         * tests/test-wcrtomb-w32-5.sh: New file.
17061         * tests/test-wcrtomb-w32.c: New file.
17062         * modules/wcrtomb-tests (Files): Add them.
17063         (Makefile.am): Arrange to run these tests.
17064         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
17065         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
17066
17067 2011-02-20  Bruno Haible  <bruno@clisp.org>
17068
17069         wcrtomb: Enhance test.
17070         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
17071
17072 2011-02-20  Bruno Haible  <bruno@clisp.org>
17073
17074         mbrtowc: Tiny optimization.
17075         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
17076
17077 2011-02-20  Jim Meyering  <meyering@redhat.com>
17078
17079         test-exclude.c: remove unmatched #endif
17080         * tests/test-exclude.c: Remove stray #endif, left over from
17081         the change of a week ago.
17082
17083 2011-02-19  Jim Meyering  <meyering@redhat.com>
17084
17085         git-version-gen: skip "-dirty" check when appropriate
17086         * build-aux/git-version-gen: Don't run any git commands when the
17087         version string comes from .tarball-version.  Prior to this, we
17088         would run git update-index --refresh even from a just-unpacked
17089         tarball directory, and that could affect a .git/ directory in a
17090         parent of the build directory.  Reported by Mike Frysinger.
17091
17092 2011-02-19  Bruno Haible  <bruno@clisp.org>
17093
17094         unictype/property-byname: Reduce the size of the 'data' segment.
17095         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
17096
17097 2011-02-19  Bruno Haible  <bruno@clisp.org>
17098
17099         unictype/scripts: Reduce the size of the 'data' segment.
17100         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
17101         '%pic'.
17102         * lib/unictype/scripts_byname.gperf: Regenerated.
17103
17104 2011-02-19  Bruno Haible  <bruno@clisp.org>
17105
17106         stdint: Update documentation.
17107         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
17108
17109 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
17110
17111         stdint: omit redundant check for wchar.h
17112         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
17113         always tests whether wchar.h exists, so remove the now-redundant test.
17114
17115 2011-02-18  Bruno Haible  <bruno@clisp.org>
17116
17117         stdint: Cut dependency to module 'wchar'.
17118         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
17119         include the necessary prerequisites.
17120         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
17121         * modules/stdint (Depends-on): Remove wchar.
17122         (Makefile.am): Substitute HAVE_WCHAR_H.
17123         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
17124
17125 2011-02-18  Eric Blake  <eblake@redhat.com>
17126
17127         longlong: skip, rather than fail, on cross-compilation
17128         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
17129         when cross-compiling; regression from 2011-02-16.
17130
17131 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
17132
17133         * NEWS: Mention 2011-02-08 change to stdlib.
17134
17135 2011-02-17  Bruno Haible  <bruno@clisp.org>
17136
17137         getloadavg: Add comments about platforms.
17138         * m4/getloadavg.m4: Add comment.
17139         * lib/getloadavg.c: Likewise.
17140
17141 2011-02-17  Bruno Haible  <bruno@clisp.org>
17142
17143         getloadavg: Fix link error on Solaris 2.6.
17144         * modules/getloadavg (Link): New section.
17145         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
17146         linking test-getloadavg.
17147         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
17148         getloadavg.
17149
17150 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
17151
17152         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
17153         It was 'int', but this doesn't match the IRIX 6.5 manual.
17154         Suggested by Bruno Haible in
17155         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
17156
17157 2011-02-17  Bruno Haible  <bruno@clisp.org>
17158
17159         havelib: Fix comments.
17160         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
17161         change.
17162
17163 2011-02-17  Bruno Haible  <bruno@clisp.org>
17164
17165         havelib: Update config.rpath.
17166         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
17167
17168 2011-02-17  Bruno Haible  <bruno@clisp.org>
17169
17170         getloadavg test: Add some plausibility checks.
17171         * tests/test-getloadavg.c (check_avg): Print a warning when the value
17172         is improbable.
17173
17174 2011-02-16  Eric Blake  <eblake@redhat.com>
17175
17176         maintainer-makefile: make syntax-check a no-op from tarballs
17177         * top/maint.mk (no-vc-detected): New rule.
17178         (local-checks-available): Use it to avoid hanging if someone tries
17179         'make syntax-check' from a tarball.  Also append to any non-syntax
17180         checks already defined in cfg.mk.
17181
17182 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
17183
17184         longlong: tune, particularly for common case of c99
17185
17186         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
17187         or running anything if c99, or if unsigned long long int does not
17188         work.  In either case, we know the answer without further tests.
17189         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
17190         it at most once, and use its results for both long long int and
17191         unsigned long long int.  This is more likely to be efficient in
17192         the common case where the program wants to check for both long
17193         long int and unsigned long long int.
17194         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
17195         since the answer is already known.
17196
17197 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
17198
17199         getloadavg: set errno
17200         * lib/getloadavg.c: Set errno when returning -1.  If no other
17201         error number looks appropriate, set it to ENOSYS if the getloadavg
17202         looks like it can't possibly ever work, ENOTSUP otherwise.
17203         Suggested by Bruno Haible in
17204         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
17205
17206         getloadavg: trim unused parts and speed up 'configure'
17207         * NEWS: Document this.
17208         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
17209         always compiled if getloadavg is absent.
17210         Move test code to ...
17211         * tests/test-getloadavg.c: New file, containing previous
17212         contents of test from lib/getloadavg.c.  It also contains
17213         suggestions by Bruno Haible in
17214         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
17215         * modules/getloadavg-tests: New file.
17216         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
17217         Do tests in the same order as they're needed for getloadavg.c.
17218         Omit setgid-related tests that generate symbols KMEM_GROUP,
17219         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
17220         Do only the tests that are needed to see whether the system has
17221         getloadavg, moving the other tests into ...
17222         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
17223         NLIST_NAME_UNION; nobody should be using it.  Do not define
17224         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
17225         relevant, as the user of this module shouldn't care how getloadavg
17226         is implemented.
17227
17228         getloadavg: omit unused var
17229         * lib/getloadavg.c (getloadavg): Omit unused local variable.
17230
17231 2011-02-15  Jim Meyering  <meyering@redhat.com>
17232
17233         doc: update users.txt
17234         * users.txt: Update iwhd's URL.
17235
17236 2011-02-13  Bruno Haible  <bruno@clisp.org>
17237
17238         Consistent macro naming for macros that use GCC __attribute__.
17239         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
17240         _ATTRIBUTE_NONNULL_.
17241         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
17242         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
17243         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
17244         ATTRIBUTE_DEPRECATED.
17245         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
17246         ATTRIBUTE_NORETURN.
17247         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17248         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17249         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17250         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17251         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
17252         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
17253         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
17254         ATTRIBUTE_SENTINEL.
17255         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
17256         ATTRIBUTE_RETURN_CHECK.
17257         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
17258         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
17259         ATTRIBUTE_NORETURN.
17260         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
17261         Reported by Paul Eggert.
17262
17263 2011-02-13  Bruno Haible  <bruno@clisp.org>
17264
17265         Don't interfere with a program's definition of __attribute__.
17266         * lib/argp.h (__attribute__): Remove definition.
17267         (_GL_ATTRIBUTE_FORMAT): New macro.
17268         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
17269         * lib/argp-fmtstream.h (__attribute__): Remove definition.
17270         (_GL_ATTRIBUTE_FORMAT): New macro.
17271         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
17272         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
17273         GCC 3 or newer.
17274         * lib/error.h (__attribute__): Remove definition.
17275         (_GL_ATTRIBUTE_FORMAT): New macro.
17276         (error, error_at_line): Use it.
17277         * lib/hash.h (__attribute__): Remove definition.
17278         (ATTRIBUTE_WUR): Update definition. Define always.
17279         * lib/openat.h (__attribute__): Remove definition.
17280         (ATTRIBUTE_NORETURN): Update definition. Define always.
17281         * lib/sigpipe-die.h (__attribute__): Remove definition.
17282         (ATTRIBUTE_NORETURN): Update definition. Define always.
17283         * lib/vasnprintf.h (__attribute__): Remove definition.
17284         (_GL_ATTRIBUTE_FORMAT): New macro.
17285         (asnprintf, vasnprintf): Use it.
17286         * lib/xalloc.h (__attribute__): Remove definition.
17287         (ATTRIBUTE_NORETURN): Update definition. Define always.
17288         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
17289         * lib/xmemdup0.h (__attribute__): Remove definition.
17290         (ATTRIBUTE_NORETURN): Update definition. Define always.
17291         * lib/xprintf.h (__attribute__): Remove definition.
17292         (_GL_ATTRIBUTE_FORMAT): New macro.
17293         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
17294         * lib/xstrtol.h (__attribute__): Remove definition.
17295         (ATTRIBUTE_NORETURN): Update definition. Define always.
17296         * lib/xvasprintf.h (__attribute__): Remove definition.
17297         (_GL_ATTRIBUTE_FORMAT): New macro.
17298         (xasprintf, xvasprintf): Use it.
17299         * tests/test-argmatch.c (__attribute__): Remove definition.
17300         (ATTRIBUTE_NORETURN): Update definition. Define always.
17301         * tests/test-exclude.c (__attribute__): Remove definition.
17302         (ATTRIBUTE_NORETURN): Update definition. Define always.
17303         Reported by Paul Eggert.
17304
17305 2011-02-13  Bruno Haible  <bruno@clisp.org>
17306
17307         mbrtowc: Add more tests for native Windows platforms.
17308         * tests/test-mbrtowc-w32-1.sh: New file.
17309         * tests/test-mbrtowc-w32-2.sh: New file.
17310         * tests/test-mbrtowc-w32-3.sh: New file.
17311         * tests/test-mbrtowc-w32-4.sh: New file.
17312         * tests/test-mbrtowc-w32-5.sh: New file.
17313         * tests/test-mbrtowc-w32.c: New file.
17314         * modules/mbrtowc-tests (Files): Add them.
17315         (Makefile.am): Arrange to run these tests.
17316         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
17317         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
17318
17319 2011-02-13  Bruno Haible  <bruno@clisp.org>
17320
17321         mbrtowc: Work around native Windows bug.
17322         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
17323         guess when no suitable locale for testing was found.
17324         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
17325
17326 2011-02-13  Bruno Haible  <bruno@clisp.org>
17327
17328         mbsinit: Work around mingw bug.
17329         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
17330         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
17331         Windows.
17332         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
17333
17334 2011-02-13  Bruno Haible  <bruno@clisp.org>
17335
17336         mbsinit: Don't crash for a NULL argument.
17337         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
17338         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
17339
17340 2011-02-13  Bruno Haible  <bruno@clisp.org>
17341
17342         Don't interfere with a program's definition of __attribute__.
17343         * lib/stdio.in.h (__attribute__): Remove definition.
17344         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
17345         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
17346         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
17347         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
17348         * lib/string.in.h (__attribute__): Remove definition.
17349         Reported by Paul Eggert.
17350
17351 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
17352
17353         stdlib: don't get in the way of non-GCC __attribute__
17354         See thread starting at
17355         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
17356         Revert previous stdlib change, installing the following instead:
17357         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
17358         to get in the way of a non-GCC compiler that supports __attribute__.
17359         (_GL_ATTRIBUTE_RETURN): New macro.
17360         (_Exit): Use it instead of __attribute__.
17361
17362 2011-02-12  Bruno Haible  <bruno@clisp.org>
17363
17364         quotearg test: Avoid test failure on mingw.
17365         * tests/test-quotearg.sh: Convert the locale identifier from native
17366         Windows syntax to Unix syntax.
17367
17368 2011-02-12  Bruno Haible  <bruno@clisp.org>
17369
17370         setlocale: Prefer gnulib's override over libintl's override.
17371         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
17372         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
17373         GNULIB_defined_setlocale is set.
17374
17375 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
17376
17377         stdlib: support non-GCC __attribute__
17378
17379         Fix a serious and tricky problem encountered when attempting to
17380         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
17381         5.5, but it crashed due to memory corruption on Solaris 10 with
17382         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
17383         bits that are otherwise zero.  This tagging is optional inside
17384         Emacs but is preferred and is used when __attribute__ ((__aligned
17385         (8))) works, as it does with both recent-enough GCC and with Sun C
17386         5.11.  However, Sun C 5.11 is not GCC and does not #define
17387         __GNUC__ and __GNUC_MINOR__.
17388
17389         When I added the getloadavg module to Emacs, it brought in
17390         stdlib.in.h, which contained this fragment:
17391
17392            #ifndef __attribute__
17393            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
17394            #  define __attribute__(Spec)   /* empty */
17395            # endif
17396            #endif
17397
17398         When files that include <stdlib.h> were compiled with Sun C 5.11,
17399         the above code disabled __attribute__ ((__aligned (8))), which
17400         caused variables to not be properly aligned, which eventually led
17401         to the pointer corruption mentioned above.  (This was a bit hard
17402         to diagnose, unfortunately.)
17403
17404         Several "#define __attribute__(X) /* empty */" code snippets need
17405         to be eradicated from Gnulib to work with non-GCC compilers that
17406         support __attribute__.  The Autoconf way to do this is to test for
17407         each kind of attribute that we want support for, and selectively
17408         enable that in source code.
17409
17410         Fix this problem just for stdlib.h, by adding a test for the
17411         __noreturn__ attribute, and change stdlib.in.h to use that test
17412         when needed.  This technique can be easily generalized to the
17413         other *.in.h files and attributes, and a similar technique can be
17414         used for *.h and *.c files.  This patch is enough to solve the
17415         problem for Emacs + getloadavg, and I thought I'd publish it for
17416         feedback before undertaking further, similar fixes in other
17417         modules.
17418
17419         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
17420         because it's not needed for stdlib.h.  It merely substitutes the
17421         value directly into stdlib.h.  We may well need to #define it, or
17422         similar symbols, for other modules, but it's nice to also have an
17423         option to not #define it for applications like Emacs that do not
17424         need it.
17425
17426         * lib/stdlib.in.h (__attribute__): Do not #define.
17427         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
17428         be defined only if the _Exit module is also used.
17429         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
17430         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
17431         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
17432         platforms.
17433         * modules/_Exit (Files): Add m4/attribute.m4.
17434         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
17435         * m4/attribute.m4: New file.
17436
17437 2011-02-12  Bruno Haible  <bruno@clisp.org>
17438
17439         wcsrtombs: Work around bug on native Windows.
17440         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
17441         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
17442         instead of len.
17443         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
17444
17445 2011-02-12  Bruno Haible  <bruno@clisp.org>
17446
17447         mbsrtowcs: Work around bug on native Windows.
17448         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
17449         against mingw bug.
17450         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
17451
17452 2011-02-12  Bruno Haible  <bruno@clisp.org>
17453
17454         Avoid setlocale bugs in tests.
17455         * modules/btowc (Dependencies): Add setlocale.
17456         * modules/c-strcase (Dependencies): Likewise.
17457         * modules/mbmemcasecmp (Dependencies): Likewise.
17458         * modules/mbmemcasecoll (Dependencies): Likewise.
17459         * modules/mbrtowc (Dependencies): Likewise.
17460         * modules/mbscasecmp (Dependencies): Likewise.
17461         * modules/mbscasestr (Dependencies): Likewise.
17462         * modules/mbschr (Dependencies): Likewise.
17463         * modules/mbscspn (Dependencies): Likewise.
17464         * modules/mbsinit (Dependencies): Likewise.
17465         * modules/mbsncasecmp (Dependencies): Likewise.
17466         * modules/mbsnrtowcs (Dependencies): Likewise.
17467         * modules/mbspbrk (Dependencies): Likewise.
17468         * modules/mbspcasecmp (Dependencies): Likewise.
17469         * modules/mbsrchr (Dependencies): Likewise.
17470         * modules/mbsrtowcs (Dependencies): Likewise.
17471         * modules/mbsspn (Dependencies): Likewise.
17472         * modules/mbsstr (Dependencies): Likewise.
17473         * modules/nl_langinfo (Dependencies): Likewise.
17474         * modules/quotearg (Dependencies): Likewise.
17475         * modules/unicase/locale-language (Dependencies): Likewise.
17476         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
17477         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
17478         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
17479         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
17480         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
17481         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
17482         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
17483         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
17484         * modules/vasnprintf-posix (Dependencies): Likewise.
17485         * modules/wcrtomb (Dependencies): Likewise.
17486         * modules/wcsnrtombs (Dependencies): Likewise.
17487         * modules/wcsrtombs (Dependencies): Likewise.
17488
17489 2011-02-12  Bruno Haible  <bruno@clisp.org>
17490
17491         setlocale: Workaround native Windows bug.
17492         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
17493         succeeds but sets LC_CTYPE to "C", report a failure.
17494         * tests/test-setlocale2.sh: New file.
17495         * tests/test-setlocale2.c: New file.
17496         * modules/setlocale-tests (Files): Add the new files.
17497         (Makefile.am): Enable test-setlocale2.sh test.
17498         * doc/posix-functions/setlocale.texi: Mention workaround.
17499
17500 2011-02-11  Bruno Haible  <bruno@clisp.org>
17501
17502         Tests for module 'setlocale'.
17503         * modules/setlocale-tests: New file.
17504         * tests/test-setlocale1.sh: New file.
17505         * tests/test-setlocale1.c: New file.
17506
17507         New module 'setlocale'.
17508         * lib/locale.in.h (setlocale): New declaration.
17509         * lib/setlocale.c: New file, based on
17510         gettext/gettext-runtime/intl/setlocale.c.
17511         * m4/setlocale.m4: New file.
17512         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
17513         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
17514         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
17515         REPLACE_SETLOCALE.
17516         * modules/setlocale: New file.
17517         * tests/test-locale-c++.cc: Test the declaration of setlocale.
17518         * doc/posix-functions/setlocale.texi: Mention the new module.
17519
17520 2011-02-11  Bruno Haible  <bruno@clisp.org>
17521
17522         Prepare for locale dependent tests on mingw.
17523         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
17524         because it has the wrong locale encoding.
17525         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
17526         French_France.1252 instead of "fr".
17527         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
17528         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
17529         because it has the wrong locale encoding.
17530         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
17531         native Windows, try Turkish_Turkey.65001.
17532         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
17533         Chinese_China.54936.
17534
17535         Prepare for locale dependent tests on mingw.
17536         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
17537         differently.
17538         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
17539         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
17540         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
17541         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
17542
17543 2011-02-11  Eric Blake  <eblake@redhat.com>
17544
17545         strptime: avoid compiler warnings
17546         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
17547         compiler warnings about dead code.
17548         Reported by Daniel P. Berrange.
17549
17550 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
17551
17552         doc: update users.txt
17553         * users.txt: Add rcs.
17554
17555 2011-02-10  John W. Eaton  <jwe@gnu.org>
17556
17557         doc: update users.txt
17558         * users.txt: Add octave.
17559
17560 2011-02-10  Jim Meyering  <meyering@redhat.com>
17561
17562         doc: update users.txt
17563         * users.txt: Add iwhd.
17564
17565 2011-02-09  Bruno Haible  <bruno@clisp.org>
17566
17567         gnulib-tool: Make copyright notice adjustment more robust.
17568         * gnulib-tool (func_import): In sed_transform_main_lib_file,
17569         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
17570         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
17571         License".
17572         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
17573
17574 2011-02-06  Bruno Haible  <bruno@clisp.org>
17575
17576         New module 'towctrans'.
17577         * modules/towctrans: New file.
17578         * lib/wctype.in.h (towctrans): New declaration.
17579         * lib/towctrans.c: New file.
17580         * lib/towctrans-impl.h: New file.
17581         * m4/towctrans.m4: New file.
17582         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
17583         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
17584         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
17585         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
17586         * doc/posix-functions/towctrans.texi: Mention the new module.
17587
17588 2011-02-06  Bruno Haible  <bruno@clisp.org>
17589
17590         New module 'wctrans'.
17591         * modules/wctrans: New file.
17592         * lib/wctype.in.h (wctrans): New declaration.
17593         * lib/wctrans.c: New file.
17594         * lib/wctrans-impl.h: New file.
17595         * m4/wctrans.m4: New file.
17596         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
17597         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
17598         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
17599         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
17600         * doc/posix-functions/wctrans.texi: Mention the new module.
17601
17602 2011-02-06  Bruno Haible  <bruno@clisp.org>
17603
17604         New module 'iswctype'.
17605         * modules/iswctype: New file.
17606         * lib/wctype.in.h (iswctype): New declaration.
17607         * lib/iswctype.c: New file.
17608         * lib/iswctype-impl.h: New file.
17609         * m4/iswctype.m4: New file.
17610         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
17611         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
17612         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
17613         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
17614         * doc/posix-functions/iswctype.texi: Mention the new module and the
17615         HP-UX 11.00 problem.
17616
17617 2011-02-06  Bruno Haible  <bruno@clisp.org>
17618
17619         New module 'wctype'.
17620         * modules/wctype: Change to represent the wctype() substitute.
17621         * lib/wctype.in.h (wctype): New declaration.
17622         * lib/wctype.c: New file.
17623         * lib/wctype-impl.h: New file.
17624         * m4/wctype.m4: New file.
17625         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
17626         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
17627         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
17628         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
17629         * doc/posix-functions/wctype.texi: Mention the new module and the
17630         HP-UX 11.00 problem.
17631
17632 2011-02-06  Bruno Haible  <bruno@clisp.org>
17633
17634         wctype-h: Ensure wctype_t and wctrans_t are defined.
17635         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
17636         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
17637         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
17638         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
17639         HAVE_WCTRANS_T.
17640         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
17641
17642 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
17643
17644         flock: fix license typo
17645
17646         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
17647         omitted.
17648
17649 2011-02-08  Bruno Haible  <bruno@clisp.org>
17650
17651         Split large sed scripts, for HP-UX sed.
17652         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
17653         to avoid HP-UX limit of 99 commands, in the near future.
17654         * modules/stdlib (Makefile.am): Likewise.
17655         * modules/unistd (Makefile.am): Likewise.
17656         * modules/wchar (Makefile.am): Likewise.
17657         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17658         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
17659         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
17660
17661 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
17662             Bruno Haible  <bruno@clisp.org>
17663
17664         stdlib: improve random_r modularization
17665         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
17666         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
17667         you also need the random_r module to get this material right.
17668         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
17669         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
17670         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
17671
17672 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
17673
17674         stdlib: don't depend on stdint
17675         * lib/stdlib.in.h: Don't include <stdint.h> merely because
17676         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
17677         be independent of whether stdint.h is needed.
17678         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
17679         here, instead of ...
17680         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
17681         struct random_data should be using the random_r module, not just
17682         the stdlib module (which wouldn't make sense: what package needs
17683         just struct random_data without also needing random_r?).
17684         * modules/stdlib (Depends-on): Remove stdint.
17685
17686         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
17687         See the thread rooted at
17688         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
17689         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
17690         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
17691         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
17692         __VMS)); previously it was always included (via fcntl--.h).
17693         (getloadavg): Do not use c_strtod.  Instead, approximate it by
17694         hand; this is good enough for load averages.  Also, do not use
17695         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
17696         flags directly if available and don't bother otherwise.  (Packages
17697         that need the extra reliability should use the modules that define
17698         these flags on older platforms that lack them.)
17699         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
17700         fcntl-safer.
17701
17702 2011-02-08  Jim Meyering  <meyering@redhat.com>
17703
17704         di-set.h, ino-map.h: add multiple-inclusion guard
17705         Technically, the guard is required only for ino-map.h, due to its
17706         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
17707         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
17708         * lib/ino-map.h: Likewise.
17709
17710 2011-02-06  Bruno Haible  <bruno@clisp.org>
17711
17712         iswblank: Ensure declaration on glibc systems.
17713         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
17714         * modules/iswblank (Dependencies): Add 'extensions'.
17715         * doc/posix-functions/iswblank.texi: Document the glibc problem.
17716
17717 2011-02-06  Bruno Haible  <bruno@clisp.org>
17718
17719         New module 'iswblank'.
17720         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
17721         * modules/iswblank: New file.
17722         * modules/wctype-h (Files): Remove lib/iswblank.c.
17723         (Makefile.am): Substitute GNULIB_ISWBLANK.
17724         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
17725         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
17726         (gl_WCTYPE_H_DEFAULTS): New macro.
17727         (gl_WCTYPE_H): Require it. Remove iswblank related code.
17728         * modules/iswblank-tests: New file.
17729         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
17730         * tests/test-wctype-h.c (main): Remove iswblank tests.
17731         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
17732         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
17733         of 'wctype-h'.
17734         * NEWS: Mention the change.
17735         * modules/mbchar (Depends-on): Add iswblank.
17736
17737 2011-02-08  Bruno Haible  <bruno@clisp.org>
17738
17739         di-set tests: Refactor.
17740         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
17741         unnecessary includes.
17742         (ASSERT): Remove macro.
17743         (main): Make C90 compliant by avoiding variable declaration after
17744         statement.
17745         * modules/di-set-tests (Files): Add tests/macros.h.
17746
17747 2011-02-08  Bruno Haible  <bruno@clisp.org>
17748
17749         ino-map tests: Refactor.
17750         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
17751         unnecessary includes.
17752         (ASSERT): Remove macro.
17753         (main): Make C90 compliant by avoiding variable declaration after
17754         statement.
17755         * modules/ino-map-tests (Files): Add tests/macros.h.
17756
17757 2011-02-08  Jim Meyering  <meyering@redhat.com>
17758
17759         di-set: add "const" to a cast
17760         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
17761         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
17762
17763 2011-02-06  Bruno Haible  <bruno@clisp.org>
17764
17765         Rename module 'wctype' to 'wctype-h'.
17766         * modules/wctype-h: Renamed from modules/wctype.
17767         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
17768         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
17769         (Files, Depends-on, Makefile.am): Update.
17770         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
17771         (Files, Makefile.am): Update.
17772         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
17773         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
17774         * doc/posix-headers/wctype.texi: Update.
17775         * doc/posix-functions/iswalnum.texi: Update.
17776         * doc/posix-functions/iswalpha.texi: Update.
17777         * doc/posix-functions/iswblank.texi: Update.
17778         * doc/posix-functions/iswcntrl.texi: Update.
17779         * doc/posix-functions/iswdigit.texi: Update.
17780         * doc/posix-functions/iswgraph.texi: Update.
17781         * doc/posix-functions/iswlower.texi: Update.
17782         * doc/posix-functions/iswprint.texi: Update.
17783         * doc/posix-functions/iswpunct.texi: Update.
17784         * doc/posix-functions/iswspace.texi: Update.
17785         * doc/posix-functions/iswupper.texi: Update.
17786         * doc/posix-functions/iswxdigit.texi: Update.
17787         * doc/posix-functions/towlower.texi: Update.
17788         * doc/posix-functions/towupper.texi: Update.
17789         * NEWS: Mention the change.
17790         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
17791         * modules/mbchar (Dependencies): Likewise.
17792         * modules/mbswidth (Dependencies): Likewise.
17793         * modules/quotearg (Dependencies): Likewise.
17794         * modules/regex (Dependencies): Likewise.
17795         * modules/wcscasecmp (Dependencies): Likewise.
17796         * modules/wcsncasecmp (Dependencies): Likewise.
17797         * modules/wcwidth (Dependencies): Likewise.
17798
17799 2011-02-06  Bruno Haible  <bruno@clisp.org>
17800
17801         New module 'wcswidth'.
17802         * modules/wcswidth: New file.
17803         * lib/wchar.in.h (wcswidth): New declaration.
17804         * lib/wcswidth.c: New file.
17805         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
17806         * m4/wcswidth.m4: New file.
17807         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
17808         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
17809         REPLACE_WCSWIDTH.
17810         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
17811         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
17812         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
17813         * doc/posix-functions/wcswidth.texi: Mention the new module.
17814
17815 2011-02-06  Bruno Haible  <bruno@clisp.org>
17816
17817         New module 'wcstok'.
17818         * modules/wcstok: New file.
17819         * lib/wchar.in.h (wcstok): New declaration.
17820         * lib/wcstok.c: New file.
17821         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
17822         * m4/wcstok.m4: New file.
17823         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
17824         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
17825         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
17826         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
17827         * doc/posix-functions/wcstok.texi: Mention the new module.
17828
17829 2011-02-06  Bruno Haible  <bruno@clisp.org>
17830
17831         New module 'wcsstr'.
17832         * modules/wcsstr: New file.
17833         * lib/wchar.in.h (wcsstr): New declaration.
17834         * lib/wcsstr.c: New file.
17835         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
17836         * m4/wcsstr.m4: New file.
17837         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
17838         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
17839         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
17840         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
17841         * doc/posix-functions/wcsstr.texi: Mention the new module.
17842
17843 2011-02-06  Bruno Haible  <bruno@clisp.org>
17844
17845         New module 'wcspbrk'.
17846         * modules/wcspbrk: New file.
17847         * lib/wchar.in.h (wcspbrk): New declaration.
17848         * lib/wcspbrk.c: New file.
17849         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
17850         * m4/wcspbrk.m4: New file.
17851         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
17852         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
17853         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
17854         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
17855         * doc/posix-functions/wcspbrk.texi: Mention the new module.
17856
17857 2011-02-06  Bruno Haible  <bruno@clisp.org>
17858
17859         New module 'wcsspn'.
17860         * modules/wcsspn: New file.
17861         * lib/wchar.in.h (wcsspn): New declaration.
17862         * lib/wcsspn.c: New file.
17863         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
17864         * m4/wcsspn.m4: New file.
17865         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
17866         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
17867         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
17868         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
17869         * doc/posix-functions/wcsspn.texi: Mention the new module.
17870
17871 2011-02-06  Bruno Haible  <bruno@clisp.org>
17872
17873         New module 'wcscspn'.
17874         * modules/wcscspn: New file.
17875         * lib/wchar.in.h (wcscspn): New declaration.
17876         * lib/wcscspn.c: New file.
17877         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
17878         * m4/wcscspn.m4: New file.
17879         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
17880         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
17881         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
17882         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
17883         * doc/posix-functions/wcscspn.texi: Mention the new module.
17884
17885 2011-02-06  Bruno Haible  <bruno@clisp.org>
17886
17887         New module 'wcsrchr'.
17888         * modules/wcsrchr: New file.
17889         * lib/wchar.in.h (wcsrchr): New declaration.
17890         * lib/wcsrchr.c: New file.
17891         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
17892         * m4/wcsrchr.m4: New file.
17893         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
17894         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
17895         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
17896         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
17897         * doc/posix-functions/wcsrchr.texi: Mention the new module.
17898
17899 2011-02-06  Bruno Haible  <bruno@clisp.org>
17900
17901         New module 'wcschr'.
17902         * modules/wcschr: New file.
17903         * lib/wchar.in.h (wcschr): New declaration.
17904         * lib/wcschr.c: New file.
17905         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
17906         * m4/wcschr.m4: New file.
17907         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
17908         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
17909         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
17910         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
17911         * doc/posix-functions/wcschr.texi: Mention the new module.
17912
17913 2011-02-06  Bruno Haible  <bruno@clisp.org>
17914
17915         New module 'wcsdup'.
17916         * modules/wcsdup: New file.
17917         * lib/wchar.in.h (wcsdup): New declaration.
17918         * lib/wcsdup.c: New file.
17919         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
17920         * m4/wcsdup.m4: New file.
17921         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
17922         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
17923         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
17924         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
17925         * doc/posix-functions/wcsdup.texi: Mention the new module.
17926
17927 2011-02-06  Bruno Haible  <bruno@clisp.org>
17928
17929         New module 'wcsxfrm'.
17930         * modules/wcsxfrm: New file.
17931         * lib/wchar.in.h (wcsxfrm): New declaration.
17932         * lib/wcsxfrm.c: New file.
17933         * lib/wcsxfrm-impl.h: New file.
17934         * m4/wcsxfrm.m4: New file.
17935         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
17936         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
17937         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
17938         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
17939         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
17940
17941 2011-02-06  Bruno Haible  <bruno@clisp.org>
17942
17943         New module 'wcscoll'.
17944         * modules/wcscoll: New file.
17945         * lib/wchar.in.h (wcscoll): New declaration.
17946         * lib/wcscoll.c: New file.
17947         * lib/wcscoll-impl.h: New file.
17948         * m4/wcscoll.m4: New file.
17949         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
17950         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
17951         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
17952         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
17953         * doc/posix-functions/wcscoll.texi: Mention the new module.
17954
17955 2011-02-06  Bruno Haible  <bruno@clisp.org>
17956
17957         New module 'wcsncasecmp'.
17958         * modules/wcsncasecmp: New file.
17959         * lib/wchar.in.h (wcsncasecmp): New declaration.
17960         * lib/wcsncasecmp.c: New file.
17961         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
17962         * m4/wcsncasecmp.m4: New file.
17963         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
17964         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
17965         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
17966         HAVE_WCSNCASECMP.
17967         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
17968         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
17969
17970 2011-02-06  Bruno Haible  <bruno@clisp.org>
17971
17972         New module 'wcscasecmp'.
17973         * modules/wcscasecmp: New file.
17974         * lib/wchar.in.h (wcscasecmp): New declaration.
17975         * lib/wcscasecmp.c: New file.
17976         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
17977         * m4/wcscasecmp.m4: New file.
17978         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
17979         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
17980         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
17981         HAVE_WCSCASECMP.
17982         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
17983         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
17984
17985 2011-02-05  Bruno Haible  <bruno@clisp.org>
17986
17987         New module 'wcsncmp'.
17988         * modules/wcsncmp: New file.
17989         * lib/wchar.in.h (wcsncmp): New declaration.
17990         * lib/wcsncmp.c: New file.
17991         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
17992         * m4/wcsncmp.m4: New file.
17993         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
17994         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
17995         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
17996         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
17997         * doc/posix-functions/wcsncmp.texi: Mention the new module.
17998
17999 2011-02-05  Bruno Haible  <bruno@clisp.org>
18000
18001         New module 'wcscmp'.
18002         * modules/wcscmp: New file.
18003         * lib/wchar.in.h (wcscmp): New declaration.
18004         * lib/wcscmp.c: New file.
18005         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
18006         * m4/wcscmp.m4: New file.
18007         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
18008         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
18009         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
18010         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
18011         * doc/posix-functions/wcscmp.texi: Mention the new module.
18012
18013 2011-02-05  Bruno Haible  <bruno@clisp.org>
18014
18015         New module 'wcsncat'.
18016         * modules/wcsncat: New file.
18017         * lib/wchar.in.h (wcsncat): New declaration.
18018         * lib/wcsncat.c: New file.
18019         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
18020         * m4/wcsncat.m4: New file.
18021         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
18022         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
18023         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
18024         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
18025         * doc/posix-functions/wcsncat.texi: Mention the new module.
18026
18027 2011-02-05  Bruno Haible  <bruno@clisp.org>
18028
18029         New module 'wcscat'.
18030         * modules/wcscat: New file.
18031         * lib/wchar.in.h (wcscat): New declaration.
18032         * lib/wcscat.c: New file.
18033         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
18034         * m4/wcscat.m4: New file.
18035         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
18036         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
18037         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
18038         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
18039         * doc/posix-functions/wcscat.texi: Mention the new module.
18040
18041 2011-02-05  Bruno Haible  <bruno@clisp.org>
18042
18043         New module 'wcpncpy'.
18044         * modules/wcpncpy: New file.
18045         * lib/wchar.in.h (wcpncpy): New declaration.
18046         * lib/wcpncpy.c: New file.
18047         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
18048         * m4/wcpncpy.m4: New file.
18049         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
18050         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
18051         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
18052         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
18053         * doc/posix-functions/wcpncpy.texi: Mention the new module.
18054
18055 2011-02-05  Bruno Haible  <bruno@clisp.org>
18056
18057         New module 'wcsncpy'.
18058         * modules/wcsncpy: New file.
18059         * lib/wchar.in.h (wcsncpy): New declaration.
18060         * lib/wcsncpy.c: New file.
18061         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
18062         * m4/wcsncpy.m4: New file.
18063         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
18064         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
18065         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
18066         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
18067         * doc/posix-functions/wcsncpy.texi: Mention the new module.
18068
18069 2011-02-05  Bruno Haible  <bruno@clisp.org>
18070
18071         New module 'wcpcpy'.
18072         * modules/wcpcpy: New file.
18073         * lib/wchar.in.h (wcpcpy): New declaration.
18074         * lib/wcpcpy.c: New file.
18075         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
18076         * m4/wcpcpy.m4: New file.
18077         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
18078         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
18079         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
18080         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
18081         * doc/posix-functions/wcpcpy.texi: Mention the new module.
18082
18083 2011-02-05  Bruno Haible  <bruno@clisp.org>
18084
18085         New module 'wcscpy'.
18086         * modules/wcscpy: New file.
18087         * lib/wchar.in.h (wcscpy): New declaration.
18088         * lib/wcscpy.c: New file.
18089         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
18090         * m4/wcscpy.m4: New file.
18091         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
18092         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
18093         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
18094         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
18095         * doc/posix-functions/wcscpy.texi: Mention the new module.
18096
18097 2011-02-05  Bruno Haible  <bruno@clisp.org>
18098
18099         New module 'wcsnlen'.
18100         * modules/wcsnlen: New file.
18101         * lib/wchar.in.h (wcsnlen): New declaration.
18102         * lib/wcsnlen.c: New file.
18103         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
18104         * m4/wcsnlen.m4: New file.
18105         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
18106         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
18107         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
18108         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
18109         * doc/posix-functions/wcsnlen.texi: Mention the new module.
18110
18111 2011-02-05  Bruno Haible  <bruno@clisp.org>
18112
18113         New module 'wcslen'.
18114         * modules/wcslen: New file.
18115         * lib/wchar.in.h (wcslen): New declaration.
18116         * lib/wcslen.c: New file.
18117         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
18118         * m4/wcslen.m4: New file.
18119         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
18120         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
18121         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
18122         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
18123         * doc/posix-functions/wcslen.texi: Mention the new module.
18124
18125 2011-02-05  Bruno Haible  <bruno@clisp.org>
18126
18127         New module 'wmemset'.
18128         * modules/wmemset: New file.
18129         * lib/wchar.in.h (wmemset): New declaration.
18130         * lib/wmemset.c: New file.
18131         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
18132         * m4/wmemset.m4: New file.
18133         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
18134         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
18135         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
18136         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
18137         * doc/posix-functions/wmemset.texi: Mention the new module.
18138
18139 2011-02-05  Bruno Haible  <bruno@clisp.org>
18140
18141         New module 'wmemmove'.
18142         * modules/wmemmove: New file.
18143         * lib/wchar.in.h (wmemmove): New declaration.
18144         * lib/wmemmove.c: New file.
18145         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
18146         * m4/wmemmove.m4: New file.
18147         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
18148         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
18149         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
18150         HAVE_WMEMMOVE.
18151         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
18152         * doc/posix-functions/wmemmove.texi: Mention the new module.
18153
18154 2011-02-05  Bruno Haible  <bruno@clisp.org>
18155
18156         New module 'wmemcpy'.
18157         * modules/wmemcpy: New file.
18158         * lib/wchar.in.h (wmemcpy): New declaration.
18159         * lib/wmemcpy.c: New file.
18160         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
18161         * m4/wmemcpy.m4: New file.
18162         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
18163         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
18164         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
18165         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
18166         * doc/posix-functions/wmemcpy.texi: Mention the new module.
18167
18168 2011-02-05  Bruno Haible  <bruno@clisp.org>
18169
18170         New module 'wmemcmp'.
18171         * modules/wmemcmp: New file.
18172         * lib/wchar.in.h (wmemcmp): New declaration.
18173         * lib/wmemcmp.c: New file.
18174         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
18175         * m4/wmemcmp.m4: New file.
18176         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
18177         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
18178         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
18179         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
18180         * doc/posix-functions/wmemcmp.texi: Mention the new module.
18181
18182 2011-02-07  Jim Meyering  <meyering@redhat.com>
18183
18184         di-set, ino-map: new modules, from coreutils
18185         * lib/di-set.c: New file.
18186         * lib/di-set.h: Likewise.
18187         * lib/ino-map.c: Likewise.
18188         * lib/ino-map.h: Likewise.
18189         * modules/di-set: Likewise.
18190         * modules/di-set-tests: Likewise.
18191         * modules/ino-map: Likewise.
18192         * modules/ino-map-tests: Likewise.
18193         * tests/test-di-set.c: Likewise.
18194         * tests/test-ino-map.c: Likewise.
18195
18196 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
18197
18198         getloadavg: merge minor changes from Emacs
18199
18200         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
18201         (getloadavg): Use memset, not bzero.
18202
18203         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
18204         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
18205         clash (bug#86).
18206
18207 2010-11-14  Bruno Haible  <bruno@clisp.org>
18208
18209         Allow multiple gnulib generated replacements to coexist.
18210         * lib/getopt.in.h (struct option): Avoid identical redefinition.
18211         * lib/inttypes.in.h (imaxdiv_t): Likewise.
18212         * lib/langinfo.in.h (nl_item): Likewise.
18213         * lib/math.in.h (_NaN, NAN): Likewise.
18214         * lib/netdb.in.h (struct addrinfo): Likewise.
18215         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
18216         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
18217         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
18218         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
18219         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
18220         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
18221         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
18222         pthread_mutexattr_init, pthread_mutexattr_settype,
18223         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
18224         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
18225         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
18226         pthread_spin_trylock, pthread_spin_unlock): Likewise.
18227         * lib/sched.in.h (struct sched_param): Likewise.
18228         * lib/se-selinux.in.h (security_class_t, security_context_t,
18229         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
18230         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
18231         lsetfilecon, fsetfilecon, security_check_context,
18232         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
18233         Likewise.
18234         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
18235         Likewise.
18236         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
18237         _gl_function_taking_int_returning_void_t, union sigval,
18238         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
18239         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
18240         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
18241         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
18242         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
18243         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
18244         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
18245         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
18246         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
18247         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
18248         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
18249         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
18250         socklen_t, rpl_fd_isset): Likewise.
18251         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
18252         * lib/sys_time.in.h (struct timeval): Likewise.
18253         * lib/sys_times.in.h (struct tms): Likewise.
18254         * lib/sys_utsname.in.h (struct utsname):
18255         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
18256         * lib/unistd.in.h (getpagesize): Likewise.
18257         * lib/wchar.in.h (mbstate_t): Likewise.
18258         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
18259         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
18260         towlower, towupper): Likewise.
18261         Reported by Sam Steingold <sds@gnu.org>.
18262
18263 2011-02-05  Eric Blake  <eblake@redhat.com>
18264
18265         unsetenv: work around Haiku issues
18266         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
18267         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
18268
18269 2010-12-30  Bruce Korb  <bkorb@gnu.org>
18270
18271         libposix: avoid calling error() within libposix
18272         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
18273         is defined.
18274
18275 2011-02-05  Eric Blake  <eblake@redhat.com>
18276
18277         strerror_r-posix: port to cygwin
18278         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
18279         implementation.
18280         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
18281         * tests/test-strerror_r.c (main): Fix test.
18282         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
18283         issue.
18284
18285 2011-02-05  Bruno Haible  <bruno@clisp.org>
18286
18287         New module 'wmemchr'.
18288         * modules/wmemchr: New file.
18289         * lib/wchar.in.h (wmemchr): New declaration.
18290         * lib/wmemchr.c: New file.
18291         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
18292         * m4/wmemchr.m4: New file.
18293         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
18294         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
18295         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
18296         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
18297         * doc/posix-functions/wmemchr.texi: Mention the new module.
18298
18299 2011-02-04  Eric Blake  <eblake@redhat.com>
18300
18301         fdopendir: detect FreeBSD bug
18302         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
18303         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
18304
18305 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
18306
18307         stdbool: do not define HAVE_STDBOOL_H
18308         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
18309         AC_HEADER_STDBOOL.  All uses changed.  Do not define
18310         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
18311         imported from the latest Autoconf git.  It was motivated by Emacs,
18312         which uses gnulib but does not need HAVE_STDBOOL_H.
18313
18314 2011-02-04  Bruno Haible  <bruno@clisp.org>
18315
18316         wcsnrtombs: Prepare for new module wwcsnrtombs.
18317         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
18318         * lib/wcsnrtombs.c: Include it.
18319         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
18320
18321         wcsrtombs: Prepare for new module wwcsrtombs.
18322         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
18323         * lib/wcsrtombs.c: Include it.
18324         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
18325
18326         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
18327         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
18328         * lib/mbsnrtowcs.c: Include it.
18329         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
18330
18331         mbsrtowcs: Prepare for new module mbsrtowwcs.
18332         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
18333         * lib/mbsrtowcs.c: Include it.
18334         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
18335
18336 2011-02-04  Bruno Haible  <bruno@clisp.org>
18337
18338         vasnprintf: Reduce use of malloc for small format strings.
18339         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
18340         (arguments): Add room for the first 7 arguments.
18341         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
18342         (char_directives, u8_directives, u16_directives, u32_directives): Add
18343         room for the first 7 directives.
18344         * lib/printf-parse.c: Include <string.h>.
18345         (PRINTF_PARSE): Change memory handling code so that it uses the first
18346         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
18347         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
18348         Reported by Pádraig Brady <P@draigbrady.com>.
18349
18350 2011-01-31  Eric Blake  <eblake@redhat.com>
18351
18352         dup2: work around Haiku bug
18353         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
18354         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
18355         * doc/posix-functions/dup2.texi (dup2): Document the bug.
18356         * tests/test-dup2.c (main): Enhance test.
18357
18358 2011-01-31  Simon Josefsson  <simon@josefsson.org>
18359
18360         doc: off_t is not available in eglibc 2.11.2 stdio.h.
18361         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
18362         declared by eglibc 2.11.2.
18363         * lib/stdio.in.h: Likewise.
18364
18365 2011-01-31  Eric Blake  <eblake@redhat.com>
18366
18367         ignore-value: add missing test dependency
18368         * tests/test-ignore-value.c: Revert previous change; stdio.h
18369         provides off_t.
18370         * modules/ignore-value-tests (Depends-on): Add missing dependency.
18371
18372 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
18373
18374         mktime: clarify long_int width checking
18375         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
18376         the top level, to make it clearer that the assumption about
18377         long_int width is being checked.  See
18378         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
18379
18380 2011-01-30  Simon Josefsson  <simon@josefsson.org>
18381
18382         ignore-value: Fix self-test.
18383         * tests/test-ignore-value.c: Include sys/types.h for off_t.
18384
18385 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
18386
18387         TYPE_MAXIMUM: avoid theoretically undefined behavior
18388         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
18389         negative number, which the C Standard says has undefined behavior.
18390         In practice this is not a problem, but might as well do it by the book.
18391         Reported by Rich Felker and Eric Blake; see
18392         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
18393         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
18394         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
18395         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
18396         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
18397         * m4/stdint.m4 (gl_STDINT_H): Likewise.
18398         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
18399
18400         mktime: #undef mktime before #defining it
18401         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
18402
18403         mktime: systematically normalize tm_isdst comparisons
18404         * lib/mktime.c (isdst_differ): New function.
18405         (__mktime_internal): Use it systematically for all isdst comparisons.
18406         This completes the fix for libc BZ #6723, and removes the need for
18407         normalizing tm_isdst.  See
18408         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
18409         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
18410
18411         mktime: fix some integer overflow issues and sidestep the rest
18412
18413         This was prompted by a bug report by Benjamin Lindner for MinGW
18414         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
18415         His bug is due to signed integer overflow (0 - INT_MIN), and I
18416         I scanned through mktime.c looking for other integer overflow
18417         problems, fixing all the bugs I found.
18418
18419         Although the C Standard says the resulting code is still not safe
18420         in the presence of integer overflow, in practice it should be good
18421         enough for all real-world two's-complement implementations, except
18422         for debugging environments that deliberately trap on integer
18423         overflow (e.g., gcc -ftrapv).
18424
18425         * lib/mktime.c (WRAPV): New macro.
18426         (SHR): Also check that long_int and time_t shift right in the
18427         usual way, before using the fast-but-unportable method.
18428         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
18429         used.  The code already assumed two's complement, so there's
18430         no need to test for alternatives.  All uses removed.
18431         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
18432         the C standard.  Problem reported by Rich Felker in
18433         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
18434         (twos_complement_arithmetic): Also check long_int and time_t.
18435         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
18436         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
18437         (__mktime_internal): Avoid integer overflow with unary subtraction
18438         in two instances where -1 - X is an adequate replacement for -X,
18439         since the calculations are approximate.
18440
18441 2011-01-29  Eric Blake  <eblake@redhat.com>
18442
18443         mktime: avoid infinite loop
18444         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
18445         type; behavior is still undefined but portable to all known targets.
18446         Reported by Rich Felker.
18447
18448 2011-01-29  Simon Josefsson  <simon@josefsson.org>
18449
18450         rename, unlink, same-inode: Relicense.
18451         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
18452         * modules/unlink (License): Likewise.
18453         * modules/same-inode (License): Likewise.
18454
18455 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
18456
18457         mktime: avoid problems on NetBSD 5 / i386
18458         * lib/mktime.c (long_int): New type.  This works around a problem
18459         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
18460         but time_t is 64 bits, and where I expect the existing code is
18461         wrong in some cases.
18462         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
18463         (ydhms_diff): Bring back the compile-time check for wide-enough
18464         year and yday.
18465
18466         mktime: fix misspelling in comment
18467         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
18468         This merges all recent glibc changes of importance.
18469
18470 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18471
18472         move-if-change: cope with concurrent mv of identical file.
18473         * build-aux/move-if-change (CMPPROG): Accept environment
18474         variable as an override for `cmp'.
18475         (usage): Document CMPPROG.
18476         Adjust comparison to drop stdout.  Cope with failure of mv if
18477         the target file exists and is identical to the source, for
18478         parallel builds.
18479         Report from H.J. Lu against binutils in PR binutils/12283.
18480
18481 2011-01-28  Bruce Korb  <bkorb@gnu.org>
18482
18483         * users.txt: Mention sharutils.
18484
18485 2011-01-28  Simon Josefsson  <simon@josefsson.org>
18486
18487         * users.txt: Mention OATH Toolkit.
18488
18489 2011-01-27  Bruno Haible  <bruno@clisp.org>
18490
18491         Prepare for supporting FreeBSD 10.
18492         * build-aux/config.libpath: Remove handling of freebsd1*.
18493
18494 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
18495
18496         Prepare for supporting FreeBSD 10.
18497         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
18498         match FreeBSD 10.0.
18499
18500 2011-01-27  Bruno Haible  <bruno@clisp.org>
18501
18502         vma-iter, get-rusage-as: Add OpenBSD support.
18503         * modules/vma-iter (configure.ac): Test for mquery.
18504         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
18505         * lib/vma-iter.c: Include <sys/mman.h>.
18506         (vma_iterate): Add an implementation based on mquery().
18507         * lib/resource-ext.h (get_rusage_as): Update comments.
18508         * lib/get-rusage-as.c: Likewise.
18509         * lib/get-rusage-data.c: Likewise.
18510
18511 2011-01-26  Karl Berry  <karl@gnu.org>
18512
18513         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
18514         variables to make it easier to override the makeinfo program used.
18515
18516 2011-01-26  Eric Blake  <eblake@redhat.com>
18517
18518         fcntl: work around Haiku F_DUPFD bugs
18519         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
18520         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
18521         cloexec bit on duplication.
18522         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
18523
18524 2011-01-26  Bruno Haible  <bruno@clisp.org>
18525
18526         Enable memory leak tests on AIX.
18527         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
18528         * tests/test-fprintf-posix3.c (main): Likewise.
18529
18530 2011-01-26  Bruno Haible  <bruno@clisp.org>
18531
18532         Tests for module 'get-rusage-data'.
18533         * modules/get-rusage-data-tests: New file.
18534         * tests/test-get-rusage-data.c: New file.
18535
18536         New module 'get-rusage-data'.
18537         * lib/resource-ext.h (get_rusage_data): New declaration.
18538         * lib/get-rusage-data.c: New file.
18539         * modules/get-rusage-data: New file.
18540
18541 2011-01-25  Bruno Haible  <bruno@clisp.org>
18542
18543         get-rusage-as: Allow for easier testing.
18544         * lib/resource-ext.h (get_rusage_as): Add comment.
18545         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
18546         (main): New function for interactive testing.
18547
18548 2011-01-25  Bruno Haible  <bruno@clisp.org>
18549
18550         vma-iter: Treat Haiku like BeOS.
18551         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
18552         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
18553
18554 2011-01-25  Eric Blake  <eblake@redhat.com>
18555
18556         c-stack: fix regression on cygwin when libsigsegv is present
18557         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
18558
18559 2011-01-24  Bruno Haible  <bruno@clisp.org>
18560
18561         vma-iter: Avoid empty intervals.
18562         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
18563         on an empty interval.
18564
18565 2011-01-24  Jim Meyering  <meyering@redhat.com>
18566
18567         u64: remove unnecessary #include
18568         * lib/u64.h: Don't include <stddef.h>.  It was not used.
18569
18570 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
18571
18572         Allow the user to avoid the HAVE_RAW_DECL_* macros.
18573         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
18574
18575 2011-01-23  Bruno Haible  <bruno@clisp.org>
18576
18577         New module 'vma-iter'.
18578         * lib/vma-iter.h: New file.
18579         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
18580         * modules/vma-iter: New file.
18581         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
18582         for get_rusage_as_via_iterator.
18583         (vma_iterate_callback): New function.
18584         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
18585         * modules/get-rusage-as (Depends-on): Add vma-iter.
18586
18587 2011-01-23  Bruno Haible  <bruno@clisp.org>
18588
18589         uninorm: Tweak includes.
18590         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
18591         Reported by Jim Meyering.
18592
18593 2011-01-23  Bruno Haible  <bruno@clisp.org>
18594
18595         get-rusage-as: Improve on NetBSD.
18596         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
18597         /proc, like on FreeBSD.
18598
18599 2011-01-23  Jim Meyering  <meyering@redhat.com>
18600
18601         xreadlink.h: remove unnecessary #include
18602         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
18603
18604         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
18605         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
18606
18607 2011-01-23  Bruno Haible  <bruno@clisp.org>
18608
18609         get-rusage-as: Fix bug.
18610         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
18611         original limit when aborting the first loop.
18612
18613 2011-01-23  Bruno Haible  <bruno@clisp.org>
18614
18615         wctype: Ensure valid C syntax.
18616         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
18617         unconditionally, instead of gl_NEXT_HEADERS conditionally.
18618
18619 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
18620
18621         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
18622         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
18623         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
18624         as they are needed only for configure's test case.
18625         This removes two unnecessary symbols from config.h.
18626
18627         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
18628         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
18629         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
18630         AC_CHECK_HEADERS_ONCE on a header that we also invoke
18631         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
18632         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
18633         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
18634         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
18635         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
18636         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
18637         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
18638         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18639         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18640         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
18641         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
18642         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18643         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
18644         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
18645
18646 2011-01-21  Eric Blake  <eblake@redhat.com>
18647
18648         maintainer-makefile: work with older git for submodule check
18649         * top/maint.mk (public-submodule-commit): Rewrite to avoid
18650         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
18651         Reported by Matthias Bolte.
18652
18653         bootstrap: minor portability fixes
18654         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
18655         (usage): Omit leading capital and trailing . on help phrases, per
18656         GNU Coding Standards.
18657         (check_versions, top level): Prefix messages with script name.
18658
18659 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
18660
18661         bootstrap: support --no-git option
18662         * build-aux/bootstrap: Add --no-git option, to be used when
18663         --gnulib-srcdir points to the exact desired checkout.
18664
18665 2011-01-21  Eric Blake  <eblake@redhat.com>
18666
18667         strerror_r-posix: work with glibc 2.13
18668         * lib/strerror_r.c (strerror_r): Fix return type.
18669
18670 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18671             Bruno Haible  <bruno@clisp.org>
18672
18673         uN_strstr: New unit tests.
18674         * modules/unistr/u8-strstr-tests: New file.
18675         * modules/unistr/u16-strstr-tests: New file.
18676         * modules/unistr/u32-strstr-tests: New file.
18677         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
18678         * tests/unistr/test-u8-strstr.c: New file.
18679         * tests/unistr/test-u16-strstr.c: New file.
18680         * tests/unistr/test-u32-strstr.c: New file.
18681
18682 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18683             Bruno Haible  <bruno@clisp.org>
18684
18685         Make uN_strstr functions O(n) worst-case.
18686         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
18687         16-bit and 32-bit unit cases, use the unibyte algorithm from
18688         lib/mbsstr.c.
18689         * lib/unistr/u8-strstr.c: Include <string.h>.
18690         (UNIT_IS_UINT8_T): New macro.
18691         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
18692         (U_STRLEN, U_STRNLEN): New macros.
18693         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
18694         (U_STRLEN, U_STRNLEN): New macros.
18695         * modules/unistr/u8-strstr (Depends-on): Add strstr.
18696         (configure.ac): Update required libunistring version.
18697         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
18698         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
18699         malloca.
18700         (configure.ac): Update required libunistring version.
18701         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
18702         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
18703         malloca.
18704         (configure.ac): Update required libunistring version.
18705
18706 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18707             Bruno Haible  <bruno@clisp.org>
18708
18709         Prepare for faster uN_strstr functions.
18710         * lib/str-kmp.h: Support definable UNITs.
18711         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
18712         needle_len argument.
18713         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
18714         * lib/mbscasestr.c (mbscasestr): Likewise.
18715
18716 2011-01-21  Pádraig Brady <P@draigBrady.com>
18717
18718         malloca-tests: make faster by unsetting MALLOC_PERTURB_
18719         * tests/test-malloca.c (main): Unset the environment variable
18720         to greatly speed up the test.
18721         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
18722         * modules/malloca-tests: Depend on unsetenv.
18723
18724 2011-01-21  Pádraig Brady <P@draigBrady.com>
18725
18726         ignore-value: remove stdint dependency
18727         * lib/ignore-value.h: Remove <stdint.h>
18728         * modules/ignore-value: Remove stdint dependency.
18729
18730 2011-01-21  Jim Meyering  <meyering@redhat.com>
18731
18732         maint.mk: adjust variable name to be consistent with other gl_ vars
18733         * top/maint.mk (gl_public_submodule_commit): Rename the variable
18734         to be lower case.
18735
18736 2011-01-20  Jim Meyering  <meyering@redhat.com>
18737
18738         maint.mk: make "check" depend on public-submodule-commit by default
18739         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
18740
18741 2011-01-20  Bruno Haible  <bruno@clisp.org>
18742
18743         mbfile, mbiter: Complete change from 2008-12-21.
18744         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
18745         * m4/mbiter.m4 (gl_MBITER): Likewise.
18746
18747 2011-01-20  Jim Meyering  <meyering@redhat.com>
18748
18749         init.sh: insert space between each function name and "()"
18750         * tests/init.sh: Make it a little easier to see that a function's
18751         name is "warn_", and not "warn" when looking at the first part of
18752         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
18753
18754 2011-01-20  Jim Meyering  <meyering@redhat.com>
18755
18756         mountlist: clean up code formatting
18757         * lib/mountlist.c (read_file_system_list): Split a long line,
18758         correct bracing style, use NULL in place of "(struct statfs *)0",
18759         don't parenthesize return value, add spaces around "=" and after
18760         ";-in-for-stmt".
18761
18762 2011-01-14  Markus Duft <mduft@gentoo.org>
18763
18764         mountlist: add support for Interix
18765         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
18766         Apply statvfs to all entries of /dev/fs.
18767         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
18768         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
18769
18770 2011-01-20  Jim Meyering  <meyering@redhat.com>
18771
18772         maint.mk: improve the public-submodule-commit rule
18773         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
18774         to suppress printing of its commands... unless V=1.
18775         Add git submodule's --quiet option to suppress printing of e.g.,
18776         "Entering gnulib" output.
18777         "cd" into $(srcdir) before running git submodule.
18778
18779 2011-01-20  Bruno Haible  <bruno@clisp.org>
18780
18781         include_next: Fix bug introduced on 2011-01-18.
18782         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
18783         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
18784         ac_cv_header_... variable if the second argument is not 'check'.
18785         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
18786         gl_NEXT_HEADERS_INTERNAL.
18787
18788 2011-01-20  Bruno Haible  <bruno@clisp.org>
18789
18790         Allow the user to avoid the GNULIB_TEST_* macros.
18791         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
18792         Suggested by Paul Eggert.
18793
18794 2011-01-14  Jim Meyering  <meyering@redhat.com>
18795
18796         bootstrap: avoid failure when there is no .gitmodules file
18797         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
18798         has been assigned to, even when its value is the empty string.
18799         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
18800         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
18801         Reported by John W. Eaton <jwe@gnu.org>.
18802
18803 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
18804
18805         assume <ctype.h>, ..., <time.h> exist
18806         For years gnulib has been assuming the existence of the headers
18807         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
18808         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
18809         them, since they don't appear to be needed.
18810         * README (Portability guidelines): Document this.
18811         * lib/flock.c: Assume <fcntl.h> exists.
18812         * lib/regex_internal.h: Assume <locale.h> exists.
18813         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
18814         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
18815         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
18816         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
18817         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
18818         * m4/regex.m4 (gl_REGEX): Likewise.
18819         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
18820         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
18821         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
18822         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
18823         * tests/test-argp.c: Likewise.
18824         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
18825
18826         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
18827         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
18828         AA_APPLE_UNIVERSAL_BUILD.  See
18829         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
18830         * NEWS: Document this.
18831
18832 2011-01-19  Eric Blake  <eblake@redhat.com>
18833
18834         c-stack: assume stack overflow if SA_SIGINFO unsupported
18835         * lib/c-stack.c (SIGACTION_WORKS): Rename...
18836         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
18837         sigaction will work.
18838         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
18839         behavior match Linux.
18840         * tests/test-c-stack.c (main): Prefer NULL for pointers.
18841
18842         stdbool-tests: accomodate Haiku
18843         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
18844
18845         binary-io: fix O_TEXT on Haiku
18846         * modules/binary-io (Depends-on): Add fcntl-h.
18847         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
18848         than blindly undefining O_TEXT.
18849         Reported by Scott McCreary.
18850
18851 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
18852
18853         include_next: do not check for standard headers like stddef.h
18854
18855         I found this problem when modifying Emacs to use gnulib.
18856         I noticed that it added HAVE_STDDEF_H to config.h, even though
18857         gnulib always assumes <stddef.h> exists as per README and this
18858         symbol is unnecessary.
18859         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
18860         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
18861         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
18862         faster for headers like stddef.h that are known to exist.
18863         (gl_CHECK_NEXT_HEADERS): Use it.
18864         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
18865         rather than gl_CHECK_NEXT_HEADERS.
18866         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
18867         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
18868
18869 2011-01-18  Eric Blake  <eblake@redhat.com>
18870
18871         ansi-c++-opt: skip C++ dependency style if C++ is unused
18872         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
18873         tests when we know C++ compilation is not desired.
18874         Reported by Scott McCreary.
18875
18876 2011-01-18  Bruno Haible  <bruno@clisp.org>
18877
18878         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
18879         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
18880         (main): Perform test also when getrlimit and setrlimit don't exist or
18881         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
18882         limiting the address space size using setrlimit, compare the address
18883         space size before and after the the test.
18884         * tests/test-dprintf-posix2.c: Likewise.
18885         * tests/test-fprintf-posix3.sh: Update skip messages.
18886         * tests/test-dprintf-posix2.sh: Likewise.
18887         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
18888         * modules/dprintf-posix-tests (Depends-on): Likewise.
18889         Reported by Bruce Korb <bkorb@gnu.org> and
18890         Gary V. Vaughan <gary@gnu.org>.
18891
18892 2011-01-18  Bruno Haible  <bruno@clisp.org>
18893
18894         get-rusage-as: Improvement for Cygwin.
18895         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
18896         areas that are merely reserved.
18897
18898 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
18899
18900         strftime: remove dependencies on multibyte modules
18901
18902         strftime depended on mbrlen, mbsinit, and wchar, but these modules
18903         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
18904         only if __osf__ is defined, and I suspect OSF doesn't need these
18905         other modules.  If my guess is wrong, we'll need to come up with a
18906         variant of strftime that doesn't need the multibyte modules.
18907
18908         I discovered this problem when attempting modify Emacs to use the
18909         strftime module.  With the previous gnulib, this caused Emacs to
18910         need 31 new files, ranging from lib/config.charset to
18911         m4/wint_t.m4.  This was overkill and I expect would be offputting
18912         to the Emacs maintainers.  After this change, only 6 new files are
18913         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
18914         stdbool.m4, and tm_gmtoff.m4.
18915
18916         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
18917         Suggested by Bruno Haible in
18918         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
18919         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
18920         and do not check for wchar.h.
18921         * modules/strftime (Files): Remove m4/mbstate_t.m4.
18922         (Depends-on): Remove mbrlen, mbsinit, wchar.
18923
18924 2011-01-18  Bruno Haible  <bruno@clisp.org>
18925
18926         Tests for module 'get-rusage-as'.
18927         * modules/get-rusage-as-tests: New file.
18928         * tests/test-get-rusage-as.c: New file.
18929
18930         New module 'get-rusage-as'.
18931         * modules/get-rusage-as: New file.
18932         * lib/resource-ext.h: New file.
18933         * lib/get-rusage-as.c: New file.
18934
18935 2011-01-17  Eric Blake  <eblake@redhat.com>
18936
18937         sigaction: relax license from LGPLv3+ to LGPLv2+
18938         * modules/sigaction (License): Relax to LGPLv2+.
18939
18940 2011-01-14  Bruno Haible  <bruno@clisp.org>
18941
18942         filemode: Make function declarations usable in C++ mode.
18943         * lib/filemode.h: Enclose function declarations in extern "C" block.
18944         Reported by John W. Eaton <jwe@gnu.org>.
18945
18946 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
18947
18948         save-cwd: no longer include "xgetcwd.h"
18949         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
18950         This avoids a compilation failure in projects that use save-cwd
18951         without also using the xgetcwd module.
18952
18953 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
18954
18955         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
18956         This is so that a program like Emacs, which needs only dtoastr,
18957         does not have to bother with distributing and compiling ftoastr
18958         and ldtoastr.
18959         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
18960         * modules/dtoastr, modules/ldtoastr: New files.
18961         * modules/ftoastr: Now works just for 'float'.
18962         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
18963         (Makefile.am): Remove ftoastr.h (not needed and no effect),
18964         dtoastr.c, ldtoastr.c.
18965
18966 2011-01-11  Jim Meyering  <meyering@redhat.com>
18967
18968         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
18969         There is no need to work around the lack of the fchdir function,
18970         since gnulib can now provide a replacement when required.
18971         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
18972         * modules/save-cwd (Depends-on): Add fchdir.
18973
18974 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
18975
18976         openat, save-cwd: avoid xmalloc
18977
18978         This removes a direct (but undocumented) dependency of openat on
18979         xalloc, along with an indirect dependency via save-cwd.  It also
18980         removes a dependency of save-cwd on xgetcwd, and thereby
18981         indirectly on xalloc.  This change causes the openat substitute
18982         to fall back on save_cwd when memory is tight, and for save_cwd to
18983         fail instead of dying when memory is tight, but that's good enough.
18984         Problem and initial idea for fix reported by Bastien Roucaries in
18985         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
18986
18987         * lib/openat-proc.c: Include stdlib.h (for malloc), not
18988         xalloc.h (for xmalloc).
18989         (openat_proc_name): Use malloc, not xmalloc.
18990         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
18991         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
18992
18993         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
18994         This avoids heap allocation for file names whose lengths are in
18995         the range 512..1023, with the upper bound increasing to at most
18996         4031 depending on the platform's PATH_MAX.  (We do not want
18997         pathmax.h here as it might supply a non-constant PATH_MAX.)
18998         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
18999         Perhaps they should be moved to malloca.h?
19000         (OPENAT_BUFFER_SIZE): Use them.
19001
19002 2011-01-10  Bruno Haible  <bruno@clisp.org>
19003
19004         doc: Update users.txt.
19005         * users.txt: Add recutils.
19006
19007 2011-01-09  Karl Berry  <karl@gnu.org>
19008
19009         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
19010
19011         * doc/configmake.texi: New file.
19012         * doc/gnulib.texi: Include it.
19013         * modules/configmake: Move documentation from here.
19014
19015 2011-01-09  Bruno Haible  <bruno@clisp.org>
19016
19017         Update to Unicode 6.0.0.
19018         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
19019         (get_lbp): Update for Unicode 6.0.0.
19020         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
19021         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
19022         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
19023         U+11001, U+11038..U+11046. Remove U+06DE.
19024         (uc_width): Fix bounds of planes.
19025         * tests/uniwidth/test-uc_width2.sh: Same updates as in
19026         lib/uniwidth/width.c.
19027         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
19028         trailing whitespace removed.
19029         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
19030         without comments, but with the original copyright notice.
19031         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
19032         * lib/unicase/ignorable.h: Likewise.
19033         * lib/unicase/tocasefold.h: Likewise.
19034         * lib/unicase/tolower.h: Likewise.
19035         * lib/unicase/totitle.h: Likewise.
19036         * lib/unicase/toupper.h: Likewise.
19037         * lib/unictype/bidi_of.h: Likewise.
19038         * lib/unictype/blocks.h: Likewise.
19039         * lib/unictype/categ_C.h: Likewise.
19040         * lib/unictype/categ_Cn.h: Likewise.
19041         * lib/unictype/categ_L.h: Likewise.
19042         * lib/unictype/categ_Ll.h: Likewise.
19043         * lib/unictype/categ_Lm.h: Likewise.
19044         * lib/unictype/categ_Lo.h: Likewise.
19045         * lib/unictype/categ_Lu.h: Likewise.
19046         * lib/unictype/categ_M.h: Likewise.
19047         * lib/unictype/categ_Mc.h: Likewise.
19048         * lib/unictype/categ_Me.h: Likewise.
19049         * lib/unictype/categ_Mn.h: Likewise.
19050         * lib/unictype/categ_N.h: Likewise.
19051         * lib/unictype/categ_Nd.h: Likewise.
19052         * lib/unictype/categ_No.h: Likewise.
19053         * lib/unictype/categ_P.h: Likewise.
19054         * lib/unictype/categ_Po.h: Likewise.
19055         * lib/unictype/categ_S.h: Likewise.
19056         * lib/unictype/categ_Sc.h: Likewise.
19057         * lib/unictype/categ_Sk.h: Likewise.
19058         * lib/unictype/categ_Sm.h: Likewise.
19059         * lib/unictype/categ_So.h: Likewise.
19060         * lib/unictype/categ_of.h: Likewise.
19061         * lib/unictype/combining.h: Likewise.
19062         * lib/unictype/ctype_alnum.h: Likewise.
19063         * lib/unictype/ctype_alpha.h: Likewise.
19064         * lib/unictype/ctype_graph.h: Likewise.
19065         * lib/unictype/ctype_lower.h: Likewise.
19066         * lib/unictype/ctype_print.h: Likewise.
19067         * lib/unictype/ctype_punct.h: Likewise.
19068         * lib/unictype/ctype_upper.h: Likewise.
19069         * lib/unictype/decdigit.h: Likewise.
19070         * lib/unictype/digit.h: Likewise.
19071         * lib/unictype/numeric.h: Likewise.
19072         * lib/unictype/pr_alphabetic.h: Likewise.
19073         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
19074         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
19075         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
19076         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
19077         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
19078         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
19079         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
19080         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
19081         * lib/unictype/pr_case_ignorable.h: Likewise.
19082         * lib/unictype/pr_cased.h: Likewise.
19083         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
19084         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
19085         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
19086         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
19087         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
19088         * lib/unictype/pr_combining.h: Likewise.
19089         * lib/unictype/pr_composite.h: Likewise.
19090         * lib/unictype/pr_currency_symbol.h: Likewise.
19091         * lib/unictype/pr_decimal_digit.h: Likewise.
19092         * lib/unictype/pr_deprecated.h: Likewise.
19093         * lib/unictype/pr_format_control.h: Likewise.
19094         * lib/unictype/pr_grapheme_base.h: Likewise.
19095         * lib/unictype/pr_grapheme_extend.h: Likewise.
19096         * lib/unictype/pr_grapheme_link.h: Likewise.
19097         * lib/unictype/pr_id_continue.h: Likewise.
19098         * lib/unictype/pr_id_start.h: Likewise.
19099         * lib/unictype/pr_ideographic.h: Likewise.
19100         * lib/unictype/pr_lowercase.h: Likewise.
19101         * lib/unictype/pr_math.h: Likewise.
19102         * lib/unictype/pr_numeric.h: Likewise.
19103         * lib/unictype/pr_other_alphabetic.h: Likewise.
19104         * lib/unictype/pr_other_id_continue.h: Likewise.
19105         * lib/unictype/pr_other_math.h: Likewise.
19106         * lib/unictype/pr_punctuation.h: Likewise.
19107         * lib/unictype/pr_sentence_terminal.h: Likewise.
19108         * lib/unictype/pr_terminal_punctuation.h: Likewise.
19109         * lib/unictype/pr_unassigned_code_value.h: Likewise.
19110         * lib/unictype/pr_unified_ideograph.h: Likewise.
19111         * lib/unictype/pr_uppercase.h: Likewise.
19112         * lib/unictype/pr_xid_continue.h: Likewise.
19113         * lib/unictype/pr_xid_start.h: Likewise.
19114         * lib/unictype/scripts.h: Likewise.
19115         * lib/unictype/scripts_byname.gperf: Likewise.
19116         * lib/unictype/sy_java_ident.h: Likewise.
19117         * lib/unigbrk/gbrkprop.h: Likewise.
19118         * lib/unilbrk/lbrkprop1.h: Likewise.
19119         * lib/unilbrk/lbrkprop2.h: Likewise.
19120         * lib/uninorm/decomposition-table2.h: Likewise.
19121         * lib/uniwbrk/wbrkprop.h: Likewise.
19122         * tests/unicase/test-cased.c: Likewise.
19123         * tests/unicase/test-ignorable.c: Likewise.
19124         * tests/unicase/test-uc_tolower.c: Likewise.
19125         * tests/unicase/test-uc_totitle.c: Likewise.
19126         * tests/unicase/test-uc_toupper.c: Likewise.
19127         * tests/unictype/test-categ_C.c: Likewise.
19128         * tests/unictype/test-categ_Cn.c: Likewise.
19129         * tests/unictype/test-categ_L.c: Likewise.
19130         * tests/unictype/test-categ_Ll.c: Likewise.
19131         * tests/unictype/test-categ_Lm.c: Likewise.
19132         * tests/unictype/test-categ_Lo.c: Likewise.
19133         * tests/unictype/test-categ_Lu.c: Likewise.
19134         * tests/unictype/test-categ_M.c: Likewise.
19135         * tests/unictype/test-categ_Mc.c: Likewise.
19136         * tests/unictype/test-categ_Me.c: Likewise.
19137         * tests/unictype/test-categ_Mn.c: Likewise.
19138         * tests/unictype/test-categ_N.c: Likewise.
19139         * tests/unictype/test-categ_Nd.c: Likewise.
19140         * tests/unictype/test-categ_No.c: Likewise.
19141         * tests/unictype/test-categ_P.c: Likewise.
19142         * tests/unictype/test-categ_Po.c: Likewise.
19143         * tests/unictype/test-categ_S.c: Likewise.
19144         * tests/unictype/test-categ_Sc.c: Likewise.
19145         * tests/unictype/test-categ_Sk.c: Likewise.
19146         * tests/unictype/test-categ_Sm.c: Likewise.
19147         * tests/unictype/test-categ_So.c: Likewise.
19148         * tests/unictype/test-ctype_alnum.c: Likewise.
19149         * tests/unictype/test-ctype_alpha.c: Likewise.
19150         * tests/unictype/test-ctype_graph.c: Likewise.
19151         * tests/unictype/test-ctype_lower.c: Likewise.
19152         * tests/unictype/test-ctype_print.c: Likewise.
19153         * tests/unictype/test-ctype_punct.c: Likewise.
19154         * tests/unictype/test-ctype_upper.c: Likewise.
19155         * tests/unictype/test-decdigit.h: Likewise.
19156         * tests/unictype/test-digit.h: Likewise.
19157         * tests/unictype/test-numeric.h: Likewise.
19158         * tests/unictype/test-pr_alphabetic.c: Likewise.
19159         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
19160         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
19161         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
19162         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
19163         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
19164         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
19165         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
19166         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
19167         * tests/unictype/test-pr_case_ignorable.c: Likewise.
19168         * tests/unictype/test-pr_cased.c: Likewise.
19169         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
19170         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
19171         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
19172         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
19173         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
19174         * tests/unictype/test-pr_combining.c: Likewise.
19175         * tests/unictype/test-pr_composite.c: Likewise.
19176         * tests/unictype/test-pr_currency_symbol.c: Likewise.
19177         * tests/unictype/test-pr_decimal_digit.c: Likewise.
19178         * tests/unictype/test-pr_deprecated.c: Likewise.
19179         * tests/unictype/test-pr_format_control.c: Likewise.
19180         * tests/unictype/test-pr_grapheme_base.c: Likewise.
19181         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
19182         * tests/unictype/test-pr_grapheme_link.c: Likewise.
19183         * tests/unictype/test-pr_id_continue.c: Likewise.
19184         * tests/unictype/test-pr_id_start.c: Likewise.
19185         * tests/unictype/test-pr_ideographic.c: Likewise.
19186         * tests/unictype/test-pr_lowercase.c: Likewise.
19187         * tests/unictype/test-pr_math.c: Likewise.
19188         * tests/unictype/test-pr_numeric.c: Likewise.
19189         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
19190         * tests/unictype/test-pr_other_id_continue.c: Likewise.
19191         * tests/unictype/test-pr_other_math.c: Likewise.
19192         * tests/unictype/test-pr_punctuation.c: Likewise.
19193         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
19194         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
19195         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
19196         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
19197         * tests/unictype/test-pr_uppercase.c: Likewise.
19198         * tests/unictype/test-pr_xid_continue.c: Likewise.
19199         * tests/unictype/test-pr_xid_start.c: Likewise.
19200         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
19201         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
19202         changes.
19203         * lib/unictype/categ_Cc.h: Likewise.
19204         * lib/unictype/categ_Cf.h: Likewise.
19205         * lib/unictype/categ_Co.h: Likewise.
19206         * lib/unictype/categ_Cs.h: Likewise.
19207         * lib/unictype/categ_Lt.h: Likewise.
19208         * lib/unictype/categ_Nl.h: Likewise.
19209         * lib/unictype/categ_Pc.h: Likewise.
19210         * lib/unictype/categ_Pd.h: Likewise.
19211         * lib/unictype/categ_Pe.h: Likewise.
19212         * lib/unictype/categ_Pf.h: Likewise.
19213         * lib/unictype/categ_Pi.h: Likewise.
19214         * lib/unictype/categ_Ps.h: Likewise.
19215         * lib/unictype/categ_Z.h: Likewise.
19216         * lib/unictype/categ_Zl.h: Likewise.
19217         * lib/unictype/categ_Zp.h: Likewise.
19218         * lib/unictype/categ_Zs.h: Likewise.
19219         * lib/unictype/ctype_blank.h: Likewise.
19220         * lib/unictype/ctype_cntrl.h: Likewise.
19221         * lib/unictype/ctype_digit.h: Likewise.
19222         * lib/unictype/ctype_space.h: Likewise.
19223         * lib/unictype/ctype_xdigit.h: Likewise.
19224         * lib/unictype/mirror.h: Likewise.
19225         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
19226         * lib/unictype/pr_bidi_block_separator.h: Likewise.
19227         * lib/unictype/pr_bidi_common_separator.h: Likewise.
19228         * lib/unictype/pr_bidi_control.h: Likewise.
19229         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
19230         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
19231         * lib/unictype/pr_bidi_european_digit.h: Likewise.
19232         * lib/unictype/pr_bidi_pdf.h: Likewise.
19233         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
19234         * lib/unictype/pr_bidi_whitespace.h: Likewise.
19235         * lib/unictype/pr_dash.h: Likewise.
19236         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
19237         * lib/unictype/pr_diacritic.h: Likewise.
19238         * lib/unictype/pr_extender.h: Likewise.
19239         * lib/unictype/pr_hex_digit.h: Likewise.
19240         * lib/unictype/pr_hyphen.h: Likewise.
19241         * lib/unictype/pr_ids_binary_operator.h: Likewise.
19242         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
19243         * lib/unictype/pr_ignorable_control.h: Likewise.
19244         * lib/unictype/pr_iso_control.h: Likewise.
19245         * lib/unictype/pr_join_control.h: Likewise.
19246         * lib/unictype/pr_left_of_pair.h: Likewise.
19247         * lib/unictype/pr_line_separator.h: Likewise.
19248         * lib/unictype/pr_logical_order_exception.h: Likewise.
19249         * lib/unictype/pr_non_break.h: Likewise.
19250         * lib/unictype/pr_not_a_character.h: Likewise.
19251         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
19252         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
19253         * lib/unictype/pr_other_id_start.h: Likewise.
19254         * lib/unictype/pr_other_lowercase.h: Likewise.
19255         * lib/unictype/pr_other_uppercase.h: Likewise.
19256         * lib/unictype/pr_paired_punctuation.h: Likewise.
19257         * lib/unictype/pr_paragraph_separator.h: Likewise.
19258         * lib/unictype/pr_pattern_syntax.h: Likewise.
19259         * lib/unictype/pr_pattern_white_space.h: Likewise.
19260         * lib/unictype/pr_private_use.h: Likewise.
19261         * lib/unictype/pr_quotation_mark.h: Likewise.
19262         * lib/unictype/pr_radical.h: Likewise.
19263         * lib/unictype/pr_soft_dotted.h: Likewise.
19264         * lib/unictype/pr_space.h: Likewise.
19265         * lib/unictype/pr_titlecase.h: Likewise.
19266         * lib/unictype/pr_variation_selector.h: Likewise.
19267         * lib/unictype/pr_white_space.h: Likewise.
19268         * lib/unictype/pr_zero_width.h: Likewise.
19269         * lib/unictype/sy_c_ident.h: Likewise.
19270         * lib/unictype/sy_c_whitespace.h: Likewise.
19271         * lib/unictype/sy_java_whitespace.h: Likewise.
19272         * lib/uninorm/composition-table.gperf: Likewise.
19273         * lib/uninorm/decomposition-table1.h: Likewise.
19274         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
19275         LB8.
19276         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
19277         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
19278         * modules/unictype/*: Bump version number of expected libunistring
19279         version.
19280
19281 2011-01-09  Bruno Haible  <bruno@clisp.org>
19282
19283         Update to Unicode 5.2.0.
19284         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
19285         trailing whitespace removed.
19286
19287 2011-01-09  Bruno Haible  <bruno@clisp.org>
19288
19289         New Unicode character properties, from Unicode 5.2.0.
19290         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
19291         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
19292         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
19293         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
19294         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
19295         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
19296         uc_is_property_cased, uc_is_property_case_ignorable,
19297         uc_is_property_changes_when_lowercased,
19298         uc_is_property_changes_when_uppercased,
19299         uc_is_property_changes_when_titlecased,
19300         uc_is_property_changes_when_casefolded,
19301         uc_is_property_changes_when_casemapped): New declarations.
19302         * lib/unictype/pr_byname.gperf: Add the new properties.
19303         * modules/unictype/property-byname (Depends-on): Depend on the new
19304         properties modules.
19305         * modules/unictype/property-all (Depends-on): Likewise.
19306         * MODULES.html.sh (Unicode string functions): Add
19307         unictype/property-case-ignorable, unictype/property-cased,
19308         unictype/property-changes-when-casefolded,
19309         unictype/property-changes-when-casemapped,
19310         unictype/property-changes-when-lowercased,
19311         unictype/property-changes-when-titlecased,
19312         unictype/property-changes-when-uppercased.
19313
19314         New module 'unictype/property-changes-when-casemapped'.
19315         * modules/unictype/property-changes-when-casemapped: New file.
19316         * lib/unictype/pr_changes_when_casemapped.c: New file.
19317         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
19318         generated by gen-uni-tables.
19319         * modules/unictype/property-changes-when-casemapped-tests: New file.
19320         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
19321         automatically generated by gen-uni-tables.
19322
19323         New module 'unictype/property-changes-when-casefolded'.
19324         * modules/unictype/property-changes-when-casefolded: New file.
19325         * lib/unictype/pr_changes_when_casefolded.c: New file.
19326         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
19327         generated by gen-uni-tables.
19328         * modules/unictype/property-changes-when-casefolded-tests: New file.
19329         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
19330         automatically generated by gen-uni-tables.
19331
19332         New module 'unictype/property-changes-when-titlecased'.
19333         * modules/unictype/property-changes-when-titlecased: New file.
19334         * lib/unictype/pr_changes_when_titlecased.c: New file.
19335         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
19336         generated by gen-uni-tables.
19337         * modules/unictype/property-changes-when-titlecased-tests: New file.
19338         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
19339         automatically generated by gen-uni-tables.
19340
19341         New module 'unictype/property-changes-when-uppercased'.
19342         * modules/unictype/property-changes-when-uppercased: New file.
19343         * lib/unictype/pr_changes_when_uppercased.c: New file.
19344         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
19345         generated by gen-uni-tables.
19346         * modules/unictype/property-changes-when-uppercased-tests: New file.
19347         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
19348         automatically generated by gen-uni-tables.
19349
19350         New module 'unictype/property-changes-when-lowercased'.
19351         * modules/unictype/property-changes-when-lowercased: New file.
19352         * lib/unictype/pr_changes_when_lowercased.c: New file.
19353         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
19354         generated by gen-uni-tables.
19355         * modules/unictype/property-changes-when-lowercased-tests: New file.
19356         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
19357         automatically generated by gen-uni-tables.
19358
19359         New module 'unictype/property-case-ignorable'.
19360         * modules/unictype/property-case-ignorable: New file.
19361         * lib/unictype/pr_case_ignorable.c: New file.
19362         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
19363         by gen-uni-tables.
19364         * modules/unictype/property-case-ignorable-tests: New file.
19365         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
19366         generated by gen-uni-tables.
19367
19368         New module 'unictype/property-cased'.
19369         * modules/unictype/property-cased: New file.
19370         * lib/unictype/pr_cased.c: New file.
19371         * lib/unictype/pr_cased.h: New file, automatically generated by
19372         gen-uni-tables.
19373         * modules/unictype/property-cased-tests: New file.
19374         * tests/unictype/test-pr_cased.c: New file, automatically generated by
19375         gen-uni-tables.
19376
19377 2011-01-09  Bruno Haible  <bruno@clisp.org>
19378
19379         Update to Unicode 5.2.0.
19380         * lib/gen-uni-tables.c (output_predicate, output_category,
19381         output_combclass, output_bidi_category, output_decimal_digit_test,
19382         output_decimal_digit, output_digit_test, output_digit,
19383         output_numeric_test, output_numeric, output_mirror, output_scripts,
19384         output_scripts_byname, output_blocks, output_ident_category): Fix
19385         comment header.
19386         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
19387         get_wbp.
19388         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
19389         items.
19390         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
19391         Changes_When_Lowercased, Changes_When_Uppercased,
19392         Changes_When_Titlecased, Changes_When_Casefolded,
19393         Changes_When_Casemapped.
19394         (is_property_alphabetic, is_property_default_ignorable_code_point):
19395         Update for Unicode 5.2.0.
19396         (is_property_cased, is_property_case_ignorable,
19397         is_property_changes_when_lowercased,
19398         is_property_changes_when_uppercased,
19399         is_property_changes_when_titlecased,
19400         is_property_changes_when_casefolded,
19401         is_property_changes_when_casemapped): New functions.
19402         (output_properties): Output also the properties cased, case_ignorable,
19403         changes_when_lowercased, changes_when_uppercased,
19404         changes_when_titlecased, changes_when_casefolded,
19405         changes_when_casemapped.
19406         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
19407         Unicode TR#11 revision 17 -> 19.
19408         (LBP_CP): New enumeration value.
19409         (LBP_*): Adjust values accordingly.
19410         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
19411         TR#14 revision 22 -> 24.
19412         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
19413         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
19414         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
19415         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
19416         is_WBP_MIDLETTER.
19417         (output_composition_tables): Allow for 24 bits instead of 16 bits in
19418         the code1 and code2 of each composition rule.
19419         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
19420         * lib/unicase/ignorable.h: Likewise.
19421         * lib/unicase/tocasefold.h: Likewise.
19422         * lib/unicase/tolower.h: Likewise.
19423         * lib/unicase/totitle.h: Likewise.
19424         * lib/unicase/toupper.h: Likewise.
19425         * lib/unictype/bidi_of.h: Likewise.
19426         * lib/unictype/blocks.h: Likewise.
19427         * lib/unictype/categ_C.h: Likewise.
19428         * lib/unictype/categ_Cf.h: Likewise.
19429         * lib/unictype/categ_Cn.h: Likewise.
19430         * lib/unictype/categ_L.h: Likewise.
19431         * lib/unictype/categ_Ll.h: Likewise.
19432         * lib/unictype/categ_Lm.h: Likewise.
19433         * lib/unictype/categ_Lo.h: Likewise.
19434         * lib/unictype/categ_Lu.h: Likewise.
19435         * lib/unictype/categ_M.h: Likewise.
19436         * lib/unictype/categ_Mc.h: Likewise.
19437         * lib/unictype/categ_Mn.h: Likewise.
19438         * lib/unictype/categ_N.h: Likewise.
19439         * lib/unictype/categ_Nd.h: Likewise.
19440         * lib/unictype/categ_Nl.h: Likewise.
19441         * lib/unictype/categ_No.h: Likewise.
19442         * lib/unictype/categ_P.h: Likewise.
19443         * lib/unictype/categ_Pd.h: Likewise.
19444         * lib/unictype/categ_Po.h: Likewise.
19445         * lib/unictype/categ_S.h: Likewise.
19446         * lib/unictype/categ_Sc.h: Likewise.
19447         * lib/unictype/categ_So.h: Likewise.
19448         * lib/unictype/categ_of.h: Likewise.
19449         * lib/unictype/combining.h: Likewise.
19450         * lib/unictype/ctype_alnum.h: Likewise.
19451         * lib/unictype/ctype_alpha.h: Likewise.
19452         * lib/unictype/ctype_graph.h: Likewise.
19453         * lib/unictype/ctype_lower.h: Likewise.
19454         * lib/unictype/ctype_print.h: Likewise.
19455         * lib/unictype/ctype_punct.h: Likewise.
19456         * lib/unictype/ctype_upper.h: Likewise.
19457         * lib/unictype/decdigit.h: Likewise.
19458         * lib/unictype/digit.h: Likewise.
19459         * lib/unictype/numeric.h: Likewise.
19460         * lib/unictype/pr_alphabetic.h: Likewise.
19461         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
19462         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
19463         * lib/unictype/pr_bidi_european_digit.h: Likewise.
19464         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
19465         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
19466         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
19467         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
19468         * lib/unictype/pr_combining.h: Likewise.
19469         * lib/unictype/pr_composite.h: Likewise.
19470         * lib/unictype/pr_currency_symbol.h: Likewise.
19471         * lib/unictype/pr_dash.h: Likewise.
19472         * lib/unictype/pr_decimal_digit.h: Likewise.
19473         * lib/unictype/pr_deprecated.h: Likewise.
19474         * lib/unictype/pr_diacritic.h: Likewise.
19475         * lib/unictype/pr_extender.h: Likewise.
19476         * lib/unictype/pr_grapheme_base.h: Likewise.
19477         * lib/unictype/pr_grapheme_extend.h: Likewise.
19478         * lib/unictype/pr_grapheme_link.h: Likewise.
19479         * lib/unictype/pr_id_continue.h: Likewise.
19480         * lib/unictype/pr_id_start.h: Likewise.
19481         * lib/unictype/pr_ideographic.h: Likewise.
19482         * lib/unictype/pr_ignorable_control.h: Likewise.
19483         * lib/unictype/pr_logical_order_exception.h: Likewise.
19484         * lib/unictype/pr_lowercase.h: Likewise.
19485         * lib/unictype/pr_numeric.h: Likewise.
19486         * lib/unictype/pr_other_alphabetic.h: Likewise.
19487         * lib/unictype/pr_punctuation.h: Likewise.
19488         * lib/unictype/pr_sentence_terminal.h: Likewise.
19489         * lib/unictype/pr_terminal_punctuation.h: Likewise.
19490         * lib/unictype/pr_unassigned_code_value.h: Likewise.
19491         * lib/unictype/pr_unified_ideograph.h: Likewise.
19492         * lib/unictype/pr_uppercase.h: Likewise.
19493         * lib/unictype/pr_xid_continue.h: Likewise.
19494         * lib/unictype/pr_xid_start.h: Likewise.
19495         * lib/unictype/pr_zero_width.h: Likewise.
19496         * lib/unictype/scripts.h: Likewise.
19497         * lib/unictype/scripts_byname.gperf: Likewise.
19498         * lib/unictype/sy_java_ident.h: Likewise.
19499         * lib/unigbrk/gbrkprop.h: Likewise.
19500         * lib/unilbrk/lbrkprop1.h: Likewise.
19501         * lib/unilbrk/lbrkprop2.h: Likewise.
19502         * lib/unilbrk/lbrktables.h: Likewise.
19503         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
19504         LBP_CP. Implement rule LB30.
19505         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
19506         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
19507         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
19508         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
19509         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
19510         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
19511         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
19512         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
19513         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
19514         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
19515         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
19516         bits instead of 16 bits in the code1 and code2 of each composition
19517         rule.
19518         (uc_composition): Update for Unicode 5.2.0.
19519         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
19520         * lib/uninorm/decomposition-table2.h: Likewise.
19521         * lib/uniwbrk/wbrkprop.h: Likewise.
19522         * tests/unicase/test-cased.c: Likewise.
19523         * tests/unicase/test-ignorable.c: Likewise.
19524         * tests/unicase/test-uc_tolower.c: Likewise.
19525         * tests/unicase/test-uc_totitle.c: Likewise.
19526         * tests/unicase/test-uc_toupper.c: Likewise.
19527         * tests/unictype/test-categ_C.c: Likewise.
19528         * tests/unictype/test-categ_Cf.c: Likewise.
19529         * tests/unictype/test-categ_Cn.c: Likewise.
19530         * tests/unictype/test-categ_L.c: Likewise.
19531         * tests/unictype/test-categ_Ll.c: Likewise.
19532         * tests/unictype/test-categ_Lm.c: Likewise.
19533         * tests/unictype/test-categ_Lo.c: Likewise.
19534         * tests/unictype/test-categ_Lu.c: Likewise.
19535         * tests/unictype/test-categ_M.c: Likewise.
19536         * tests/unictype/test-categ_Mc.c: Likewise.
19537         * tests/unictype/test-categ_Mn.c: Likewise.
19538         * tests/unictype/test-categ_N.c: Likewise.
19539         * tests/unictype/test-categ_Nd.c: Likewise.
19540         * tests/unictype/test-categ_Nl.c: Likewise.
19541         * tests/unictype/test-categ_No.c: Likewise.
19542         * tests/unictype/test-categ_P.c: Likewise.
19543         * tests/unictype/test-categ_Pd.c: Likewise.
19544         * tests/unictype/test-categ_Po.c: Likewise.
19545         * tests/unictype/test-categ_S.c: Likewise.
19546         * tests/unictype/test-categ_Sc.c: Likewise.
19547         * tests/unictype/test-categ_So.c: Likewise.
19548         * tests/unictype/test-ctype_alnum.c: Likewise.
19549         * tests/unictype/test-ctype_alpha.c: Likewise.
19550         * tests/unictype/test-ctype_graph.c: Likewise.
19551         * tests/unictype/test-ctype_lower.c: Likewise.
19552         * tests/unictype/test-ctype_print.c: Likewise.
19553         * tests/unictype/test-ctype_punct.c: Likewise.
19554         * tests/unictype/test-ctype_upper.c: Likewise.
19555         * tests/unictype/test-decdigit.h: Likewise.
19556         * tests/unictype/test-digit.h: Likewise.
19557         * tests/unictype/test-numeric.h: Likewise.
19558         * tests/unictype/test-pr_alphabetic.c: Likewise.
19559         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
19560         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
19561         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
19562         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
19563         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
19564         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
19565         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
19566         * tests/unictype/test-pr_combining.c: Likewise.
19567         * tests/unictype/test-pr_composite.c: Likewise.
19568         * tests/unictype/test-pr_currency_symbol.c: Likewise.
19569         * tests/unictype/test-pr_dash.c: Likewise.
19570         * tests/unictype/test-pr_decimal_digit.c: Likewise.
19571         * tests/unictype/test-pr_deprecated.c: Likewise.
19572         * tests/unictype/test-pr_diacritic.c: Likewise.
19573         * tests/unictype/test-pr_extender.c: Likewise.
19574         * tests/unictype/test-pr_grapheme_base.c: Likewise.
19575         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
19576         * tests/unictype/test-pr_grapheme_link.c: Likewise.
19577         * tests/unictype/test-pr_id_continue.c: Likewise.
19578         * tests/unictype/test-pr_id_start.c: Likewise.
19579         * tests/unictype/test-pr_ideographic.c: Likewise.
19580         * tests/unictype/test-pr_ignorable_control.c: Likewise.
19581         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
19582         * tests/unictype/test-pr_lowercase.c: Likewise.
19583         * tests/unictype/test-pr_numeric.c: Likewise.
19584         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
19585         * tests/unictype/test-pr_punctuation.c: Likewise.
19586         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
19587         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
19588         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
19589         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
19590         * tests/unictype/test-pr_uppercase.c: Likewise.
19591         * tests/unictype/test-pr_xid_continue.c: Likewise.
19592         * tests/unictype/test-pr_xid_start.c: Likewise.
19593         * tests/unictype/test-pr_zero_width.c: Likewise.
19594         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
19595         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
19596         changed behaviour: line breaking is now disallowed between a letter
19597         or '=' and '('.
19598         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
19599         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
19600         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
19601         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
19602         * tests/uniwidth/test-uc_width2.sh: Same updates as in
19603         lib/uniwidth/width.c.
19604         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
19605         without comments, but with the original copyright notice.
19606         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
19607         changes.
19608         * lib/unictype/categ_Cc.h: Likewise.
19609         * lib/unictype/categ_Co.h: Likewise.
19610         * lib/unictype/categ_Cs.h: Likewise.
19611         * lib/unictype/categ_Lt.h: Likewise.
19612         * lib/unictype/categ_Me.h: Likewise.
19613         * lib/unictype/categ_Pc.h: Likewise.
19614         * lib/unictype/categ_Pe.h: Likewise.
19615         * lib/unictype/categ_Pf.h: Likewise.
19616         * lib/unictype/categ_Pi.h: Likewise.
19617         * lib/unictype/categ_Ps.h: Likewise.
19618         * lib/unictype/categ_Sk.h: Likewise.
19619         * lib/unictype/categ_Sm.h: Likewise.
19620         * lib/unictype/categ_Z.h: Likewise.
19621         * lib/unictype/categ_Zl.h: Likewise.
19622         * lib/unictype/categ_Zp.h: Likewise.
19623         * lib/unictype/categ_Zs.h: Likewise.
19624         * lib/unictype/ctype_blank.h: Likewise.
19625         * lib/unictype/ctype_cntrl.h: Likewise.
19626         * lib/unictype/ctype_digit.h: Likewise.
19627         * lib/unictype/ctype_space.h: Likewise.
19628         * lib/unictype/ctype_xdigit.h: Likewise.
19629         * lib/unictype/mirror.h: Likewise.
19630         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
19631         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
19632         * lib/unictype/pr_bidi_block_separator.h: Likewise.
19633         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
19634         * lib/unictype/pr_bidi_common_separator.h: Likewise.
19635         * lib/unictype/pr_bidi_control.h: Likewise.
19636         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
19637         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
19638         * lib/unictype/pr_bidi_pdf.h: Likewise.
19639         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
19640         * lib/unictype/pr_bidi_whitespace.h: Likewise.
19641         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
19642         * lib/unictype/pr_format_control.h: Likewise.
19643         * lib/unictype/pr_hex_digit.h: Likewise.
19644         * lib/unictype/pr_hyphen.h: Likewise.
19645         * lib/unictype/pr_ids_binary_operator.h: Likewise.
19646         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
19647         * lib/unictype/pr_iso_control.h: Likewise.
19648         * lib/unictype/pr_join_control.h: Likewise.
19649         * lib/unictype/pr_left_of_pair.h: Likewise.
19650         * lib/unictype/pr_line_separator.h: Likewise.
19651         * lib/unictype/pr_math.h: Likewise.
19652         * lib/unictype/pr_non_break.h: Likewise.
19653         * lib/unictype/pr_not_a_character.h: Likewise.
19654         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
19655         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
19656         * lib/unictype/pr_other_id_continue.h: Likewise.
19657         * lib/unictype/pr_other_id_start.h: Likewise.
19658         * lib/unictype/pr_other_lowercase.h: Likewise.
19659         * lib/unictype/pr_other_math.h: Likewise.
19660         * lib/unictype/pr_other_uppercase.h: Likewise.
19661         * lib/unictype/pr_paired_punctuation.h: Likewise.
19662         * lib/unictype/pr_paragraph_separator.h: Likewise.
19663         * lib/unictype/pr_pattern_syntax.h: Likewise.
19664         * lib/unictype/pr_pattern_white_space.h: Likewise.
19665         * lib/unictype/pr_private_use.h: Likewise.
19666         * lib/unictype/pr_quotation_mark.h: Likewise.
19667         * lib/unictype/pr_radical.h: Likewise.
19668         * lib/unictype/pr_soft_dotted.h: Likewise.
19669         * lib/unictype/pr_space.h: Likewise.
19670         * lib/unictype/pr_titlecase.h: Likewise.
19671         * lib/unictype/pr_variation_selector.h: Likewise.
19672         * lib/unictype/pr_white_space.h: Likewise.
19673         * lib/unictype/sy_c_ident.h: Likewise.
19674         * lib/unictype/sy_c_whitespace.h: Likewise.
19675         * lib/unictype/sy_java_whitespace.h: Likewise.
19676         * modules/uni*/*: Bump version number of expected libunistring version.
19677         Reported by Simon Josefsson.
19678
19679 2011-01-09  Karl Heuer  <kwzh@gnu.org>
19680
19681         useless-if-before-free: fix typo in --help and make the internal,
19682         automatic version date update process work once again.
19683         --help output contained a NUL character instead of the
19684         backslash-zero that was intended.  Also, the "must lie within
19685         the first 8 lines" line is on line 9, and hence not getting
19686         automatically updated.
19687         * build-aux/useless-if-before-free: Fix the former by adding a
19688         backslash, and the latter by condensing the three lines of what-it-does
19689         to a single line, leaving one line of slack for the future.
19690
19691 2011-01-09  Bruno Haible  <bruno@clisp.org>
19692
19693         uniwidth/width: Fix width of U+1D173..U+1D17A.
19694         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
19695         symbolic_width, output_width_property_test): New functions.
19696         (main): Invoke output_nonspacing_property, output_width_property_test.
19697         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
19698         U+1D173..U+1D17A.
19699         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
19700         1.
19701         * modules/uniwidth/*: Bump version number of expected libunistring
19702         version.
19703         * modules/unilbrk/*: Likewise.
19704
19705 2011-01-08  Bruno Haible  <bruno@clisp.org>
19706
19707         uninorm tests: Preserve copyright of Unicode data file.
19708         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
19709         Mention modifications.
19710
19711 2011-01-08  Bruno Haible  <bruno@clisp.org>
19712
19713         gen-uni-tables: Prepare for Unicode 5.2.0.
19714         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
19715         (debug_output_lbp, output_lbp): Update.
19716
19717 2011-01-08  Bruno Haible  <bruno@clisp.org>
19718
19719         unilbrk: Clarify gen-uni-tables.c code.
19720         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
19721         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
19722         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
19723
19724 2011-01-07  Bruno Haible  <bruno@clisp.org>
19725
19726         strtod: Restore errno when successfully parsing Infinity or NaN.
19727         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
19728         restore the original errno.
19729
19730 2011-01-07  Bruno Haible  <bruno@clisp.org>
19731
19732         remove test: Avoid failure on HP-UX 11.
19733         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
19734
19735 2011-01-07  Bruno Haible  <bruno@clisp.org>
19736
19737         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
19738         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
19739         error code.
19740
19741 2011-01-07  Pádraig Brady <P@draigBrady.com>
19742
19743         ignore-value: fixup comments, and add Eric Blake
19744         as an author since he rewrote the macros.
19745         * lib/ignore-value.h (ignore_value):  State that
19746         we now support aggregates.  Also specify exactly
19747         when the GCC warn_unused_result feature was added.
19748
19749 2011-01-06  Eric Blake  <eblake@redhat.com>
19750
19751         ignore-value: support aggregate types
19752         * lib/ignore-value.h (ignore_value): Provide separate gcc
19753         definition.
19754         * modules/ignore-value-tests: New test module.
19755         * tests/test-ignore-value.c: New test.
19756
19757         maint.mk: improve sc_prohibit_strcmp regex
19758         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
19759         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
19760         definition of STRNEQ.
19761
19762         signal: work around Haiku issue with SIGBUS
19763         * lib/siglist.h: Add comment.
19764         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
19765         strsignal's favoring of SIGSEGV.
19766         * tests/test-signal.c (main): Avoid test failure.
19767         * doc/posix-headers/signal.texi (signal.h): Document the issue.
19768         Reported by Scott McCreary.
19769
19770         maint.mk: add pre-release check to ensure submodule commits are public
19771         * top/maint.mk (public-submodule-commit): New rule.
19772         (submodule-checks): New variable.
19773         (alpha beta stable): Depend on the variable.
19774
19775 2011-01-05  Pádraig Brady <P@draigBrady.com>
19776         and Jim Meyering  <meyering@redhat.com>
19777
19778         ignore-value: make ignore_value more generic; deprecate ignore_ptr
19779         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
19780         (ATTRIBUTE_DEPRECATED): Define.
19781         (_ignore_case): New function.
19782         (ignore_value): New macro, to replace the old function.
19783         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
19784         * modules/ignore-value (Depends-on): Add stdint.
19785
19786 2011-01-04  Eric Blake  <eblake@redhat.com>
19787
19788         doc: regenerate INSTALL
19789         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
19790         @firstparagraphindent support, now that autoconf dropped it.
19791         (INSTALL_PRELUDE): Reinstate old macro.
19792         * doc/install.texi: Resync from autoconf.
19793         * doc/INSTALL: Reflect recent autoconf update.
19794         * doc/INSTALL.ISO: Likewise.
19795         * doc/INSTALL.UTF-8: Likewise.
19796         Reported by Karl Berry.
19797
19798 2011-01-04  Bruce Korb  <address@hidden>
19799
19800         git-version-gen: avoid a sub-shell
19801         * build-aux/git-version-gen: Redirect stderr in `...` via
19802         "exec 2>...", rather than via an added sub-shell.
19803
19804 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
19805
19806         git-version-gen: use (...) rather than sh -c '...'
19807         * build-aux/git-version-gen: Rather than hard-coding a shell's name
19808         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
19809
19810 2011-01-03  Jim Meyering  <meyering@redhat.com>
19811
19812         git-version-gen: convert leading TABs to spaces
19813         * build-aux/git-version-gen: Expand leading TABs.
19814
19815         git-version-gen: handle failed "git rev-list"
19816         * build-aux/git-version-gen: Rather than leaking a "fatal" error
19817         from git and proceeding as if it had succeeded but printed no SHA1
19818         checksums, suppress the diagnostic and handle the failure.
19819         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
19820
19821         git-version-gen: include command name in one more diagnostic
19822         * build-aux/git-version-gen: When the required .tarball-version file
19823         was missing or unreadable, you might see the diagnostic from "cat",
19824         but no trace of the name of the invoking script.  Now, you still see
19825         the diagnostic from cat, but also get one from "git-version-gen: ".
19826         Inspired by a patch from Bruce Korb.
19827
19828         update-copyright: adjust test to match changed code
19829         * tests/test-update-copyright.sh: Change test's expected output
19830         to match new actual output.
19831
19832 2011-01-02  Bruno Haible  <bruno@clisp.org>
19833
19834         getlogin_r: Avoid test failure on HP-UX 11.
19835         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
19836         ERANGE when the second argument is zero.
19837         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
19838         portability problem.
19839
19840 2011-01-02  Bruce Korb  <bkorb@gnu.org>
19841
19842         * build-aux/update-copyright: doc Simon's changes
19843
19844 2011-01-02  Simon Josefsson  <simon@josefsson.org>
19845
19846         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
19847         environment variable.
19848
19849 2011-01-02  Bruno Haible  <bruno@clisp.org>
19850
19851         unigbrk: Avoid gcc warnings.
19852         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
19853         unused variable.
19854         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
19855         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
19856         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
19857         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
19858         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
19859         Change type of first argument to 'const char *'.
19860         (main): Remove unused variable.
19861         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
19862         type of first argument to 'const char *'.
19863         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
19864         Likewise.
19865         (main): Change type of variable 's'.
19866         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
19867         to 'int'.
19868
19869 2011-01-02  Bruno Haible  <bruno@clisp.org>
19870
19871         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
19872         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
19873         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
19874         bug.
19875         * lib/pwrite.c: Undo 2010-12-31 patch.
19876         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
19877
19878 2011-01-02  Bruno Haible  <bruno@clisp.org>
19879
19880         pread: Fix test whether it works.
19881         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
19882
19883 2011-01-02  Bruno Haible  <bruno@clisp.org>
19884
19885         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
19886         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
19887         ends in "6". Don't require a specific month name. Try also the locale
19888         names found on HP-UX 11 and Solaris 7.
19889
19890 2011-01-02  Bruno Haible  <bruno@clisp.org>
19891
19892         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
19893         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
19894         C linkage.
19895         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
19896
19897 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
19898
19899         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
19900         for consistency, since the "cluster" term is not used elsewhere.
19901         * lib/unigbrk.in.h: Update name.
19902         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
19903         * lib/unigbrk/u16-grapheme-next.c: Update name.
19904         * lib/unigbrk/u16-grapheme-prev.c: Update name.
19905         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
19906         * lib/unigbrk/u32-grapheme-next.c: Update name.
19907         * lib/unigbrk/u32-grapheme-prev.c: Update name.
19908         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
19909         * lib/unigbrk/u8-grapheme-next.c: Update name.
19910         * lib/unigbrk/u8-grapheme-prev.c: Update name.
19911         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
19912         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
19913         Suggested by Bruno Haible.
19914
19915 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
19916
19917         Remove module 'u8-grapheme-len' as too redundant with
19918         'u8-grapheme-next'.
19919         * modules/unigbrk/u8-grapheme-len: Delete file.
19920         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
19921         * lib/unigbrk.in.h: Remove prototype for deleted function.
19922         * lib/unigbrk/u8-grapheme-len.c: Delete file.
19923         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
19924
19925         Remove module 'u16-grapheme-len' as too redundant with
19926         'u16-grapheme-next'.
19927         * modules/unigbrk/u16-grapheme-len: Delete file.
19928         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
19929         * lib/unigbrk.in.h: Remove prototype for deleted function.
19930         * lib/unigbrk/u16-grapheme-len.c: Delete file.
19931         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
19932
19933         Remove module 'u32-grapheme-len' as too redundant with
19934         'u32-grapheme-next'.
19935         * modules/unigbrk/u32-grapheme-len: Delete file.
19936         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
19937         * lib/unigbrk.in.h: Remove prototype for deleted function.
19938         * lib/unigbrk/u32-grapheme-len.c: Delete file.
19939         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
19940
19941         Suggested by Bruno Haible.
19942
19943 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
19944
19945         * unigbrk.in.h: Fix typo: "ben" => "been".
19946         Reported by Bruno Haible.
19947
19948 2011-01-01  Jim Meyering  <meyering@redhat.com>
19949
19950         maint: update almost all copyright ranges to include 2011
19951         Run the new "make update-copyright" rule.
19952
19953 2011-01-01  Jim Meyering  <meyering@redhat.com>
19954
19955         maint: update-copyright: exempt doc/INSTALL*
19956         * Makefile (update-copyright): Also exclude doc/INSTALL*,
19957         since they are generated.  Suggested by Bruno Haible.
19958
19959 2011-01-01  Jim Meyering  <meyering@redhat.com>
19960
19961         maint: refine the update-copyright rule
19962         * Makefile (update-copyright): Also exclude any file that includes
19963         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
19964         code that merely generates the comment.
19965
19966 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
19967
19968         New module 'u8-grapheme-len'.
19969         * modules/unigbrk/u8-grapheme-len: New file.
19970         * modules/unigbrk/u8-grapheme-len-tests: New file.
19971         * lib/unigbrk.in.h: Add prototype for new function.
19972         * lib/unigbrk/u8-grapheme-len.c: New file.
19973         * tests/unigbrk/test-u8-grapheme-len.c: New file.
19974
19975         New module 'u16-grapheme-len'.
19976         * modules/unigbrk/u16-grapheme-len: New file.
19977         * modules/unigbrk/u16-grapheme-len-tests: New file.
19978         * lib/unigbrk.in.h: Add prototype for new function.
19979         * lib/unigbrk/u16-grapheme-len.c: New file.
19980         * tests/unigbrk/test-u16-grapheme-len.c: New file.
19981
19982         New module 'u32-grapheme-len'.
19983         * modules/unigbrk/u32-grapheme-len: New file.
19984         * modules/unigbrk/u32-grapheme-len-tests: New file.
19985         * lib/unigbrk.in.h: Add prototype for new function.
19986         * lib/unigbrk/u32-grapheme-len.c: New file.
19987         * tests/unigbrk/test-u32-grapheme-len.c: New file.
19988
19989         New module 'u8-grapheme-next'.
19990         * modules/unigbrk/u8-grapheme-next: New file.
19991         * modules/unigbrk/u8-grapheme-next-tests: New file.
19992         * lib/unigbrk.in.h: Add prototype for new function.
19993         * lib/unigbrk/u8-grapheme-next.c: New file.
19994         * tests/unigbrk/test-u8-grapheme-next.c: New file.
19995
19996         New module 'u16-grapheme-next'.
19997         * modules/unigbrk/u16-grapheme-next: New file.
19998         * modules/unigbrk/u16-grapheme-next-tests: New file.
19999         * lib/unigbrk.in.h: Add prototype for new function.
20000         * lib/unigbrk/u16-grapheme-next.c: New file.
20001         * tests/unigbrk/test-u16-grapheme-next.c: New file.
20002
20003         New module 'u32-grapheme-next'.
20004         * modules/unigbrk/u32-grapheme-next: New file.
20005         * modules/unigbrk/u32-grapheme-next-tests: New file.
20006         * lib/unigbrk.in.h: Add prototype for new function.
20007         * lib/unigbrk/u32-grapheme-next.c: New file.
20008         * tests/unigbrk/test-u32-grapheme-next.c: New file.
20009
20010         New module 'u8-grapheme-prev'.
20011         * modules/unigbrk/u8-grapheme-prev: New file.
20012         * modules/unigbrk/u8-grapheme-prev-tests: New file.
20013         * lib/unigbrk.in.h: Add prototype for new function.
20014         * lib/unigbrk/u8-grapheme-prev.c: New file.
20015         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
20016
20017         New module 'u16-grapheme-prev'.
20018         * modules/unigbrk/u16-grapheme-prev: New file.
20019         * modules/unigbrk/u16-grapheme-prev-tests: New file.
20020         * lib/unigbrk.in.h: Add prototype for new function.
20021         * lib/unigbrk/u16-grapheme-prev.c: New file.
20022         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
20023
20024         New module 'u32-grapheme-prev'.
20025         * modules/unigbrk/u32-grapheme-prev: New file.
20026         * modules/unigbrk/u32-grapheme-prev-tests: New file.
20027         * lib/unigbrk.in.h: Add prototype for new function.
20028         * lib/unigbrk/u32-grapheme-prev.c: New file.
20029         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
20030
20031         New module 'u8-grapheme-breaks'.
20032         * modules/unigbrk/u8-grapheme-breaks: New file.
20033         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
20034         * lib/unigbrk.in.h: Add prototype for new function.
20035         * lib/unigbrk/u8-grapheme-breaks.c: New file.
20036         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
20037
20038         New module 'u16-grapheme-breaks'.
20039         * modules/unigbrk/u16-grapheme-breaks: New file.
20040         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
20041         * lib/unigbrk.in.h: Add prototype for new function.
20042         * lib/unigbrk/u16-grapheme-breaks.c: New file.
20043         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
20044
20045         New module 'u32-grapheme-breaks'.
20046         * modules/unigbrk/u32-grapheme-breaks: New file.
20047         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
20048         * lib/unigbrk.in.h: Add prototype for new function.
20049         * lib/unigbrk/u32-grapheme-breaks.c: New file.
20050         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
20051
20052         New module 'ulc-grapheme-breaks'.
20053         * modules/unigbrk/ulc-grapheme-breaks: New file.
20054         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
20055         * m4/locale-ar.m4: New file.
20056         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
20057         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
20058         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
20059
20060 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
20061
20062         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
20063         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
20064         modified how this file was generated before I initially submitted
20065         the module, but failed to regenerate it.  This meant that several
20066         of the level2 entries were wrong.
20067         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
20068         Remove the division-by-2 that is folded into the table now that
20069         gbrkprop.h has been regenerated properly.  Now -1 entries are
20070         handled correctly.
20071
20072         New module 'unigbrk/uc-gbrk-prop-tests'.
20073         * modules/unigbrk/uc-gbrk-prop-tests: New file.
20074         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
20075         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
20076         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
20077
20078 2011-01-01  Bruno Haible  <bruno@clisp.org>
20079
20080         Avoid use of hexadecimal escapes.
20081         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
20082         instead of hexadecimal escapes.
20083
20084 2011-01-01  Jim Meyering  <meyering@redhat.com>
20085
20086         maint: new rule to update copyright year ranges
20087         * Makefile (update-copyright): New rule.
20088
20089         maint: indent with TABs in Makefile
20090         * Makefile: Expand leading sequences of spaces to TABs
20091
20092         version-etc: update the copyright year it reports
20093         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
20094
20095 2010-12-31  Bruno Haible  <bruno@clisp.org>
20096
20097         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
20098         * lib/isfinite.c (zerof, zerod, zerol): New variables.
20099         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
20100         zero.
20101
20102 2010-12-31  Bruno Haible  <bruno@clisp.org>
20103
20104         pwrite: Work around HP-UX 11.11 bug.
20105         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
20106         works and set REPLACE_PWRITE if not.
20107         * lib/pwrite.c (pwrite): Add an implementation that uses the system
20108         function.
20109         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
20110
20111 2010-12-31  Bruno Haible  <bruno@clisp.org>
20112
20113         pread: Work around HP-UX 11 bugs.
20114         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
20115         and set REPLACE_PREAD if not.
20116         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
20117
20118 2010-12-31  Eric Blake  <eblake@redhat.com>
20119
20120         nl_langinfo: fix YESEXPR on Irix 6.5
20121         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
20122         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
20123         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
20124         it.
20125
20126 2010-12-31  Bruno Haible  <bruno@clisp.org>
20127
20128         iconv: Document HP-UX 11 bug.
20129         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
20130
20131 2010-12-31  Bruno Haible  <bruno@clisp.org>
20132
20133         ldexpl: Fix link error on HP-UX 11.
20134         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
20135         LDEXPL_LIBM, using $ISNANL_LIBM.
20136
20137 2010-12-31  Eric Blake  <eblake@redhat.com>
20138
20139         ftello: avoid compilation failure with SunStudio c89
20140         * lib/ftello.c (ftello): Use lseek, not llseek.
20141
20142         tests: avoid failing coreutils tests on cygwin
20143         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
20144         (create_exe_shims_): Return 0 when skipping.
20145
20146 2010-12-31  Bruno Haible  <bruno@clisp.org>
20147
20148         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
20149         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
20150
20151 2010-12-31  Bruno Haible  <bruno@clisp.org>
20152
20153         waitpid: Fix link error in C++ mode.
20154         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
20155
20156 2010-12-31  Bruno Haible  <bruno@clisp.org>
20157
20158         isnan: Use GCC built-ins when possible.
20159         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
20160         __builtin_isnan.
20161         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
20162         (isnan): Define using GCC built-ins for GCC >= 4.0.
20163
20164 2010-12-31  Bruno Haible  <bruno@clisp.org>
20165
20166         isnand: Fix mistake.
20167         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
20168         __builtin_isnand.
20169
20170 2010-12-31  Bruno Haible  <bruno@clisp.org>
20171
20172         open: Avoid C++ error on HP-UX 11.
20173         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
20174
20175 2010-12-31  Bruno Haible  <bruno@clisp.org>
20176
20177         time_r: Add missing declarations on HP-UX 11.
20178         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
20179         instead of HAVE_LOCALTIME_R.
20180         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
20181         HAVE_LOCALTIME_R always.
20182         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
20183         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
20184         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
20185         HAVE_LOCALTIME_R.
20186         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
20187         * doc/posix-functions/localtime_r.texi: Likewise.
20188
20189 2010-12-29  Eric Blake  <eblake@redhat.com>
20190
20191         mountlist: tweak previous commit
20192         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
20193         Reported by Paul Eggert.
20194
20195         mountlist: fix local drive detection on cygwin
20196         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
20197         that works for cygwin.
20198
20199 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
20200
20201         ftoastr, snprintf: ftoastr + snprintf module
20202         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
20203         since the snprintf module now should be good enough here.
20204         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
20205         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
20206         and gl_MODULE_INDICATOR([snprintf]), but the former enables
20207         GNULIB_SNPRINTF only for the test directory, and the latter
20208         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
20209         seems to suffice by itself.
20210
20211 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
20212
20213         alloca: one step towards thread-safety
20214         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
20215         need for a static variable.  All callers changed.  This does not
20216         make the alloca replacement thread-safe, but it's one step.
20217
20218         tests: minor indenting change
20219         * tests/init.sh: Sync from coreutils housekeeping patch
20220         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
20221         to keep lines within 80 columns.
20222
20223 2010-12-28  Jim Meyering  <meyering@redhat.com>
20224
20225         regex: don't infloop on persistent failing calloc
20226         * lib/regexec.c (build_trtable): Return failure indication upon
20227         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
20228         In glibc, this was fixed for version 2.13:
20229         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
20230
20231 2010-12-28  Bruno Haible  <bruno@clisp.org>
20232             Paul Eggert <eggert@cs.ucla.edu>
20233
20234         linkat: Make implementation robust against system behaviour variations.
20235         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
20236         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
20237         way, and to -2 if it needs a generic runtime test.
20238         * lib/linkat.c (solaris_optimized_link_immediate,
20239         solaris_optimized_link_follow): New functions.
20240         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
20241         (check_same_link): Use it.
20242
20243 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
20244
20245         New module 'unigbrk/base'.
20246         * modules/unigbrk/base: New file.
20247         * lib/unigbrk.in.h: New file.
20248
20249         New module 'unigbrk/uc-gbrk-prop'.
20250         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
20251         * modules/unigbrk/uc-gbrk-prop: New file.
20252         * lib/unigbrk/gbrkprop.h: New file.
20253         * lib/unigbrk/uc-gbrk-prop.c: New file.
20254
20255         New module 'unigbrk/uc-is-grapheme-break'.
20256         * modules/unigbrk/uc-is-grapheme-break: New file.
20257         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
20258         * lib/unigbrk/uc-is-grapheme-break.c: New file.
20259         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
20260         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
20261         * tests/unigbrk/GraphemeBreakTest.txt: New file.
20262
20263         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
20264
20265 2010-12-27  Bruno Haible  <bruno@clisp.org>
20266
20267         linkat test: Avoid failure on Solaris 11 2010-11.
20268         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
20269
20270 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
20271
20272         utimens: work around glibc rounding bug on more platforms
20273         * lib/utimens.c (fdutimens): Work around rounding bug even if
20274         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
20275         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
20276
20277 2010-12-27  Bruno Haible  <bruno@clisp.org>
20278
20279         select tests: Improve comments.
20280         * tests/test-select.c (do_select): Add comments.
20281
20282 2010-12-27  Bruno Haible  <bruno@clisp.org>
20283
20284         select tests: Safer way of handling timeout.
20285         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
20286         at every invocation.
20287
20288 2010-12-27  Bruno Haible  <bruno@clisp.org>
20289
20290         select tests: Use 'bool' where appropriate.
20291         * tests/test-select.c (connect_to_socket): Change argument type to
20292         'bool'.
20293
20294 2010-12-27  Bruno Haible  <bruno@clisp.org>
20295
20296         select tests: Use existing modules.
20297         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
20298         (configure.ac): Don't test for unistd.h.
20299         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
20300         declared in <unistd.h>.
20301
20302 2010-12-27  Bruno Haible  <bruno@clisp.org>
20303
20304         mbrtowc: Work around a Solaris 7 bug.
20305         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
20306         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
20307         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
20308         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
20309         MBRTOWC_NULL_ARG1_BUG.
20310         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
20311         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
20312         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
20313         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
20314
20315 2010-12-27  Jim Meyering  <meyering@redhat.com>
20316
20317         read-file.c: tweak syntax
20318         * lib/read-file.c (fread_file): Remove space after "*" in function
20319         definitions.
20320
20321 2010-12-27  Bruno Haible  <bruno@clisp.org>
20322
20323         times test: Avoid gcc warnings on OSF/1.
20324         * tests/test-times.c (main): Cast printf arguments from clock_t to
20325         'long int'.
20326
20327 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
20328
20329         utimens: work around glibc rounding bug on older Linux kernels
20330         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
20331         on Linux with a glibc whose utimes might not work, then work
20332         around a longstanding glibc bug involving rounding rather than
20333         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
20334         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
20335
20336 2010-12-26  Bruno Haible  <bruno@clisp.org>
20337
20338         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
20339         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
20340         _GL_CXXALIAS_SYS.
20341         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20342
20343 2010-12-26  Bruno Haible  <bruno@clisp.org>
20344
20345         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
20346         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
20347         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
20348         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
20349         looking for the declaration.
20350         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
20351         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
20352         problem.
20353         * doc/posix-functions/inet_pton.texi: Likewise.
20354
20355 2010-12-26  Bruno Haible  <bruno@clisp.org>
20356
20357         arpa_inet: Use the common idioms with C++ support.
20358         * lib/arpa_inet.in.h: Include c++defs.h.
20359         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
20360         support.
20361         * modules/arpa_inet (Depends-on): Add c++defs.
20362         (Makefile.am): Substitute the contents of c++defs.h.
20363         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
20364         * modules/arpa_inet-c++-tests: New file.
20365         * tests/test-arpa_inet-c++.cc: New file.
20366
20367 2010-12-25  Bruno Haible  <bruno@clisp.org>
20368
20369         Fix more C++ link errors on Solaris 8.
20370         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
20371         $(LIB_EACCESS).
20372         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
20373         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
20374         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
20375         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
20376         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
20377
20378 2010-12-25  Bruno Haible  <bruno@clisp.org>
20379
20380         printf-posix: Fix link error when a non-GCC compiler is used.
20381         * lib/stdio.in.h (printf): When not using GCC, override printf
20382         correctly.
20383         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20384
20385 2010-12-25  Bruno Haible  <bruno@clisp.org>
20386
20387         strerror_r-posix: Update doc.
20388         * doc/posix-functions/strerror_r.texi: Update doc about the return
20389         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
20390
20391 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
20392
20393         utimens: simplify the logic of the previous change
20394         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
20395         This should not affect whether the test succeeds or fails.
20396
20397         utimens: configure better on hosts with NFS clock skew
20398         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
20399         uses the clock of the local host.  It might use the clock of the
20400         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
20401         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
20402
20403 2010-12-25  Bruno Haible  <bruno@clisp.org>
20404
20405         ptsname test: Avoid failure on Solaris.
20406         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
20407         open a pseudo-terminal; don't use BSD-style ptys.
20408         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
20409
20410 2010-12-25  Bruno Haible  <bruno@clisp.org>
20411
20412         ptsname: Avoid ERANGE failure on some systems.
20413         * lib/ptsname.c (buffer): Increase size.
20414
20415 2010-12-25  Bruno Haible  <bruno@clisp.org>
20416
20417         rename, renameat: Avoid test failures at NFS mounted locations.
20418         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
20419         so that subsequent mkdir calls succeed.
20420
20421 2010-12-25  Bruno Haible  <bruno@clisp.org>
20422
20423         iswblank: Fix C++ link error on Solaris 8.
20424         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
20425         _GL_FUNCDECL_SYS.
20426
20427 2010-12-25  Bruno Haible  <bruno@clisp.org>
20428
20429         unistd: Fix C++ link error on Solaris 8.
20430         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
20431
20432 2010-12-25  Bruno Haible  <bruno@clisp.org>
20433
20434         readlink doc: Mention an old glibc bug.
20435         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
20436
20437 2010-12-25  Bruno Haible  <bruno@clisp.org>
20438
20439         fcntl-h: Fix for use of C++ on glibc systems.
20440         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
20441         also on glibc systems in C++ mode.
20442         Reported by Gary V. Vaughan <gary@gnu.org>.
20443
20444 2010-12-25  Bruno Haible  <bruno@clisp.org>
20445
20446         roundl-ieee: Make it work on OSF/1 5.1 with cc.
20447         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
20448
20449 2010-12-25  Bruno Haible  <bruno@clisp.org>
20450
20451         truncl-ieee: Make it work on OSF/1 5.1 with cc.
20452         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
20453         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
20454         test whether truncl works according to ISO C 99 with IEC 60559.
20455         * m4/truncl-ieee.m4: New file.
20456         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
20457         m4/signbit.m4.
20458         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
20459
20460 2010-12-25  Bruno Haible  <bruno@clisp.org>
20461
20462         ceill-ieee: Make it work on OSF/1 5.1 with cc.
20463         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
20464         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
20465         test whether ceill works according to ISO C 99 with IEC 60559.
20466         * m4/ceill-ieee.m4: New file.
20467         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
20468         m4/signbit.m4.
20469         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
20470
20471 2010-12-25  Bruno Haible  <bruno@clisp.org>
20472
20473         Ensure all prerequisites of <wchar.h> are included.
20474         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
20475         before <wchar.h>.
20476         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
20477         gl_MBRLEN_NUL_RETVAL): Likewise.
20478         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
20479         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
20480         AC_FUNC_MBRTOWC): Likewise.
20481         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20482         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
20483         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20484         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
20485         Likewise.
20486         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
20487         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
20488         (gl_WCHAR_H): Improve comments.
20489         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
20490
20491 2010-12-25  Bruno Haible  <bruno@clisp.org>
20492
20493         strtok_r: Fix C syntax error in autoconf macro.
20494         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
20495         characters in test program.
20496
20497 2010-12-24  Bruno Haible  <bruno@clisp.org>
20498
20499         ceil, trunc, round: Fix gcc warnings.
20500         * lib/ceil.c (MIN): Undefine before redefining.
20501         * lib/trunc.c (MIN): Likewise.
20502         * lib/round.c (MIN): Likewise.
20503         Include <math.h> first.
20504
20505 2010-12-24  Bruno Haible  <bruno@clisp.org>
20506
20507         select tests: Avoid failures on OSF/1 5.1.
20508         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
20509         failure of closing the last socket; it may fail with ECONNRESET.
20510
20511 2010-12-24  Eric Blake  <eblake@redhat.com>
20512
20513         stdint: avoid HP-UX 10.20 preprocessor bug
20514         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
20515         than #if.
20516         * tests/test-floor2.c (main): Likewise.
20517         Reported by Peter O'Gorman.
20518
20519         pipe: make obsoletion transition easier
20520         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
20521         * modules/pipe (Files): Include revived file.
20522         (Include): Drop reference, to mirror getdate's behavior.
20523
20524 2010-12-24  Bruno Haible  <bruno@clisp.org>
20525
20526         sys_socket: Hide mismatch of declarations on NonStop Kernel.
20527         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
20528         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
20529         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20530
20531 2010-12-24  Bruno Haible  <bruno@clisp.org>
20532
20533         gethostname: Ensure declaration on NonStop Kernel.
20534         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
20535         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20536
20537 2010-12-24  Bruno Haible  <bruno@clisp.org>
20538
20539         sys_select: Ensure all necessary types on NonStop Kernel.
20540         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
20541         include <sys/time.h>.
20542         * doc/posix-headers/sys_select.texi: Mention that it's missing on
20543         NonStop Kernel.
20544         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20545
20546 2010-12-24  Bruno Haible  <bruno@clisp.org>
20547
20548         sys_select: Remove unneeded include.
20549         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
20550         have <sys/select.h>.
20551
20552 2010-12-24  Bruno Haible  <bruno@clisp.org>
20553
20554         gethostname: Provide a fallback for HOST_NAME_MAX.
20555         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
20556         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
20557         instead.
20558         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20559
20560 2010-12-24  Bruno Haible  <bruno@clisp.org>
20561
20562         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
20563         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
20564         (SA_RESTART): Likewise.
20565         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20566
20567 2010-12-24  Bruno Haible  <bruno@clisp.org>
20568
20569         signal: Define NSIG.
20570         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
20571         * tests/test-signal.c (nsig): New variable.
20572         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20573
20574 2010-12-24  Bruno Haible  <bruno@clisp.org>
20575
20576         rename, renameat: Avoid test failures on OSF/1 5.1.
20577         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
20578         alternative error codes.
20579         * tests/test-renameat.c (main): Likewise.
20580
20581 2010-12-24  Bruno Haible  <bruno@clisp.org>
20582
20583         *printf: Detect large precisions bug on Solaris 10/SPARC.
20584         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
20585         by Paul Eggert.
20586         * tests/test-snprintf-posix.h (test_function): Add this test code here
20587         too.
20588         * tests/test-sprintf-posix.h (test_function): Likewise.
20589         * tests/test-vasnprintf-posix.c (test_function): Likewise.
20590         * tests/test-vasprintf-posix.c (test_function): Likewise.
20591         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
20592         around by gnulib.
20593         * doc/posix-functions/printf.texi: Likewise.
20594         * doc/posix-functions/snprintf.texi: Likewise.
20595         * doc/posix-functions/sprintf.texi: Likewise.
20596         * doc/posix-functions/vfprintf.texi: Likewise.
20597         * doc/posix-functions/vprintf.texi: Likewise.
20598         * doc/posix-functions/vsnprintf.texi: Likewise.
20599         * doc/posix-functions/vsprintf.texi: Likewise.
20600         * doc/posix-functions/dprintf.texi: Undo last commit.
20601         * doc/posix-functions/vdprintf.texi: Likewise.
20602
20603 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
20604
20605         tests: port test-fdutimensat.c to Solaris 8
20606         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
20607         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
20608         On Solaris 8, it fails with errno == ENOSYS, because there is no
20609         futimens (so it can't use the fd), and there is no lutimens (so it
20610         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
20611
20612         vsnprintf: make more consistent with snprintf; doc fixes
20613
20614         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
20615         the byte count return problem was promoted from the snprintf-posix
20616         to the snprintf module.
20617         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
20618         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
20619         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
20620         * tests/test-snprintf.c (main): Check the byte count returned.
20621         * tests/test-vsnprintf.c (main): Likewise.
20622
20623 2010-12-23  Eric Blake  <eblake@redhat.com>
20624
20625         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
20626         * modules/sigpipe (License): Relax license.
20627
20628 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
20629
20630         doc: document Solaris printf bug with large float precisions
20631         * doc/posix-functions/dprintf.texi (dprintf):
20632         * doc/posix-functions/fprintf.texi (fprintf):
20633         * doc/posix-functions/printf.texi (printf):
20634         * doc/posix-functions/snprintf.texi (snprintf):
20635         * doc/posix-functions/sprintf.texi (sprintf):
20636         * doc/posix-functions/vdprintf.texi (vdprintf):
20637         * doc/posix-functions/vfprintf.texi (vfprintf):
20638         * doc/posix-functions/vprintf.texi (vprintf):
20639         * doc/posix-functions/vsnprintf.texi (vsnprintf):
20640         * doc/posix-functions/vsprintf.texi (vsprintf):
20641         Mention that these functions mishandle large floating point
20642         precisions on Solaris 10.  The same bug is also present in Solaris
20643         8, and I assume earlier.  This causes "cd gnulib-tests; make
20644         check" to fail on Solaris 8 (and I assume, later) when building
20645         the latest coreutils, in test-vasprintf-posix's call to
20646         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
20647         the wide flavors (e.g., wprintf) so this patch just updates the
20648         documentation for the narrow ones.
20649
20650         test-posixtm.c: add two tests
20651         * tests/test-posixtm.c: Add two tests, to highlight the
20652         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
20653         around this bug; this is merely to document it.
20654
20655 2010-12-22  Bruno Haible  <bruno@clisp.org>
20656
20657         getlogin_r: Work around portability problem on OSF/1.
20658         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
20659         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
20660         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
20661         test for a truncated result.
20662         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
20663         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
20664         * modules/getlogin_r (Depends-on): Add memchr.
20665         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
20666
20667 2010-12-22  Bruno Haible  <bruno@clisp.org>
20668
20669         ptsname: Avoid test failure on OSF/1 5.1.
20670         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
20671         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
20672         (same_slave): New function.
20673         (main): Use it to compare ptsname's result with the expected file name.
20674
20675 2010-12-22  Bruno Haible  <bruno@clisp.org>
20676
20677         Port extended stdio modules to HP NonStop Kernel.
20678         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
20679         macros.
20680         * lib/fbufmode.c: Update comments.
20681         * lib/fflush.c: Likewise.
20682         * lib/fpurge.c: Likewise.
20683         * lib/freadable.c: Likewise.
20684         * lib/freadahead.c: Likewise.
20685         * lib/freading.c: Likewise.
20686         * lib/freadptr.c: Likewise.
20687         * lib/freadseek.c: Likewise.
20688         * lib/fseeko.c: Likewise.
20689         * lib/fseterr.c: Likewise.
20690         * lib/fwritable.c: Likewise.
20691         * lib/fwriting.c: Likewise.
20692         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20693
20694 2010-12-22  Bruno Haible  <bruno@clisp.org>
20695
20696         ttyname_r: Work around bug on OSF/1 5.1.
20697         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
20698         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
20699         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
20700         present.
20701         * lib/ttyname_r.c (ttyname_r): Update comments.
20702
20703 2010-12-22  Bruno Haible  <bruno@clisp.org>
20704
20705         round: Implement result sign according to IEEE 754.
20706         * lib/round.c (MIN, MINUS_ZERO): New macros.
20707         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
20708         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
20709         * tests/test-round-ieee.c (main): Likewise.
20710         * tests/test-roundl-ieee.c (main): Likewise.
20711
20712         trunc: Implement result sign according to IEEE 754.
20713         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
20714         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
20715         * tests/test-trunc2.c: Include minus-zero.h.
20716         (MINUS_ZERO): New macro.
20717         (trunc_reference): Keep in sync with lib/trunc.c.
20718         * tests/test-truncf2.c: Include minus-zero.h.
20719         (MINUS_ZERO): New macro.
20720         (truncf_reference): Keep in sync with lib/trunc.c.
20721         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
20722         * tests/test-trunc-ieee.c (main): Likewise.
20723         * tests/test-truncl-ieee.c (main): Likewise.
20724
20725         ceil: Implement result sign according to IEEE 754.
20726         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
20727         (FUNC): Return -0.0 for -1 < x < 0.
20728         * tests/test-ceil2.c: Include minus-zero.h.
20729         (MINUS_ZERO): New macro.
20730         (ceil_reference): Keep in sync with lib/ceil.c.
20731         * tests/test-ceilf2.c: Include minus-zero.h.
20732         (MINUS_ZERO): New macro.
20733         (ceilf_reference): Keep in sync with lib/ceil.c.
20734         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
20735         * tests/test-ceil-ieee.c (main): Likewise.
20736         * tests/test-ceill-ieee.c (main): Likewise.
20737
20738         floor: Implement result sign according to IEEE 754.
20739         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
20740         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
20741         * tests/test-floorf2.c (floorf_reference): Likewise.
20742         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
20743         * tests/test-floor-ieee.c (main): Likewise.
20744         * tests/test-floorl-ieee.c (main): Likewise.
20745
20746 2010-12-22  Bruno Haible  <bruno@clisp.org>
20747
20748         getaddrinfo: Update doc.
20749         * doc/posix-functions/gai_strerror.texi: Return type is also different
20750         on AIX and HP-UX.
20751
20752 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
20753
20754         getaddrinfo, inet_ntop: Update doc for Solaris.
20755         * doc/posix-functions/gai_strerror.texi: Return type is also an
20756         issue on Solaris 9 and earlier.
20757         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
20758         on Solaris 10 and earlier.
20759
20760 2010-12-21  Bruno Haible  <bruno@clisp.org>
20761
20762         New module 'roundl-ieee'.
20763         * modules/roundl-ieee: New file.
20764         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
20765         test whether roundl works according to ISO C 99 with IEC 60559.
20766         * m4/roundl-ieee.m4: New file.
20767         * modules/roundl-ieee-tests: New file.
20768         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
20769         * tests/test-roundl.c (main): Remove signbit tests.
20770         * modules/roundl-tests (Depends-on): Remove signbit.
20771         * doc/posix-functions/roundl.texi: Mention the new module.
20772
20773 2010-12-21  Bruno Haible  <bruno@clisp.org>
20774
20775         New module 'truncl-ieee'.
20776         * modules/truncl-ieee: New file.
20777         * modules/truncl-ieee-tests: New file.
20778         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
20779         * tests/test-truncl.c (main): Remove signbit tests.
20780         * modules/truncl-tests (Depends-on): Remove signbit.
20781         * doc/posix-functions/truncl.texi: Mention the new module.
20782
20783 2010-12-21  Bruno Haible  <bruno@clisp.org>
20784
20785         New module 'ceill-ieee'.
20786         * modules/ceill-ieee: New file.
20787         * modules/ceill-ieee-tests: New file.
20788         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
20789         * tests/test-ceill.c (main): Remove signbit tests.
20790         * modules/ceill-tests (Depends-on): Remove signbit.
20791         * doc/posix-functions/ceill.texi: Mention the new module.
20792
20793 2010-12-21  Bruno Haible  <bruno@clisp.org>
20794
20795         New module 'floorl-ieee'.
20796         * modules/floorl-ieee: New file.
20797         * modules/floorl-ieee-tests: New file.
20798         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
20799         * tests/test-floorl.c (main): Remove signbit tests.
20800         * modules/floorl-tests (Depends-on): Remove signbit.
20801         * doc/posix-functions/floorl.texi: Mention the new module.
20802
20803 2010-12-21  Bruno Haible  <bruno@clisp.org>
20804
20805         New module 'round-ieee'.
20806         * modules/round-ieee: New file.
20807         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
20808         whether round works according to ISO C 99 with IEC 60559.
20809         * m4/round-ieee.m4: New file.
20810         * modules/round-ieee-tests: New file.
20811         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
20812         * tests/test-round1.c (main): Remove signbit tests.
20813         * modules/round-tests (Depends-on): Remove 'signbit'.
20814         * doc/posix-functions/round.texi: Mention the new module.
20815
20816 2010-12-21  Bruno Haible  <bruno@clisp.org>
20817
20818         New module 'trunc-ieee'.
20819         * modules/trunc-ieee: New file.
20820         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
20821         whether trunc works according to ISO C 99 with IEC 60559.
20822         * m4/trunc-ieee.m4: New file.
20823         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
20824         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
20825         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
20826         * modules/trunc-ieee-tests: New file.
20827         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
20828         * tests/test-trunc1.c (main): Remove signbit tests.
20829         * modules/trunc-tests (Depends-on): Remove 'signbit'.
20830         * doc/posix-functions/trunc.texi: Mention the new module.
20831
20832 2010-12-21  Bruno Haible  <bruno@clisp.org>
20833
20834         New module 'ceil-ieee'.
20835         * modules/ceil-ieee: New file.
20836         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
20837         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
20838         ISO C 99 with IEC 60559.
20839         * m4/ceil-ieee.m4: New file.
20840         * modules/ceil (Files): Add lib/ceil.c.
20841         (Depends-on): Add 'float'.
20842         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
20843         * lib/math.in.h (ceil): New declaration.
20844         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
20845         REPLACE_CEIL.
20846         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
20847         * modules/ceil-ieee-tests: New file.
20848         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
20849         * tests/test-math-c++.cc: Check the signature of 'ceil'.
20850         * doc/posix-functions/ceil.texi: Mention the new module.
20851
20852 2010-12-21  Bruno Haible  <bruno@clisp.org>
20853
20854         New module 'floor-ieee'.
20855         * modules/floor-ieee: New file.
20856         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
20857         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
20858         ISO C 99 with IEC 60559.
20859         * m4/floor-ieee.m4: New file.
20860         * modules/floor (Files): Add lib/floor.c.
20861         (Depends-on): Add 'float'.
20862         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
20863         * lib/math.in.h (floor): New declaration.
20864         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
20865         REPLACE_FLOOR.
20866         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
20867         * modules/floor-ieee-tests: New file.
20868         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
20869         * tests/test-math-c++.cc: Check the signature of 'floor'.
20870         * doc/posix-functions/floor.texi: Mention the new module.
20871
20872 2010-12-21  Bruno Haible  <bruno@clisp.org>
20873
20874         New module 'roundf-ieee'.
20875         * modules/roundf-ieee: New file.
20876         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
20877         test whether roundf works according to ISO C 99 with IEC 60559.
20878         * m4/roundf-ieee.m4: New file.
20879         * modules/roundf-ieee-tests: New file.
20880         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
20881         * tests/test-roundf1.c (main): Remove signbit tests.
20882         * modules/roundf-tests (Depends-on): Remove 'signbit'.
20883         * doc/posix-functions/roundf.texi: Mention the new module.
20884
20885 2010-12-21  Bruno Haible  <bruno@clisp.org>
20886
20887         New module 'truncf-ieee'.
20888         * modules/truncf-ieee: New file.
20889         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
20890         test whether truncf works according to ISO C 99 with IEC 60559.
20891         * m4/truncf-ieee.m4: New file.
20892         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
20893         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
20894         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
20895         * modules/truncf-ieee-tests: New file.
20896         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
20897         * tests/test-truncf1.c (main): Remove signbit tests.
20898         * modules/truncf-tests (Depends-on): Remove 'signbit'.
20899         * doc/posix-functions/truncf.texi: Mention the new module.
20900
20901 2010-12-21  Bruno Haible  <bruno@clisp.org>
20902
20903         New module 'ceilf-ieee'.
20904         * modules/ceilf-ieee: New file.
20905         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
20906         test whether ceilf works according to ISO C 99 with IEC 60559.
20907         * m4/ceilf-ieee.m4: New file.
20908         * modules/ceilf-ieee-tests: New file.
20909         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
20910         * tests/test-ceilf1.c (main): Remove signbit tests.
20911         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
20912         * doc/posix-functions/ceilf.texi: Mention the new module.
20913
20914 2010-12-21  Bruno Haible  <bruno@clisp.org>
20915
20916         New module 'floorf-ieee'.
20917         * modules/floorf-ieee: New file.
20918         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
20919         test whether floorf works according to ISO C 99 with IEC 60559.
20920         * m4/floorf-ieee.m4: New file.
20921         * modules/floorf-ieee-tests: New file.
20922         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
20923         * tests/test-floorf1.c (main): Remove signbit tests.
20924         * modules/floorf-tests (Depends-on): Remove 'signbit'.
20925         * doc/posix-functions/floorf.texi: Mention the new module.
20926
20927 2010-12-21  Bruno Haible  <bruno@clisp.org>
20928
20929         Support for minus zero in autoconf macros.
20930         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
20931         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
20932         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
20933         * tests/minus-zero.h: Update comments.
20934
20935 2010-12-21  Bruno Haible  <bruno@clisp.org>
20936
20937         Tests for module 'ceil'.
20938         * modules/ceil-tests: New file.
20939         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
20940         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
20941
20942 2010-12-21  Bruno Haible  <bruno@clisp.org>
20943
20944         Tests for module 'floor'.
20945         * modules/floor-tests: New file.
20946         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
20947         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
20948
20949 2010-12-21  Bruno Haible  <bruno@clisp.org>
20950
20951         math: Fix indentation.
20952         * lib/math.in.h (floorf): Fix indentation.
20953
20954 2010-12-21  Bruno Haible  <bruno@clisp.org>
20955
20956         Fix cross-compilation guesses on Solaris.
20957         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
20958         not match "solaris2.10".
20959         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20960         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
20961         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
20962
20963 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
20964
20965         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
20966         This fixes a problem observed with the latest coreutils snapshot
20967         that caused a test to fail on Solaris 8.  src/csplit.c's call
20968         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
20969         earlier, instead of returning the number of bytes that would have
20970         been generated; this causes csplit to incorrectly report memory
20971         exhaustion.
20972         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
20973         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
20974         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
20975         comments to match.
20976         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
20977         Fix typo in matching older versions of Solaris: "solaris2.10"
20978         is matched by the shell pattern "solaris2.[0-9]*".  This matters
20979         only for guessing while cross-compiling.
20980         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
20981
20982 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
20983
20984         ftoastr: fix comment again
20985         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
20986         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
20987         Also, simplify example a bit by using flags = 0.
20988
20989 2010-12-20  Bruno Haible  <bruno@clisp.org>
20990
20991         round*, trunc*: Update documentation regarding glibc.
20992         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
20993         * doc/posix-functions/round.texi: Likewise.
20994         * doc/posix-functions/roundl.texi: Likewise.
20995         * doc/posix-functions/truncf.texi: Likewise.
20996         * doc/posix-functions/trunc.texi: Likewise.
20997         * doc/posix-functions/truncl.texi: Likewise.
20998
20999 2010-12-20  Bruno Haible  <bruno@clisp.org>
21000
21001         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
21002         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
21003         * doc/posix-functions/round.texi: Likewise.
21004         * doc/posix-functions/roundl.texi: Likewise.
21005
21006 2010-12-20  Bruno Haible  <bruno@clisp.org>
21007
21008         ttyname_r: Add missing declaration on HP-UX 11.
21009         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
21010         HAVE_TTYNAME_R.
21011         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
21012         declared. Set HAVE_TTYNAME_R always.
21013         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21014         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
21015         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
21016         HAVE_TTYNAME_R.
21017         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
21018
21019 2010-12-20  Bruno Haible  <bruno@clisp.org>
21020
21021         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
21022         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
21023         * doc/posix-functions/getlogin_r.texi: Likewise.
21024         * tests/test-getlogin.c: Include <errno.h>.
21025         (main): Avoid test failure on HP-UX 11.11.
21026         * tests/test-getlogin_r.c (main): Likewise.
21027
21028 2010-12-20  Bruno Haible  <bruno@clisp.org>
21029
21030         getlogin_r: Add missing declaration on HP-UX 11.
21031         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
21032         declared also when it exists as a function.
21033         * doc/posix-functions/getlogin_r.texi: Document this workaround.
21034
21035 2010-12-20  Bruno Haible  <bruno@clisp.org>
21036
21037         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
21038         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
21039         through wcrtomb.
21040
21041 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
21042
21043         ftoastr: fix comment
21044         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
21045         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
21046
21047 2010-12-19  Bruno Haible  <bruno@clisp.org>
21048
21049         isnan: Ensure it is a macro.
21050         * lib/math.in.h (isnan): Define as a macro if not already a macro.
21051         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
21052         Solaris.
21053
21054 2010-12-19  Bruno Haible  <bruno@clisp.org>
21055
21056         ldexpl test: Fix link error on OSF/1 5.1.
21057         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
21058
21059 2010-12-19  Bruno Haible  <bruno@clisp.org>
21060
21061         wctype: Make it work in C++ mode on OSF/1 5.1.
21062         * lib/wctype.in.h (iswblank): Declare but not define here.
21063         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
21064         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
21065         * modules/wctype (Files): Add lib/iswblank.c.
21066
21067 2010-12-19  Bruno Haible  <bruno@clisp.org>
21068
21069         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
21070         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
21071         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
21072
21073 2010-12-19  Bruno Haible  <bruno@clisp.org>
21074
21075         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
21076         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
21077         _POSIX_PII_SOCKET.
21078         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
21079         * doc/posix-functions/recvfrom.texi: Likewise.
21080         * doc/posix-functions/send.texi: Likewise.
21081         * doc/posix-functions/sendto.texi: Likewise.
21082
21083 2010-12-19  Bruno Haible  <bruno@clisp.org>
21084
21085         tcgetsid: Add missing declaration on OSF/1 5.1.
21086         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
21087         HAVE_TCGETSID.
21088         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
21089         Don't set HAVE_TCGETSID.
21090         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
21091         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
21092         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
21093         HAVE_TCGETSID.
21094         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
21095
21096 2010-12-19  Bruno Haible  <bruno@clisp.org>
21097
21098         stdio: Fix problem with popen() declaration on OSF/1 5.1.
21099         * lib/stdio.in.h: During the include_next statement, let recursive
21100         includes of this file include only the system header file.
21101
21102 2010-12-19  Bruno Haible  <bruno@clisp.org>
21103
21104         iconv_open: Fix regression from 2010-12-04.
21105         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
21106         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
21107
21108 2010-12-19  Bruno Haible  <bruno@clisp.org>
21109
21110         stdbool test: Avoid a gcc warning.
21111         * tests/test-stdbool.c (main): Fail if e1 is false.
21112         Reported by Jim Meyering.
21113
21114 2010-12-19  Jim Meyering  <meyering@redhat.com>
21115
21116         setenv: restore to working order
21117         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
21118         mistakenly removed.
21119         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
21120         HAVE_SETENV.
21121         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
21122         HAVE_SETENV.
21123
21124 2010-12-19  Bruno Haible  <bruno@clisp.org>
21125
21126         Document some different function declarations on OSF/1 5.1.
21127         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
21128         * doc/posix-functions/inet_ntop.texi: Likewise.
21129         * doc/posix-functions/gethostname.texi: Likewise.
21130         * lib/unistd.in.h (gethostname): Update comment.
21131
21132 2010-12-19  Bruno Haible  <bruno@clisp.org>
21133
21134         doc: Mention vasprintf-posix module.
21135         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
21136         the 'vasprintf-posix' module.
21137         * doc/glibc-functions/vasprintf.texi: Likewise.
21138
21139 2010-12-19  Bruno Haible  <bruno@clisp.org>
21140
21141         unsetenv: Add missing declaration on OSF/1 5.1.
21142         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
21143         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
21144         Don't set HAVE_UNSETENV. In the test program, set _BSD.
21145         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
21146         not HAVE_UNSETENV.
21147         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
21148         HAVE_UNSETENV.
21149         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
21150
21151 2010-12-19  Bruno Haible  <bruno@clisp.org>
21152
21153         setenv: Add missing declaration on OSF/1 5.1.
21154         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
21155         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
21156         declared. Don't set HAVE_SETENV.
21157         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
21158         not HAVE_SETENV.
21159         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
21160         HAVE_SETENV.
21161         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
21162
21163 2010-12-19  Bruno Haible  <bruno@clisp.org>
21164
21165         nl_langinfo tests: Avoid gcc warning.
21166         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
21167
21168 2010-12-19  Bruno Haible  <bruno@clisp.org>
21169
21170         mknod: Avoid error in C++ mode on OSF/1 with GCC.
21171         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
21172         _GL_CXXALIAS_SYS.
21173
21174 2010-12-19  Bruno Haible  <bruno@clisp.org>
21175
21176         stdbool: Relax test.
21177         * tests/test-stdbool.c (e): Don't require that casts from a variable's
21178         address to 'bool' work in static initializer, for compilers other than
21179         GCC.
21180
21181 2010-12-19  Bruno Haible  <bruno@clisp.org>
21182
21183         ftello: Add missing declaration on OSF/1 5.1.
21184         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
21185         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
21186         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
21187         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
21188         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
21189
21190 2010-12-19  Bruno Haible  <bruno@clisp.org>
21191
21192         fseeko: Add missing declaration on OSF/1 5.1.
21193         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
21194         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
21195         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
21196         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
21197         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
21198
21199 2010-12-19  Bruno Haible  <bruno@clisp.org>
21200
21201         fchdir: Add missing declaration on OSF/1 5.1.
21202         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
21203         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
21204         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
21205         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
21206         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
21207
21208 2010-12-19  Bruno Haible  <bruno@clisp.org>
21209
21210         relocatable-prog-wrapper: Separate from relocatable-prog.
21211         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
21212         uninstall-relocwrapper rule here.
21213         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
21214         Reported by Ian Beckwith <ianb@erislabs.net>.
21215
21216 2010-12-19  Bruno Haible  <bruno@clisp.org>
21217
21218         unistr/u8-mbsnlen: Add missing dependency.
21219         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
21220         Reported by Ian Beckwith <ianb@erislabs.net>.
21221
21222 2010-12-19  Bruno Haible  <bruno@clisp.org>
21223
21224         iconv: Make it possible again to use this module without 'iconv-h'.
21225         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
21226         if it is not defined.
21227         Reported by Ian Beckwith <ianb@erislabs.net>.
21228
21229 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
21230
21231         acl: port to Solaris 8 when copying from tmpfs to ufs
21232         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
21233         error number.  Problem observed on Solaris 8 with latest
21234         coreutils, with "mv A B", where A is on a tmpfs file system and B
21235         is on a ufs file system.  This caused coreutils' mv/part-symlink
21236         test to fail.
21237
21238         tests: set fail=0 at start
21239         * tests/init.sh (setup_): Move fail=0 initialization here ...
21240         (mktempd_): ... from here, so that tests can rely on fail being
21241         set to 0 initially.  This fixes a problem in coreutils; see:
21242         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
21243
21244 2010-12-18  Bruno Haible  <bruno@clisp.org>
21245
21246         memmem-simple: Stylistic changes.
21247         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
21248         Fix preprocessor directive indentation.
21249
21250 2010-12-15  Pádraig Brady <P@draigBrady.com>
21251
21252         memmem, memmem-simple: reorganize and expand empty needle check
21253         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
21254         functional checks to memmem-simple so that one has a fully functional
21255         memmem by using just this module.
21256         Restrict the performance only check to the memmem module.
21257         Also expand the empty needle check to ensure the correct
21258         pointer is returned, not just a non NULL pointer.
21259         * doc/glibc-functions/memmem.texi: Rearrange the portability
21260         documentation to correlate with the rearranged checks.
21261         Clarify exactly how the memmem and memmem-simple modules
21262         relate to each other.
21263
21264 2010-12-15  Pádraig Brady <P@draigBrady.com>
21265             Bruno Haible  <bruno@clisp.org>
21266
21267         Improve cross-compilation guesses for uClibc.
21268         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
21269         that uClibc does not have the glibc bug.
21270         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
21271         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
21272
21273 2010-12-14  Eric Blake  <eblake@redhat.com>
21274
21275         configmake: provide fallbacks for oldest supported autotools
21276         * m4/configmake.m4: New file.
21277         * modules/configmake (Files): Ship it.
21278         (configure.ac): Use it to guarantee fallbacks.
21279
21280 2010-12-13  Pádraig Brady <P@draigBrady.com>
21281
21282         read-file: Improve handling of large files
21283         * lib/read-file.c (fread_file): Minimize realloc()s
21284         for regular files, and better manage sizes around SIZE_MAX.
21285
21286 2010-12-13  Eric Blake  <eblake@redhat.com>
21287
21288         cloexec, fcntl: relax license
21289         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
21290         consent from all contributors.
21291         * modules/fcntl (License): Likewise.
21292
21293 2010-12-10  Bruno Haible  <bruno@clisp.org>
21294
21295         Tests for module 'pipe-posix'.
21296         * modules/pipe-posix-tests: New file.
21297         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
21298
21299 2010-12-10  Bruno Haible  <bruno@clisp.org>
21300
21301         pipe-posix: Make it work in C++ mode.
21302         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
21303         (pipe): Use common idiom, not a macro definition.
21304         * lib/pipe.c: New file.
21305         * m4/pipe.m4: New file.
21306         * modules/pipe-posix (Description): Enhance.
21307         (Files): Add lib/pipe.c, m4/pipe.m4.
21308         (configure.ac): Invoke gl_FUNC_PIPE.
21309         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
21310         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
21311         * tests/test-unistd-c++.cc: Check the signature of pipe.
21312
21313 2010-12-10  Bruno Haible  <bruno@clisp.org>
21314
21315         Rename module 'pipe' to 'spawn-pipe'.
21316         * modules/spawn-pipe: New file, renamed from modules/pipe.
21317         (Files, configure.ac, Makefile.am): Update.
21318         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
21319         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
21320         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
21321         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
21322         "spawn-pipe.h" instead of "pipe.h".
21323         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
21324         to gl_SPAWN_PIPE.
21325         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
21326         (Files, Makefile.am): Update.
21327         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
21328         Update.
21329         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
21330         Include "spawn-pipe.h" instead of "pipe.h".
21331         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
21332         * lib/javacomp.c: Likewise.
21333         * lib/javaversion.c: Likewise.
21334         * lib/pipe-filter-gi.c: Likewise.
21335         * lib/pipe-filter-ii.c: Likewise.
21336         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
21337         * modules/javacomp (Depends-on): Likewise.
21338         * modules/javaversion (Depends-on): Likewise.
21339         * modules/pipe-filter-gi (Depends-on): Likewise.
21340         * modules/pipe-filter-ii (Depends-on): Likewise.
21341         * MODULES.html.sh (Executing programs): Update.
21342         * NEWS: Mention the change.
21343
21344 2010-12-10  Eric Blake  <eblake@redhat.com>
21345
21346         pipe-posix: new module
21347         * modules/pipe-posix: New file.
21348         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
21349         (gl_UNISTD_H): Check for declaration.
21350         * modules/unistd (Makefile.am): Substitute it.
21351         * lib/unistd.in.h (pipe): Provide it for mingw.
21352         * doc/posix-functions/pipe.texi (pipe): Update documentation.
21353         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
21354
21355 2010-12-07  Bruno Haible  <bruno@clisp.org>
21356
21357         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
21358         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
21359         u8_strcmp_gnu.
21360         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
21361
21362 2010-12-06  Bruno Haible  <bruno@clisp.org>
21363
21364         Update internal documentation.
21365         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
21366
21367 2010-12-04  Bruno Haible  <bruno@clisp.org>
21368
21369         Put more information about failed tests into the test return codes.
21370         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
21371         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
21372         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
21373         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
21374         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
21375         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
21376         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
21377         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
21378         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
21379         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21380         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
21381         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
21382         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
21383         * m4/stdint.m4 (gl_STDINT_H): Likewise.
21384         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
21385         returns a bit mask.
21386         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
21387         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
21388         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
21389         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
21390         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
21391         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
21392         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
21393         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
21394         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
21395         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
21396         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
21397         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
21398         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
21399         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
21400         * m4/link.m4 (gl_FUNC_LINK): Likewise.
21401         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
21402         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
21403         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
21404         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
21405         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
21406         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
21407         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
21408         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
21409         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
21410         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
21411         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
21412         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
21413         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
21414         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
21415         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
21416         gl_PRINTF_PRECISION): Likewise.
21417         * m4/regex.m4 (gl_REGEX): Likewise.
21418         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
21419         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
21420         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
21421         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
21422         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
21423         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
21424         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
21425         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
21426         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
21427         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
21428         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
21429         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
21430         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
21431         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
21432         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
21433         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
21434         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
21435         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
21436         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
21437         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
21438         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
21439         enumerated value.
21440         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
21441
21442 2010-12-04  Bruno Haible  <bruno@clisp.org>
21443
21444         Update for Solaris 11 2010-11.
21445         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
21446         Express, released in November 2010.
21447
21448 2010-12-04  Bruno Haible  <bruno@clisp.org>
21449
21450         nproc: Relax license.
21451         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
21452         and Paul Eggert.
21453         Requested by Ludovic Courtès <ludo@gnu.org>.
21454
21455 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
21456
21457         utimecmp: fine-grained src to nearby coarse-grained dest
21458
21459         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
21460         and the source is on a file system with higher-resolution time
21461         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
21462         not work, and the time stamps are close together, the algorithm to
21463         determine the exact resolution from the read-back mtime was buggy:
21464         it had a "!=" where it should have had an "==".  This bug has been
21465         in the code ever since it was introduced to gnulib.
21466         Problem reported by Dan Jacobson in
21467         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
21468
21469 2010-11-30  Bruno Haible  <bruno@clisp.org>
21470
21471         strerror_r-posix: Fix autoconf test.
21472         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
21473
21474 2010-11-28  Bruno Haible  <bruno@clisp.org>
21475             Paul Eggert  <eggert@cs.ucla.edu>
21476
21477         Tests for module 'getdomainname'.
21478         * modules/getdomainname-tests: New file.
21479         * tests/test-getdomainname.c: New file, based on
21480         tests/test-gethostname.c.
21481
21482 2010-11-28  Bruno Haible  <bruno@clisp.org>
21483             Paul Eggert  <eggert@cs.ucla.edu>
21484
21485         getdomainname: Use the system function when possible.
21486         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
21487         (getdomainname): Replace if needed. Provide the declaration if it is
21488         missing. Don't use _GL_CXXALIAS_SYS_CAST.
21489         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
21490         (getdomainname): When the system has getdomainname, call the system
21491         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
21492         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
21493         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
21494         found in libnsl. Look for the declaration also in <netdb.h>. Replace
21495         the function if its second argument is of type 'int' or if it is found
21496         in libnsl.
21497         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
21498         <sys/systeminfo.h> and sysinfo().
21499         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
21500         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21501         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
21502         HAVE_GETDOMAINNAME.
21503         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
21504         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
21505         * doc/glibc-functions/getdomainname.texi: Document the problems with
21506         the getdomainname declaration.
21507
21508 2010-11-28  Bruno Haible  <bruno@clisp.org>
21509
21510         sys_socket: Ensure ss_family field on AIX.
21511         * lib/sys_socket.in.h (ss_family): New macro definition.
21512         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
21513         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
21514         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
21515         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
21516         * modules/sys_socket (Makefile.am): Substitute
21517         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
21518         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
21519
21520 2010-11-27  Bruno Haible  <bruno@clisp.org>
21521
21522         readline: Improve configure output.
21523         * m4/readline.m4 (gl_FUNC_READLINE): Make the
21524         "checking for readline..." result understandable.
21525
21526 2010-11-27  Bruno Haible  <bruno@clisp.org>
21527
21528         *printf-posix: Detect a bug on Solaris 10/x86.
21529         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
21530         for floating-point output.
21531         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
21532         directive.
21533         * tests/test-snprintf-posix.h (test_function): Likewise.
21534         * tests/test-sprintf-posix.h (test_function): Likewise.
21535         * tests/test-vasprintf-posix.c (test_function): Likewise.
21536         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
21537         * doc/posix-functions/printf.texi: Likewise.
21538         * doc/posix-functions/snprintf.texi: Likewise.
21539         * doc/posix-functions/sprintf.texi: Likewise.
21540         * doc/posix-functions/vfprintf.texi: Likewise.
21541         * doc/posix-functions/vprintf.texi: Likewise.
21542         * doc/posix-functions/vsnprintf.texi: Likewise.
21543         * doc/posix-functions/vsprintf.texi: Likewise.
21544         * doc/glibc-functions/obstack_printf.texi: Likewise.
21545         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
21546
21547 2010-11-27  Bruno Haible  <bruno@clisp.org>
21548
21549         Fix link error when module libunistring-optional is in use.
21550         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
21551         * modules/striconveha-tests (Makefile.am): Likewise.
21552
21553 2010-11-27  Bruno Haible  <bruno@clisp.org>
21554
21555         regex: Mention link dependencies.
21556         * modules/regex (Link): New section.
21557         * modules/rpmatch (Link): Likewise.
21558         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
21559
21560 2010-11-27  Bruno Haible  <bruno@clisp.org>
21561
21562         ftoastr: Fix compilation error on Solaris.
21563         * lib/ftoastr.c: Include <config.h>.
21564
21565 2010-11-27  Bruno Haible  <bruno@clisp.org>
21566
21567         getloadavg: Update documentation.
21568         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
21569
21570 2010-11-27  Bruno Haible  <bruno@clisp.org>
21571
21572         sys_socket: Fix test whether the functions are declared.
21573         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
21574         not <sys/select.h>.
21575
21576 2010-11-27  Bruno Haible  <bruno@clisp.org>
21577
21578         getpass: Make sure to get system declaration on some platforms.
21579         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
21580         gl_USE_SYSTEM_EXTENSIONS.
21581         * modules/getpass (Depends-on): Add extensions.
21582
21583 2010-11-26  Bruno Haible  <bruno@clisp.org>
21584
21585         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
21586         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
21587         'iconv' module is present.
21588         (ICONV_CONST): New macro.
21589         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
21590         ICONV_CONST.
21591         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
21592         set ICONV_CONST.
21593         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
21594         here.
21595         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
21596         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
21597         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
21598         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
21599         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
21600         present.
21601
21602 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
21603
21604         ftoastr: comment fix
21605         * lib/ftoastr.c: "little" -> "little or no" in comment
21606
21607 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
21608
21609         stdint: port to GCC 4.3 + OSX + Octave
21610         On this platform, stdint.h is buggy and defines int64_t to long
21611         long int.  The replacement defined it to long int, causing
21612         problems with C++ style name mangling.  Instead, trust the system
21613         definition if INT64_MAX is defined, and likewise for the unsigned
21614         variant.   Problem reported by Jarno Rajahalme in
21615         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
21616         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
21617         and don't mess with int64_t and INT64_MAX in this case.
21618         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
21619
21620 2010-11-24  Bruno Haible  <bruno@clisp.org>
21621
21622         doc: Corrections regarding MacOS X 10.4 and 10.5.
21623         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
21624         MacOS X.
21625         Reported by Simon Josefsson.
21626
21627 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
21628
21629         Uninstall ".bin" files installed by relocwrapper.
21630         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
21631         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
21632         unless it is already there.
21633
21634 2010-11-21  Bruno Haible  <bruno@clisp.org>
21635
21636         Update for NetBSD 5.0.
21637         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
21638         NetBSD; the test fails on NetBSD 5.0.
21639         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
21640         about NetBSD.
21641
21642 2010-11-21  Bruno Haible  <bruno@clisp.org>
21643
21644         Update for HP-UX 11.23 and HP-UX 11.31.
21645         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
21646         HP-UX.
21647
21648 2010-11-21  Bruno Haible  <bruno@clisp.org>
21649
21650         Update for MacOS X 10.5.
21651         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
21652         MacOS X; the test fails on MacOS X 10.5.8.
21653         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
21654         about MacOS X.
21655
21656 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
21657
21658         bootstrap: add bootstrap_sync option.
21659         See discussion at
21660         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
21661         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
21662         * build-aux/bootstrap: Accept --bootstrap-sync to update
21663         bootstrap if it is not identical to the local gnulib's
21664         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
21665         enable this by default.  Accept --no-bootstrap-sync to disable
21666         it.
21667
21668 2010-11-20  Bruno Haible  <bruno@clisp.org>
21669
21670         Ensure that <features.h> is included before __GLIBC__ is tested.
21671         * lib/printf-parse.h: Include <features.h>.
21672         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
21673         Reported by Mike Frysinger <vapier@gentoo.org>.
21674
21675         Ensure that <features.h> is included before __GLIBC__ is tested.
21676         * lib/wchar.in.h: Include <features.h>.
21677         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
21678         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
21679         Reported by Mike Frysinger <vapier@gentoo.org>.
21680
21681         Ensure that <features.h> is included before __GLIBC__ is tested.
21682         * lib/arpa_inet.in.h: Include <features.h>.
21683         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
21684         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
21685         Reported by Mike Frysinger <vapier@gentoo.org>.
21686
21687         Ensure that <features.h> is included before __GLIBC__ is tested.
21688         * build-aux/link-warning.h: Include <features.h>.
21689         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
21690         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
21691         Reported by Mike Frysinger <vapier@gentoo.org>.
21692
21693         Ensure that <features.h> is included before __GLIBC__ is tested.
21694         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
21695         Reported by Mike Frysinger <vapier@gentoo.org>.
21696
21697 2010-11-20  Bruno Haible  <bruno@clisp.org>
21698
21699         memmem: Fix autoconf test.
21700         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
21701
21702 2010-11-20  Bruno Haible  <bruno@clisp.org>
21703
21704         Port to uClibc.
21705         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
21706         * lib/fcntl.in.h: Likewise.
21707         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
21708         * lib/mbrtowc.c (mbrtowc): Likewise.
21709         * lib/relocatable.c (find_shared_library_fullname): Likewise.
21710         * lib/strerror_r.c: Likewise.
21711         * lib/unistr/u8-strnlen.c: Likewise.
21712         * lib/vasnprintf.c (decimal_point_char): Likewise.
21713         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
21714         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
21715         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
21716         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
21717         * tests/test-sigaction.c (handler, main): Likewise.
21718         * lib/freading.h: Treat uClibc like a non-glibc platform.
21719         * lib/freading.c: Likewise.
21720         * lib/gettext.h: Likewise.
21721         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
21722         Likewise.
21723         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
21724         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
21725         * lib/propername.c (proper_name_utf8): Likewise.
21726         * lib/spawn.in.h: Likewise.
21727         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
21728         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
21729         mem_cd_iconveh_internal): Likewise.
21730         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
21731         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
21732         strstr, strcasestr): Likewise.
21733         * lib/unicodeio.c (unicode_to_mb): Likewise.
21734         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
21735         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
21736         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
21737         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
21738         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
21739         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
21740         * lib/unistr/u8-stpncpy.c: Likewise.
21741         * lib/vasnprintf.c (VASNPRINTF): Likewise.
21742         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
21743         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
21744         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
21745         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
21746         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
21747         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
21748         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
21749         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
21750         Likewise.
21751         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
21752         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
21753         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
21754         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21755         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
21756         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21757         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21758         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
21759         * tests/test-getopt.h (OPTIND_MIN): Likewise.
21760         * tests/test-striconveha.c (main): Likewise.
21761         * tests/test-vasnprintf-posix.c (test_function): Likewise.
21762         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
21763         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
21764         * doc/posix-functions/getline.texi: Likewise.
21765         Reported by Mike Frysinger <vapier@gentoo.org>.
21766
21767 2010-11-20  Bruno Haible  <bruno@clisp.org>
21768
21769         nproc: Fix condition.
21770         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
21771         HAVE_PTHREAD_AFFINITY_NP.
21772
21773 2010-11-20  Bruno Haible  <bruno@clisp.org>
21774
21775         Fix a comment.
21776         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
21777
21778 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
21779
21780         ftoastr: don't assume snprintf
21781         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
21782         Implement a subset of snprintf here, by using sprintf safely.
21783         * modules/ftoastr (Depends-on): Remove snprintf.
21784
21785 2010-11-19  Jim Meyering  <meyering@redhat.com>
21786
21787         test-rename.h: fix compilation failure
21788         * tests/test-rename.h (test_rename): Add omitted "}".
21789
21790 2010-11-17  Jim Meyering  <meyering@redhat.com>
21791
21792         maint.mk: add a URL discussing the no-@acronym policy
21793         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
21794
21795 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
21796
21797         ftoastr: depend on snprintf, improve comments
21798         * lib/ftoastr.c: Also mention Loitsch's draft.
21799         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
21800         needed in the current implementation, but it might simplify
21801         speeding up the code later.
21802         * modules/ftoastr: Depend on snprintf; this improves portability.
21803         Suggested by Bruno Haible in the same email.
21804
21805         ftoastr: port to hosts lacking strtof and strtold
21806         Problem reported by Bruno Haible in
21807         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
21808         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
21809         environment and strtold (and presumably strtof) are not available.
21810         * modules/ftoastr (Files): Add m4/c-strtod.m4.
21811         (configure.ac): Require gl_C99_STRTOLD.
21812
21813 2010-11-18  Bruno Haible  <bruno@clisp.org>
21814
21815         c-strtold: Avoid link error on AIX 7.
21816         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
21817         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
21818         (gl_C_STRTOLD): Test whether strtold_l exists.
21819         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21820
21821 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
21822
21823         intprops: new macro INT_BITS_STRLEN_BOUND
21824         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
21825         ftoastr.h.  This exposes an internal of intprops.h that was formerly
21826         not exposed.  Also, it uses a slightly tighter bound than before;
21827         though this makes no practical difference, we might as well be as
21828         tight as we easily can.
21829
21830         ftoastr: new module, for lossless conversion of floats to short strings
21831         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
21832         * modules/ftoastr: New files.
21833
21834 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
21835
21836         bootstrap: port to Solaris sed
21837         * build-aux/bootstrap (get_version): Port to Solaris sed.
21838         See Ralf Wildenhues's note in
21839         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
21840
21841 2010-11-14  Jim Meyering  <meyering@redhat.com>
21842
21843         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
21844         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
21845         and move definition closer to sole use.
21846
21847 2010-11-13  Jim Meyering  <meyering@redhat.com>
21848
21849         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
21850         Now we require at least autoconf-2.59, which means the work-around
21851         is no longer needed.
21852         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
21853         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
21854         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
21855         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
21856         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21857
21858 2010-11-13  Bruno Haible  <bruno@clisp.org>
21859
21860         rename, renameat: Avoid test failures at NFS mounted locations.
21861         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
21862         functions.
21863         (test_rename): Use assert_nonexistent.
21864         * tests/test-rename.c: Include <dirent.h>.
21865         * tests/test-renameat.c: Likewise.
21866         Reported by Gary V. Vaughan <gary@gnu.org>.
21867
21868         rename, renameat: Document Linux bug with NFS
21869         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
21870         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
21871         * doc/posix-functions/renameat.texi: Likewise.
21872         Suggested by Eric Blake.
21873
21874 2010-11-13  Bruno Haible  <bruno@clisp.org>
21875
21876         rename test: Add comments.
21877         * tests/test-rename.h (test_rename): Add structure and comments.
21878
21879 2010-11-13  Eric Blake  <eblake@redhat.com>
21880
21881         maintainer-makefile: cover a few more files
21882         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
21883         scripts generated within C files, for libvirt.
21884
21885 2010-11-13  Bruno Haible  <bruno@clisp.org>
21886
21887         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
21888         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
21889         character, return the number of bytes that belong together, not always
21890         1.
21891         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
21892         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
21893         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
21894         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
21895         number of bytes of an invalid character.
21896         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
21897         (main): Invoke it.
21898         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
21899         results.
21900         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
21901         malformed byte sequences.
21902         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
21903         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
21904         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
21905         Reported by Ben Pfaff and Paolo Bonzini.
21906
21907 2010-11-13  Bruno Haible  <bruno@clisp.org>
21908
21909         openat: Work around glibc bug with fchownat() and empty file names.
21910         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
21911         (gl_FUNC_FCHOWNAT): Invoke it.
21912         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
21913         * doc/posix-functions/fchownat.texi: Document the glibc bug.
21914         Reported by Gary V. Vaughan <gary@gnu.org>.
21915
21916 2010-11-13  Bruno Haible  <bruno@clisp.org>
21917
21918         openat: Ensure autoconf macro ordering.
21919         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
21920         gl_USE_SYSTEM_EXTENSIONS.
21921         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
21922
21923 2010-11-13  Bruno Haible  <bruno@clisp.org>
21924
21925         Update comments.
21926         * lib/unistr/u8-check.c: Update file name in comments.
21927         * lib/unistr/u8-mblen.c: Likewise.
21928         * lib/unistr/u8-prev.c: Likewise.
21929         * lib/unistr/u8-strmblen.c: Likewise.
21930         * lib/unistr/u8-strmbtouc.c: Likewise.
21931
21932 2010-11-13  Jim Meyering  <meyering@redhat.com>
21933
21934         tests: avoid test failure on Solaris 10 due to lack of PATH export
21935         * tests/test-update-copyright.sh: Don't forget to export PATH.
21936
21937         init.sh: ensure that IFS is defined, just in case...
21938         * tests/init.sh (setup_): Ensure that IFS is defined,
21939         so that saving and restoring it works as expected.  This
21940         appears to be useful at least for an old version of dash
21941         from a long time ago (RH 6).  See here for details:
21942         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
21943
21944         maint.mk: tighten "test a == b" check
21945         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
21946         test to files that contain something like #!/bin/sh.
21947         Without this, coreutils would get two false positives in
21948         the comments of C source files.
21949
21950 2010-11-12  Eric Blake  <eblake@redhat.com>
21951
21952         bootstrap: fix typo in previous attempt
21953         * build-aux/bootstrap (buildreq): Correct the grouping.
21954         Reported by Paul Eggert.
21955
21956         maintainer-makefile: prohibit test x == x
21957         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
21958         Based on a report by Matthias Bolte.
21959
21960         bootstrap: allow FreeBSD gzip
21961         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
21962         which has no '.' and goes to stderr.
21963         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
21964         Reported by Matthias Bolte.
21965
21966         maintainer-makefile: check for i18n setup
21967         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
21968         will likely work.
21969
21970 2010-11-12  Bruno Haible  <bruno@clisp.org>
21971
21972         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
21973         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
21974         * lib/nanosleep.c (nanosleep): Likewise.
21975
21976 2010-11-11  Bruno Haible  <bruno@clisp.org>
21977
21978         fcntl-h: Fix for use of C++ on glibc systems.
21979         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
21980         also on glibc systems in C++ mode.
21981         Reported by Gary V. Vaughan <gary@gnu.org>.
21982
21983 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21984
21985         mknod: avoid false failure with dash
21986         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
21987
21988 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21989
21990         unlink: Fix "is it should" typo in diagnostic.
21991         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
21992         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
21993
21994 2010-11-11  Bruno Haible  <bruno@clisp.org>
21995
21996         Tests for module 'strerror_r-posix'.
21997         * modules/strerror_r-posix-tests: New file.
21998         * tests/test-strerror_r.c: New file.
21999         * tests/test-string-c++.cc: Check the signature of strerror_r.
22000
22001         New module 'strerror_r-posix'.
22002         * lib/string.in.h (strerror_r): New declaration.
22003         * lib/strerror_r.c: New file.
22004         * m4/strerror_r.m4: New file.
22005         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
22006         of strerror_r.
22007         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
22008         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22009         * modules/strerror_r-posix: New file.
22010         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
22011         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22012         * doc/posix-functions/strerror_r.texi: Mention the new module and the
22013         portability problems.
22014
22015 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
22016
22017         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
22018         line is also considered for output. Quoted function name in shell
22019         command, so temporary files for functions like MyClass::operator()
22020         are removed correctly without errors.
22021
22022 2010-11-09  Bruno Haible  <bruno@clisp.org>
22023
22024         * doc/posix-functions/strerror.texi: List more failing platforms.
22025
22026         * doc/posix-functions/strerror.texi: Add a comment.
22027
22028 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
22029
22030         fdopendir: fix bug on MacOS X when low on file descriptors
22031
22032         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
22033         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
22034         All callers changed.
22035         (fdopendir): Invoke save_cwd at the top level, not after using
22036         multiple dup() calls to use up file descriptors.  Then retry
22037         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
22038         less than the maximum number of open file descriptors, because
22039         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
22040         on Mac OS X 10.6.4 for tar 1.24
22041         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
22042         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
22043         and for tar 1.25
22044         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
22045
22046 2010-11-07  Bruno Haible  <bruno@clisp.org>
22047
22048         vasnprintf: Support I flag on glibc systems.
22049         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
22050         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
22051         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
22052         snprintf function.
22053         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
22054         glibc systems.
22055         * tests/test-vasnprintf-posix3.c: New file.
22056         * modules/vasnprintf-posix-tests (Files): Add it.
22057         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
22058
22059 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
22060
22061         [html] Fix copy/paste bug: Use unique name for compiler warnings.
22062         * MODULES.html.sh: For compiler warnings, use name
22063         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
22064
22065 2010-11-05  Eric Blake  <eblake@redhat.com>
22066
22067         ceil, floor: avoid spurious failure with icc
22068         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
22069         [denormals-as-zero] when optimizing without -mieee-fp option.
22070         * tests/test-floorf2.c (floorf_reference): Likewise.
22071         * tests/test-ceilf1.c (dummy): New function.
22072         (main): Use it to outsmart icc's optimization.
22073         * tests/test-floorf1.c (dummy, main): Likewise.
22074
22075         tests: require working signbit
22076         * modules/ceilf-tests (Depends-on): Add signbit.
22077         * modules/ceill-tests (Depends-on): Likewise.
22078         * modules/floorf-tests (Depends-on): Likewise.
22079         * modules/floorl-tests (Depends-on): Likewise.
22080         * modules/round-tests (Depends-on): Likewise.
22081         * modules/roundf-tests (Depends-on): Likewise.
22082         * modules/roundl-tests (Depends-on): Likewise.
22083         * modules/trunc-tests (Depends-on): Likewise.
22084         * modules/truncf-tests (Depends-on): Likewise.
22085         * modules/truncl-tests (Depends-on): Likewise.
22086
22087         strtod: work around icc bug
22088         * lib/strtod.c (minus_zero): Define to working value.
22089         (strtod): Use it to avoid icc bug.
22090
22091         copysign: enhance tests
22092         * modules/copysign-tests (Files): Add minus-zero.h.
22093         * tests/test-copysign.c (main): Also test zeros.
22094
22095 2010-11-04  Eric Blake  <eblake@redhat.com>
22096
22097         ceil, floor, round, trunc: enhance tests of -0
22098         * tests/test-ceilf1.c (main): Ensure correct sign of result.
22099         * tests/test-ceill.c (main): Likewise.
22100         * tests/test-floorf1.c (main): Likewise.
22101         * tests/test-floorl.c (main): Likewise.
22102         * tests/test-round1.c (main): Likewise.
22103         * tests/test-roundf1.c (main): Likewise.
22104         * tests/test-roundl.c (main): Likewise.
22105         * tests/test-trunc1.c (main): Likewise.
22106         * tests/test-truncf1.c (main): Likewise.
22107         * tests/test-truncl.c (main): Likewise.
22108
22109 2010-11-04  Eric Blake  <eblake@redhat.com>
22110
22111         frexp, tests: work around ICC bug with -zero
22112         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
22113         works with more compilers.
22114         * tests/minus-zero.h: New file.
22115         * modules/ceilf-tests (Files): Include it.
22116         * modules/ceill-tests (Files): Likewise.
22117         * modules/floorf-tests (Files): Likewise.
22118         * modules/floorl-tests (Files): Likewise.
22119         * modules/frexp-nolibm-tests (Files): Likewise.
22120         * modules/frexp-tests (Files): Likewise.
22121         * modules/frexpl-nolibm-tests (Files): Likewise.
22122         * modules/frexpl-tests (Files): Likewise.
22123         * modules/isnan-tests (Files): Likewise.
22124         * modules/isnand-nolibm-tests (Files): Likewise.
22125         * modules/isnand-tests (Files): Likewise.
22126         * modules/isnanf-nolibm-tests (Files): Likewise.
22127         * modules/isnanf-tests (Files): Likewise.
22128         * modules/isnanl-nolibm-tests (Files): Likewise.
22129         * modules/isnanl-tests (Files): Likewise.
22130         * modules/round-tests (Files): Likewise.
22131         * modules/roundf-tests (Files): Likewise.
22132         * modules/roundl-tests (Files): Likewise.
22133         * modules/ldexpl-tests (Files): Likewise.
22134         * modules/signbit-tests (Files): Likewise.
22135         * modules/snprintf-posix-tests (Files): Likewise.
22136         * modules/sprintf-posix-tests (Files): Likewise.
22137         * modules/strtod-tests (Files): Likewise.
22138         * modules/trunc-tests (Files): Likewise.
22139         * modules/truncf-tests (Files): Likewise.
22140         * modules/truncl-tests (Files): Likewise.
22141         * modules/vsnprintf-posix-tests (Files): Likewise.
22142         * modules/vsprintf-posix-tests (Files): Likewise.
22143         * modules/vasnprintf-posix-tests (Files): Likewise.
22144         * modules/vasprintf-posix-tests (Files): Likewise.
22145         * tests/test-ceilf1.c (main): Use it.
22146         * tests/test-ceill.c (main): Likewise.
22147         * tests/test-floorf1.c (main): Likewise.
22148         * tests/test-floorl.c (main): Likewise.
22149         * tests/test-frexp.c (main): Likewise.
22150         * tests/test-frexpl.c (main): Likewise.
22151         * tests/test-isnan.c (main): Likewise.
22152         * tests/test-isnand.h (main): Likewise.
22153         * tests/test-isnanf.h (main): Likewise.
22154         * tests/test-isnanl.h (main): Likewise.
22155         * tests/test-ldexpl.c (main): Likewise.
22156         * tests/test-round.c (main): Likewise.
22157         * tests/test-roundf.c (main): Likewise.
22158         * tests/test-roundl.c (main): Likewise.
22159         * tests/test-signbit.c (test_signbitf, test_signbitd)
22160         (test_signbitl): Likewise.
22161         * tests/test-snprintf-posix.h (test_function): Likewise.
22162         * tests/test-sprintf-posix.h (test_function): Likewise.
22163         * tests/test-strtod.c (main): Likewise.
22164         * tests/test-trunc1.c (main): Likewise.
22165         * tests/test-truncf1.c (main): Likewise.
22166         * tests/test-truncl.c (main): Likewise.
22167
22168         isnanl: work around icc bug
22169         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
22170
22171 2010-11-03  Eric Blake  <eblake@redhat.com>
22172
22173         tests: fix compiler warnings
22174         * tests/test-getopt.h (test_getopt): Fix condition.
22175         * tests/test-getopt_long.h (test_getopt_long): Likewise.
22176         * tests/test-pipe2.c (main): Likewise.
22177         * tests/test-quotearg-simple.c (main): Avoid icc warning.
22178
22179         utimens: fix broken m4 test
22180         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
22181
22182 2010-10-28  Bruno Haible  <bruno@clisp.org>
22183
22184         posix_spawn*, getdtablesize: Relax license.
22185         * modules/posix_spawn (License): Change to LGPLv2+.
22186         * modules/posix_spawnp (License): Likewise.
22187         * modules/posix_spawn-internal (License): Likewise.
22188         * modules/posix_spawnattr_init (License): Likewise.
22189         * modules/posix_spawnattr_getflags (License): Likewise.
22190         * modules/posix_spawnattr_setflags (License): Likewise.
22191         * modules/posix_spawnattr_getpgroup (License): Likewise.
22192         * modules/posix_spawnattr_setpgroup (License): Likewise.
22193         * modules/posix_spawnattr_getschedparam (License): Likewise.
22194         * modules/posix_spawnattr_setschedparam (License): Likewise.
22195         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
22196         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
22197         * modules/posix_spawnattr_getsigdefault (License): Likewise.
22198         * modules/posix_spawnattr_setsigdefault (License): Likewise.
22199         * modules/posix_spawnattr_getsigmask (License): Likewise.
22200         * modules/posix_spawnattr_setsigmask (License): Likewise.
22201         * modules/posix_spawnattr_destroy (License): Likewise.
22202         * modules/posix_spawn_file_actions_init (License): Likewise.
22203         * modules/posix_spawn_file_actions_addclose (License): Likewise.
22204         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
22205         * modules/posix_spawn_file_actions_addopen (License): Likewise.
22206         * modules/posix_spawn_file_actions_destroy (License): Likewise.
22207         * modules/getdtablesize (License): Likewise.
22208         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
22209
22210 2010-10-26  Bruno Haible  <bruno@clisp.org>
22211
22212         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
22213         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
22214         Cygwin and mingw.
22215         Suggested by Eric Blake.
22216
22217 2010-10-26  Bruno Haible  <bruno@clisp.org>
22218
22219         stdio: Work around compilation error due to renameat() on Solaris 10.
22220         * lib/stdio.in.h: Include <unistd.h> on Solaris.
22221         * lib/renameat.c: Don't include <unistd.h> here.
22222         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
22223         Reported by Paul Eggert and Eric Blake.
22224
22225 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
22226
22227         renameat: port to Solaris 10, which declares renameat in unistd.h
22228
22229         * lib/renameat.c: Include unistd.h before stdio.h, because
22230         Solaris 10 declares renameat in unistd.h.  Problem encountered
22231         when building GNU tar 1.24 on Solaris 10.
22232
22233 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22234
22235         fdopendir: fix C89 compilation
22236         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
22237         compilers.
22238
22239 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
22240
22241         inttostr: simplify by removing unnecessary redundancy
22242         * lib/anytostr.c: Don't include verify.h.
22243         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
22244         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
22245         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
22246         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
22247         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
22248         Likewise.
22249         * modules/inttostr (Depends-on): Remove 'verify'.
22250
22251 2010-10-23  Bruno Haible  <bruno@clisp.org>
22252
22253         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
22254         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
22255         Reported by Eric Blake.
22256
22257 2010-10-23  Bruno Haible  <bruno@clisp.org>
22258
22259         Tests: Fix LOCALE_JA on MirBSD 10.
22260         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
22261         to an UTF-8 locale.
22262         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
22263         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
22264         Reported by Eric Blake.
22265
22266 2010-10-21  Bruno Haible  <bruno@clisp.org>
22267
22268         nl_langinfo test: Avoid test failure on NetBSD 5.
22269         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
22270         Reported by Eric Blake.
22271
22272 2010-10-21  Eric Blake  <eblake@redhat.com>
22273
22274         c-stack: work around libsigsegv 2.8 bug
22275         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
22276         overflow on at least PowerPC64.
22277
22278 2010-10-17  Bruno Haible  <bruno@clisp.org>
22279
22280         userspec: Drop redundant file.
22281         * modules/userspec (Files): Remove lib/inttostr.h.
22282
22283 2010-10-17  Bruno Haible  <bruno@clisp.org>
22284
22285         nl_langinfo tests: Silence some warnings.
22286         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
22287         Reported by Jim Meyering.
22288
22289 2010-10-17  Bruno Haible  <bruno@clisp.org>
22290
22291         Make use of GCC's attribute __alloc_size__.
22292         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
22293         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
22294         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
22295         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
22296         __alloc_size__.
22297         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
22298         Suggested by Jim Meyering.
22299
22300 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
22301
22302         bootstrap: anchor .gitignore entries.
22303         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
22304         with...
22305         (insert_vc_ignore): ... this new function, which prepends `/' to
22306         all .gitignore entries before passing them to
22307         insert_sorted_if_absent.
22308
22309 2010-10-16  Bruno Haible  <bruno@clisp.org>
22310
22311         nextafter: Fix configure check.
22312         * modules/nextafter (configure.ac): Correct expected prototype.
22313
22314 2010-10-16  Bruno Haible  <bruno@clisp.org>
22315
22316         termios: Update documentation.
22317         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
22318
22319 2010-10-16  Bruno Haible  <bruno@clisp.org>
22320
22321         tests: Make them compile with TinyCC.
22322         * tests/test-strstr.c (main): Remove parentheses around array
22323         initializer.
22324
22325 2010-10-15  Eric Blake  <eblake@redhat.com>
22326
22327         ignore-value: make header idempotent
22328         * lib/ignore-value.h: Add double-inclusion guards.
22329         Reported by Stefan Berger.
22330
22331 2010-10-15  Jim Meyering  <meyering@redhat.com>
22332
22333         GNUmakefile: handle "stable" target, not "major"
22334         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
22335         lists in maint.mk and announce-gen.  Without this, "make stable"
22336         would fail to ensure that $(VERSION) is up to date.
22337
22338 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
22339
22340         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
22341         & co.
22342
22343 2010-10-14  Bruno Haible  <bruno@clisp.org>
22344
22345         vasnprintf: Don't set errno to 0.
22346         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
22347         block that sets it to 0.
22348         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
22349
22350 2010-10-14  Bruno Haible  <bruno@clisp.org>
22351
22352         socketlib: Fix.
22353         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
22354         gl_PREREQ_SYS_H_WINSOCK2.
22355         Reported by Ian Beckwith <ianb@erislabs.net>.
22356
22357 2010-10-13  Jim Meyering  <meyering@redhat.com>
22358
22359         test-select-stdin.c: avoid warn_unused_result warnings
22360         * tests/test-select-stdin.c: Include "macros.h".
22361         ASSERT that read and fflush succeed.
22362
22363 2010-10-13  Jim Meyering  <meyering@redhat.com>
22364
22365         git-version-gen: do require git-VC'd files in cwd
22366         * build-aux/git-version-gen: Reject a git version string
22367         if there are no commits associated with the current directory.
22368         This avoids an unlikely false-positive (unrelated dir whose parent
22369         repository also contains a tag matching v*), as pointed out
22370         by Giuseppe Scrivano in
22371         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
22372
22373 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
22374
22375         argv-iter: omit nonconforming declaration
22376         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
22377         enum arg_iter_err declaration, which doesn't conform to C99.
22378         Solaris 10 cc warns about this.
22379
22380 2010-10-13  Eric Blake  <eblake@redhat.com>
22381
22382         termios: fix compilation on mingw
22383         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
22384         (gl_TERMIOS_H): Adjust it on mingw.
22385         * modules/termios (Makefile.am): Substitute new key.
22386         * lib/termios.in.h (includes): Make include_next conditional.
22387         * doc/posix-headers/termios.texi (termios.h): Update
22388         documentation.
22389         Reported by Daniel P. Berrange.
22390
22391 2010-10-13  Jim Meyering  <meyering@redhat.com>
22392
22393         git-version-gen: don't require that .git/ be in the current dir
22394         * build-aux/git-version-gen: Adjust this script so that it works
22395         when run from any working directory beneath the top-level .git/-
22396         containing directory.  Inspired by a patch from Giuseppe Scrivano,
22397         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
22398
22399         test-select: avoid warn_unused_result warnings
22400         * tests/test-select.c: Include "macros.h".
22401         ASSERT that each call to read, write, and pipe succeeds.
22402         While not technically required, also check each "close".
22403         * modules/select-tests (Files): Add tests/macros.h.
22404
22405         test-symlinkat: remove declaration of unused local
22406         * tests/test-symlinkat.c (main): Remove unused local, "buf".
22407
22408         test-inttostr: avoid shadowing warnings
22409         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
22410         and use malloc rather than the stack for the same reason as
22411         mentioned in the comment justifying the other allocation.
22412
22413 2010-10-11  Bruno Haible  <bruno@clisp.org>
22414
22415         stdlib: Allow multiple gnulib generated replacements to coexist.
22416         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
22417         Reported by Sam Steingold <sds@gnu.org>.
22418
22419 2010-10-11  Jim Meyering  <meyering@redhat.com>
22420
22421         fix a documentation typo
22422         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
22423
22424 2010-10-11  Eric Blake  <eblake@redhat.com>
22425
22426         futimens: work around Solaris 11 bug
22427         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
22428         * tests/test-futimens.h (test_futimens): Enhance, rather than
22429         weaken test.
22430         * doc/posix-functions/futimens.texi (futimens): Document the bug.
22431
22432 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
22433
22434         Indentation.
22435         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
22436         higher-level operators more to the left.
22437
22438 2010-10-11  Jim Meyering  <meyering@redhat.com>
22439
22440         test-futimens: avoid unwarranted test failure on Solaris 5.11
22441         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
22442         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
22443         because it tries to dereference the NULL name argument.
22444
22445 2010-10-11  Bruno Haible  <bruno@clisp.org>
22446
22447         Indentation.
22448         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
22449         indentation.
22450
22451 2010-10-11  Jim Meyering  <meyering@redhat.com>
22452
22453         spawn.in.h: make indentation consistent with parentheses
22454         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
22455         Make indentation consistent with parentheses.
22456
22457 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
22458
22459         Fix mismatched parens in previous commit
22460         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
22461         parens.
22462
22463 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
22464
22465         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
22466
22467         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
22468         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
22469         * lib/malloca.c: Include "verify.h".
22470         (verify1): Remove, replacing with a verify call.
22471         * lib/relocwrapper.c (verify1): Likewise.
22472         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
22473         Likewise.
22474         * modules/malloca (Depends-on): Add 'verify'.
22475         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
22476         * modules/vasnprintf (Depends-on): Add 'verify'.
22477         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
22478         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
22479         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
22480         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
22481         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
22482         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
22483         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
22484
22485         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
22486
22487         Formerly the style was sometimes 2*X - 1, because the C standard
22488         was wrongly thought to disallow ?: in integral constant expressions.
22489         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
22490         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
22491         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
22492         * lib/stdint.in.h (_verify_intmax_size): Likewise.
22493         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
22494         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
22495         verify that time_t cannot be floating.
22496
22497 2010-10-08  Eric Blake  <eblake@redhat.com>
22498
22499         time: enforce recent POSIX ruling that time_t is integral
22500         * lib/time.in.h (__time_t_must_be_integral): Detect any
22501         problematic systems, allowing the rest of gnulib to assume POSIX.
22502
22503 2010-10-08  Jim Meyering  <meyering@redhat.com>
22504
22505         fdopendir: fix a bug on systems lacking openat and /proc support
22506         OpenBSD 4.7 is one such system.  The most noticeable effect was
22507         failure of any application making nontrivial use of fts: rm, du,
22508         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
22509           ./rm: traversal failed: `a': Bad file descriptor
22510         Debugging that, you see that even though FD 6 was closed just
22511         prior to the opendir call in fd_clone_opendir, its resulting
22512         dir->dd_fd was 8, rather than the expected value of 6:
22513
22514         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
22515         93                close (fd);
22516         (gdb) n
22517         94                dir = fd_clone_opendir (dupfd);
22518         (gdb) n
22519         95                saved_errno = errno;
22520         (gdb) p dir->dd_fd
22521         $11 = 8
22522
22523         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
22524         The problem is that on OpenBSD, fd_clone_opendir has to resort
22525         to using the old-style save/restore CWD mechanism, due to its
22526         lack of openat/proc support, and *that* would steal the FD (6)
22527         that opendir was supposed to use.
22528
22529         The fix is to squirrel away the desired FD so that save_cwd uses a
22530         different one, and then free the dest FD right before calling opendir.
22531         That guarantees opendir will use the required file descriptor.
22532
22533         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
22534
22535 2010-10-08  Bruno Haible  <bruno@clisp.org>
22536
22537         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
22538         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
22539
22540 2010-10-08  Bruno Haible  <bruno@clisp.org>
22541
22542         nanosleep: Make replacement POSIX compliant.
22543         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
22544         is out of range.
22545         Reported by Jim Meyering.
22546
22547 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
22548
22549         bootstrap: add hook for altering gnulib.mk, for Bison
22550         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
22551         the Bison bootstrapping process can rewrite file names and variables
22552         in this file before later parts of 'bootstrap' use the file.
22553         Bison wants to include lib/gnulib.mk from the top-level makefile,
22554         so it needs the file names in this file to be relative to the top
22555         level, not relative to lib; plus it needs variable names to be
22556         rewritten.
22557         (slurp): Use the new function.
22558
22559         bootstrap: reformat for readability
22560         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
22561
22562 2010-10-08  Eric Blake  <eblake@redhat.com>
22563
22564         docs: update cygwin progress
22565         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
22566         1.7.7.
22567         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
22568         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
22569         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
22570         * doc/posix-functions/carg.texi (carg): Likewise.
22571         * doc/posix-functions/cargf.texi (cargf): Likewise.
22572         * doc/posix-functions/casin.texi (casin): Likewise.
22573         * doc/posix-functions/casinf.texi (casinf): Likewise.
22574         * doc/posix-functions/casinh.texi (casinh): Likewise.
22575         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
22576         * doc/posix-functions/catan.texi (catan): Likewise.
22577         * doc/posix-functions/catanf.texi (catanf): Likewise.
22578         * doc/posix-functions/catanh.texi (catanh): Likewise.
22579         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
22580         * doc/posix-functions/ccos.texi (ccos): Likewise.
22581         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
22582         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
22583         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
22584         * doc/posix-functions/cexp.texi (cexp): Likewise.
22585         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
22586         * doc/posix-functions/cimag.texi (cimag): Likewise.
22587         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
22588         * doc/posix-functions/clog.texi (clog): Likewise.
22589         * doc/posix-functions/clogf.texi (clogf): Likewise.
22590         * doc/posix-functions/conj.texi (conj): Likewise.
22591         * doc/posix-functions/conjf.texi (conjf): Likewise.
22592         * doc/posix-functions/cpow.texi (cpow): Likewise.
22593         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
22594         * doc/posix-functions/cproj.texi (cproj): Likewise.
22595         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
22596         * doc/posix-functions/creal.texi (creal): Likewise.
22597         * doc/posix-functions/crealf.texi (crealf): Likewise.
22598         * doc/posix-functions/csin.texi (csin): Likewise.
22599         * doc/posix-functions/csinf.texi (csinf): Likewise.
22600         * doc/posix-functions/csinh.texi (csinh): Likewise.
22601         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
22602         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
22603         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
22604         * doc/posix-functions/ctan.texi (ctan): Likewise.
22605         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
22606         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
22607         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
22608         * doc/posix-headers/complex.texi (complex.h): Likewise.
22609
22610 2010-10-07  Jim Meyering  <meyering@redhat.com>
22611
22612         parse-datetime: avoid compilation failure on OpenBSD 4.7
22613         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
22614         This works around a compilation failure on OpenBSD 4.7:
22615         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
22616
22617 2010-10-07  Eric Blake  <eblake@redhat.com>
22618
22619         docs: update cygwin progress
22620         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
22621         1.7.6.
22622         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
22623         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
22624         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
22625         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
22626         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
22627         Likewise.
22628         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
22629         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
22630         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
22631         Likewise.
22632         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
22633         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
22634         Likewise.
22635         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
22636         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
22637         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
22638         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
22639         Likewise.
22640         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
22641         Likewise.
22642         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
22643
22644         docs: update parse-datetime history
22645         * doc/parse-datetime.texi (Authors of parse_datetime): Better
22646         documentation of this function's history and alternatives.
22647
22648         cygwin: use more robust version check
22649         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
22650         exclude an eventual cygwin 1.9.1.
22651         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22652         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
22653         (gl_FUNC_STRCASESTR): Likewise.
22654         Reported by Bruno Haible.
22655
22656 2010-10-06  Bruno Haible  <bruno@clisp.org>
22657
22658         string, sys_select: Avoid #including large headers unless necessary.
22659         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
22660         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
22661         OSF/1, BeOS, Haiku.
22662         Reported by Jim Meyering.
22663
22664 2010-10-05  Eric Blake  <eblake@redhat.com>
22665
22666         memmem, strstr, strcasestr: fix bug with long periodic needle
22667         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
22668         periodic needle having false positive.
22669         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
22670         and cygwin 1.7.7.
22671         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
22672         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
22673         (gl_FUNC_STRCASESTR): Likewise.
22674         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22675         * tests/test-memmem.c (main): Expose the bug.
22676         * tests/test-strcasestr.c (main): Likewise.
22677         * tests/test-strstr.c (main): Likewise.
22678         * tests/test-c-strcasestr.c (main): Likewise.
22679         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
22680         * doc/posix-functions/strstr.texi (strstr): Likewise.
22681         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
22682         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
22683
22684 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
22685
22686         parse-datetime: do some more renaming
22687         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
22688         parse_datetime, not get_date.  Mention the renaming.
22689         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
22690         in comments.
22691         * m4/bison.m4: Likewise.
22692
22693 2010-10-05  Eric Blake  <eblake@redhat.com>
22694
22695         parse-datetime: better name than get_date
22696         * NEWS: Reword the deprecation notice.
22697         * modules/get_date: Rename to modules/parse-datetime.
22698         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
22699         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
22700         * lib/get_date.y: Rename to lib/parse-datetime.y.
22701         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
22702         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
22703         * doc/getdate.texi: Provide fallback wrapper.
22704         * lib/getdate.h: Move guts, and wrap...
22705         * lib/parse-datetime.h: ...new file.
22706         * lib/parse-datetime.y (get_date): Rename...
22707         (parse_datetime): ...to this.
22708         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
22709         (gl_PARSE_DATETIME): ...to this.
22710         * doc/posix-functions/getdate.texi (get_date): Provide fallback
22711         documentation.
22712         * modules/getdate (Files): Provide fallback docs and header.
22713         (Notice, Depends-on): Update references.
22714         * tests/test-parse-datetime.c: Likewise.
22715         * DEPENDENCIES: Likewise.
22716         * MODULES.html.sh (Date and time <time.h>): Likewise.
22717         * doc/parse-datetime.texi (Date input formats)
22718         (Authors of parse_datetime): Likewise.
22719         * modules/parse-datetime (Files, configure.ac, Makefile.am)
22720         (Include): Likewise.
22721         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
22722         * gnulib-tool: Likewise.
22723         * m4/bison.m4 (gl_BISON): Likewise.
22724         Suggested by Bruno Haible.
22725
22726 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
22727
22728         more ports to Solaris tr, which needs [] around ranges
22729         * gnulib-tool: Solaris tr needs [] around ranges.
22730         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
22731         * tests/test-pipe-filter-gi1.c (main): Likewise.
22732         * tests/test-pipe-filter-ii1.c (main): Likewise.
22733
22734 2010-10-05  Eric Blake  <eblake@redhat.com>
22735
22736         bootstrap: fix Solaris regression
22737         * build-aux/bootstrap (check_versions): Solaris tr still needs []
22738         around ranges.
22739         Reported by Pádraig Brady.
22740
22741         bootstrap: work with pkg-config
22742         * build-aux/bootstrap (check_versions): Also transliterate - in
22743         prerequisite name.
22744         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
22745         prerequisites that were already found, to avoid confusion.
22746         Reported by Justin Clift.
22747
22748         faccessat: remove unused wrappers
22749         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
22750         presence of these wrappers dragged in -lgen on Solaris.
22751         Reported by Clemens Brogi; fix suggested by Paul Eggert.
22752
22753 2010-10-05  Jim Meyering  <meyering@redhat.com>
22754
22755         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
22756         * Makefile (sc_pragma_columns): New syntax-check rule.
22757
22758 2010-10-04  Bruno Haible  <bruno@clisp.org>
22759
22760         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
22761         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
22762         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
22763         Reported by Bruce Korb and Eric Blake.
22764
22765 2010-10-04  Bruno Haible  <bruno@clisp.org>
22766
22767         threadlib: Make option --with-libpth-prefix work.
22768         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
22769         use $LIBPTH, not just -lpth.
22770
22771 2010-10-04  Bruno Haible  <bruno@clisp.org>
22772
22773         Avoid line length limitation from HP NonStop system header files.
22774         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
22775         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
22776         * lib/ctype.in.h: Likewise.
22777         * lib/dirent.in.h: Likewise.
22778         * lib/errno.in.h: Likewise.
22779         * lib/fcntl.in.h: Likewise.
22780         * lib/float.in.h: Likewise.
22781         * lib/getopt.in.h: Likewise.
22782         * lib/iconv.in.h: Likewise.
22783         * lib/inttypes.in.h: Likewise.
22784         * lib/langinfo.in.h: Likewise.
22785         * lib/locale.in.h: Likewise.
22786         * lib/math.in.h: Likewise.
22787         * lib/netdb.in.h: Likewise.
22788         * lib/netinet_in.in.h: Likewise.
22789         * lib/poll.in.h: Likewise.
22790         * lib/pthread.in.h: Likewise.
22791         * lib/pty.in.h: Likewise.
22792         * lib/sched.in.h: Likewise.
22793         * lib/se-selinux.in.h: Likewise.
22794         * lib/search.in.h: Likewise.
22795         * lib/signal.in.h: Likewise.
22796         * lib/spawn.in.h: Likewise.
22797         * lib/stdarg.in.h: Likewise.
22798         * lib/stddef.in.h: Likewise.
22799         * lib/stdint.in.h: Likewise.
22800         * lib/stdio.in.h: Likewise.
22801         * lib/stdlib.in.h: Likewise.
22802         * lib/string.in.h: Likewise.
22803         * lib/strings.in.h: Likewise.
22804         * lib/sys_file.in.h: Likewise.
22805         * lib/sys_ioctl.in.h: Likewise.
22806         * lib/sys_select.in.h: Likewise.
22807         * lib/sys_socket.in.h: Likewise.
22808         * lib/sys_stat.in.h: Likewise.
22809         * lib/sys_time.in.h: Likewise.
22810         * lib/sys_times.in.h: Likewise.
22811         * lib/sys_utsname.in.h: Likewise.
22812         * lib/sys_wait.in.h: Likewise.
22813         * lib/sysexits.in.h: Likewise.
22814         * lib/termios.in.h: Likewise.
22815         * lib/time.in.h: Likewise.
22816         * lib/unistd.in.h: Likewise.
22817         * lib/wchar.in.h: Likewise.
22818         * lib/wctype.in.h: Likewise.
22819         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
22820         * modules/ctype (Makefile.am): Likewise.
22821         * modules/dirent (Makefile.am): Likewise.
22822         * modules/errno (Makefile.am): Likewise.
22823         * modules/fcntl-h (Makefile.am): Likewise.
22824         * modules/float (Makefile.am): Likewise.
22825         * modules/getopt-posix (Makefile.am): Likewise.
22826         * modules/iconv-h (Makefile.am): Likewise.
22827         * modules/inttypes (Makefile.am): Likewise.
22828         * modules/langinfo (Makefile.am): Likewise.
22829         * modules/locale (Makefile.am): Likewise.
22830         * modules/math (Makefile.am): Likewise.
22831         * modules/netdb (Makefile.am): Likewise.
22832         * modules/netinet_in (Makefile.am): Likewise.
22833         * modules/poll-h (Makefile.am): Likewise.
22834         * modules/pthread (Makefile.am): Likewise.
22835         * modules/pty (Makefile.am): Likewise.
22836         * modules/sched (Makefile.am): Likewise.
22837         * modules/search (Makefile.am): Likewise.
22838         * modules/selinux-h (Makefile.am): Likewise.
22839         * modules/signal (Makefile.am): Likewise.
22840         * modules/spawn (Makefile.am): Likewise.
22841         * modules/stdarg (Makefile.am): Likewise.
22842         * modules/stddef (Makefile.am): Likewise.
22843         * modules/stdint (Makefile.am): Likewise.
22844         * modules/stdio (Makefile.am): Likewise.
22845         * modules/stdlib (Makefile.am): Likewise.
22846         * modules/string (Makefile.am): Likewise.
22847         * modules/strings (Makefile.am): Likewise.
22848         * modules/sys_file (Makefile.am): Likewise.
22849         * modules/sys_ioctl (Makefile.am): Likewise.
22850         * modules/sys_select (Makefile.am): Likewise.
22851         * modules/sys_socket (Makefile.am): Likewise.
22852         * modules/sys_stat (Makefile.am): Likewise.
22853         * modules/sys_time (Makefile.am): Likewise.
22854         * modules/sys_times (Makefile.am): Likewise.
22855         * modules/sys_utsname (Makefile.am): Likewise.
22856         * modules/sys_wait (Makefile.am): Likewise.
22857         * modules/sysexits (Makefile.am): Likewise.
22858         * modules/termios (Makefile.am): Likewise.
22859         * modules/time (Makefile.am): Likewise.
22860         * modules/unistd (Makefile.am): Likewise.
22861         * modules/wchar (Makefile.am): Likewise.
22862         * modules/wctype (Makefile.am): Likewise.
22863
22864 2010-10-04  Bruno Haible  <bruno@clisp.org>
22865
22866         read-file tests: Avoid a test failure on NonStop Kernel.
22867         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
22868         a regular file.
22869         Reported by Joachim Schmitz <schmitz@hp.com>.
22870
22871 2010-10-03  Bruno Haible  <bruno@clisp.org>
22872
22873         gnulib-tool: Fixes for --create-testdir with --libtool.
22874         * gnulib-tool (func_get_automake_snippet): Don't augment
22875         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
22876         an executable.
22877         (func_create_testdir): Handle module 'alloca' like func_import.
22878         Reported by Bruce Korb <bruce.korb@gmail.com>.
22879
22880 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
22881
22882         Avoid some lines longer than 80 characters.
22883         * lib/stdint.in.h: Break long comment lines.
22884         * lib/math.in.h: Likewise.
22885         (_GL_NUM_UINT_WORDS): New macro, for readability.
22886         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
22887         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
22888         * lib/stdlib.in.h: Likewise.
22889         * lib/spawn.in.h: Likewise.
22890         * lib/sys_socket.in.h: Update an URL.
22891         * lib/sys_stat.in.h: Break long line.
22892
22893 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
22894
22895         Improve pmccabe2html.
22896         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
22897         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
22898         when the sources change. Remove the line in the HTML about "Used
22899         ranges" (which implied that there might be other unused ranges),
22900         rename "Resume" to "Summary" (easier to understand for more users).
22901         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
22902         styles, and some unnecessary blank lines.
22903
22904 2010-10-03  Bruno Haible  <bruno@clisp.org>
22905             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
22906
22907         acl: Add support for ACLs on NonStop Kernel.
22908         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
22909         Check whether the function aclsort() exists.
22910         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
22911         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
22912         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
22913         (acl_nontrivial [HAVE_ACLSORT]: New function.
22914         (file_has_acl): Implement for NonStop Kernel.
22915         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
22916         (qset_acl): Implement for NonStop Kernel.
22917         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
22918         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
22919         (main): Implement for NonStop Kernel.
22920         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
22921         Kernel. Handle this flavor.
22922         * tests/test-set-mode-acl.sh: Likewise.
22923         * tests/test-copy-acl.sh: Likewise.
22924         * tests/test-copy-file.sh: Likewise.
22925
22926 2010-10-03  Bruno Haible  <bruno@clisp.org>
22927
22928         Info about ACLs on NonStop Kernel.
22929         * doc/acl-resources.txt: Add info about NonStop Kernel.
22930         References by Joachim Schmitz <schmitz@hp.com>.
22931
22932 2010-10-02  Bruno Haible  <bruno@clisp.org>
22933
22934         Define missing EDQUOT on NonStop Kernel.
22935         * lib/errno.in.h (EDQUOT): Assign a value if missing.
22936         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
22937         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
22938         missing.
22939         * doc/posix-headers/errno.texi: Mention the NSK bug.
22940         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
22941         Reported by Joachim Schmitz <schmitz@hp.com>.
22942
22943 2010-10-02  Bruno Haible  <bruno@clisp.org>
22944
22945         Update doc for POSIX:2008.
22946         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
22947         Update URL of POSIX specification.
22948
22949 2010-10-02  Bruno Haible  <bruno@clisp.org>
22950
22951         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
22952         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
22953         from gnulib, not from Automake.
22954
22955 2010-10-02  Bruno Haible  <bruno@clisp.org>
22956
22957         New module 'system-posix'.
22958         * modules/system-posix: New file.
22959         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
22960         module is present.
22961         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
22962         GNULIB_SYSTEM_POSIX.
22963         * modules/stdlib (Depends-on): Remove sys_wait.
22964         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
22965         * doc/posix-functions/system.texi: Mention the new module.
22966         * doc/posix-headers/stdlib.texi: Likewise.
22967         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
22968         define test_sys_wait_macros to a no-op.
22969         Reported by Sam Steingold <sds@gnu.org>.
22970
22971 2010-09-30  Bruno Haible  <bruno@clisp.org>
22972
22973         More renaming from 'getdate' to 'get_date'.
22974         * doc/get_date.texi: Renamed from doc/getdate.texi.
22975         * modules/get_date (Files): Update.
22976         * MODULES.html.sh (Date and time <time.h>): Update.
22977         * DEPENDENCIES: Update.
22978         * gnulib-tool: Update comment.
22979         * m4/bison.m4 (gl_BISON): Likewise.
22980         * m4/get_date.m4 (gl_GET_DATE): Likewise.
22981
22982 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
22983
22984         bootstrap: support ACLOCAL_FLAGS during aclocal
22985         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
22986         can add additional -I dir for third-party .m4 files.
22987
22988 2010-09-30  Eric Blake  <eblake@redhat.com>
22989
22990         bootstrap: use glibtoolize on MacOS
22991         * build-aux/bootstrap (check_versions): Convert libtool into
22992         libtoolize.
22993         (tool search): Move libtool check earlier, and look for
22994         glibtoolize for MacOS.
22995         (gnulib_tool_options): Auto-add --libtool when appropriate.
22996         Reported by Justin Clift.
22997
22998         poll: fix typo that broke test on MacOS
22999         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
23000         Reported by Justin Clift.
23001
23002         getdate: rename to get_date
23003         Note: getdate.h is not renamed, to minimize client impact.
23004         * modules/getdate: Mark obsolete.  Move old contents...
23005         * modules/get_date: ...to new module name.
23006         * modules/getdate-tests: Move...
23007         * modules/get_date-tests: ...here.
23008         * m4/getdate.m4: Move...
23009         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
23010         * lib/getdate.y: Move...
23011         * lib/get_date.y: ...here.
23012         * tests/test-getdate.c: Move...
23013         * tests/test-get_date.c: ...here.
23014         * doc/posix-functions/getdate.texi (getdate): Update name.
23015         * NEWS: Mention the change.
23016
23017 2010-09-29  Bruno Haible  <bruno@clisp.org>
23018
23019         Separate the module 'waitpid' from the module 'sys_wait'.
23020         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
23021         present.
23022         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
23023         gl_MODULE_INDICATOR_FOR_TESTS.
23024         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
23025         * modules/sys_wait (Depends-on): Remove waitpid.
23026         (Makefile.am): Substitute GNULIB_WAITPID.
23027         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
23028         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
23029         signature only if the 'waitpid' module is present.
23030         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
23031         * NEWS: Mention the change.
23032         * modules/grantpt (Depends-on): Add waitpid.
23033         * modules/wait-process (Depends-on): Likewise.
23034
23035 2010-09-29  Bruno Haible  <bruno@clisp.org>
23036
23037         More tests for module 'sys_wait'.
23038         * modules/sys_wait-c++-tests: New file.
23039         * tests/test-sys_wait-c++.cc: New file.
23040         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
23041         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
23042
23043 2010-09-29  Bruno Haible  <bruno@clisp.org>
23044
23045         New module 'waitpid'.
23046         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
23047         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
23048         Don't include <process.h>.
23049         (waitpid): Declare only, using modern idiom.
23050         * m4/waitpid.m4: New file.
23051         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
23052         * modules/waitpid: New file.
23053         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
23054         (Makefile.am): Update.
23055         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
23056
23057 2010-09-28  Bruno Haible  <bruno@clisp.org>
23058
23059         poll: Assume ANSI C.
23060         * lib/poll.c (poll): Use an ANSI C declaration.
23061
23062 2010-09-28  Bruno Haible  <bruno@clisp.org>
23063
23064         poll-h: Create poll.h on all platforms.
23065         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
23066         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
23067         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
23068         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
23069         (gl_REPLACE_POLL_H): Don't set POLL_H.
23070         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
23071         * modules/poll-h (Depends-on): Add include_next.
23072         (Makefile.am): Create poll.h unconditionally. Substitute also
23073         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
23074
23075 2010-09-28  Bruno Haible  <bruno@clisp.org>
23076
23077         Tests for module 'poll-h'.
23078         * modules/poll-h-c++-tests: New file.
23079         * tests/test-poll-h-c++.cc: New file.
23080
23081         Tests for module 'poll-h'.
23082         * modules/poll-h-tests: New file.
23083         * tests/test-poll-h.c: New file.
23084
23085 2010-09-28  Bruno Haible  <bruno@clisp.org>
23086
23087         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
23088         * modules/poll-h (Depends-on): Add 'extensions'.
23089
23090 2010-09-28  Bruno Haible  <bruno@clisp.org>
23091
23092         New module 'poll-h'.
23093         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
23094         (poll): Use modern idiom.
23095         * modules/poll-h: New file.
23096         * modules/poll (Files): Remove lib/poll.in.h.
23097         (Depends-on): Add poll-h.
23098         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
23099         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
23100         * m4/poll_h.m4: New file.
23101         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
23102         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
23103         and invoke gl_REPLACE_POLL_H.
23104         * lib/poll.c: Use common idiom.
23105         * tests/test-poll.c: Likewise.
23106         * doc/posix-headers/poll.texi: Mention the poll-h module.
23107         Suggested by Eric Blake.
23108
23109 2010-09-26  Bruno Haible  <bruno@clisp.org>
23110
23111         sys_wait: Implement WSTOPSIG.
23112         * lib/sys_wait.in.h (WSTOPSIG): New macro.
23113         Reported by Simon Josefsson.
23114
23115 2010-09-26  Simon Josefsson  <simon@josefsson.org>
23116
23117         stdlib, sys_wait: Avoid compilation error on mingw.
23118         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
23119
23120 2010-09-26  Bruno Haible  <bruno@clisp.org>
23121
23122         stdlib tests: Avoid code duplication.
23123         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
23124         * modules/sys_wait-tests (Files): Likewise.
23125         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
23126         * tests/test-stdlib.c: Include test-sys_wait.h.
23127         (main): Invoke test_sys_wait_macros.
23128         * tests/test-sys_wait.c: Include test-sys_wait.h.
23129         (main): Invoke test_sys_wait_macros.
23130
23131 2010-09-25  Simon Josefsson  <simon@josefsson.org>
23132
23133         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
23134         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
23135         sure Windows sockets are working before calling getaddrinfo.
23136         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
23137         * doc/gnulib.texi (Windows sockets): Fix typo.
23138
23139 2010-09-25  Bruno Haible  <bruno@clisp.org>
23140
23141         Tests for module 'regex-quote'.
23142         * modules/regex-quote-tests: New file.
23143         * tests/test-regex-quote.c: New file.
23144
23145         New module 'regex-quote'.
23146         * lib/regex-quote.h: New file.
23147         * lib/regex-quote.c: New file.
23148         * modules/regex-quote: New file.
23149         Suggested by Reuben Thomas <rrt@sc3d.org>.
23150
23151 2010-09-24  Bruno Haible  <bruno@clisp.org>
23152
23153         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
23154         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
23155
23156 2010-09-23  Bruno Haible  <bruno@clisp.org>
23157
23158         setenv: Relax license.
23159         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
23160         Blake.
23161         Requested by Eric Blake.
23162
23163 2010-09-22  Bruno Haible  <bruno@clisp.org>
23164
23165         termios: Relax license.
23166         * modules/termios (License): Change to LGPLv2+.
23167         Requested by Eric Blake.
23168
23169 2010-09-22  Bruno Haible  <bruno@clisp.org>
23170
23171         threadlib: Allow the package to change the default to 'no'.
23172         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
23173         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
23174         Reported by Paul Eggert.
23175
23176 2010-09-22  Pádraig Brady  <P@draigbrady.com>
23177             Bruno Haible  <bruno@clisp.org>
23178
23179         Fix endless loop in mbmemcasecoll.
23180         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
23181         byte.
23182         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
23183
23184 2010-09-22  Bruno Haible  <bruno@clisp.org>
23185
23186         Tests for module 'memcoll'.
23187         * modules/memcoll-tests: New file.
23188         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
23189
23190         memcoll, xmemcoll: Clarify size vs. length.
23191         * modules/memcoll.c (memcoll0): Clarify specification.
23192         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
23193         passed to collate_error.
23194
23195 2010-09-22  Bruno Haible  <bruno@clisp.org>
23196
23197         Tests for module 'memcasecmp'.
23198         * modules/memcasecmp-tests: New file.
23199         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
23200
23201 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
23202
23203         * lib/pthread.in.h: Add split double-inclusion guard, and include
23204         system <pthread.h> if there is one.  Use @@-style as in other
23205         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
23206         pthread.h doesn't.
23207         (pthread_mutexattr_destroy, pthread_mutexattr_init):
23208         (pthread_mutexattr_settype, pthread_mutex_trylock):
23209         New static inline functions, if there's no system <pthread.h>.
23210         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
23211         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
23212         Approximate with mutexes if the system lacks spinlocks, as in
23213         MacOS.
23214         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
23215         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
23216         @@-style.  Check for spinlocks separately.
23217         (gl_PTHREAD_DEFAULTS): New macro.
23218         * modules/pthread: Redo to use a more typical style for in.h files.
23219
23220 2010-09-21  Eric Blake  <eblake@redhat.com>
23221
23222         net_if: enhance tests
23223         * tests/test-net_if.c (main): Move signature checks earlier.
23224         Print failures to stderr.
23225         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
23226         Document the bug that we do not yet fix.
23227
23228 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
23229
23230         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
23231         about gnulib, not GSS.
23232
23233 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
23234
23235         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
23236         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
23237         for Emacs.
23238         * build-aux/pmccabe2html: Make Makefile.am example code more
23239         cut-and-paste friendly.
23240
23241 2010-09-21  Simon Josefsson  <simon@josefsson.org>
23242
23243         * tests/test-net_if.c: New file.
23244         * modules/net_if-tests: New file.
23245
23246 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
23247
23248         pthread: add pthread_spin_destroy
23249         * lib/pthread.in.h (pthread_spin_destroy): New function.
23250
23251 2010-09-19  Bruno Haible  <bruno@clisp.org>
23252
23253         gnulib-tool: Fix --help output.
23254         * gnulib-tool (func_usage): Fix help message.
23255         Reported by Reuben Thomas <rrt@sc3d.org>.
23256
23257 2010-09-18  Jim Meyering  <meyering@redhat.com>
23258
23259         maint.mk: avoid unexpanded \n in two diagnostics
23260         * top/maint.mk (sc_prohibit_always_true_header_tests):
23261         Don't use a literal \n in a halt=... assignment.  It would not be
23262         expanded, and the two \n bytes would appear in the diagnostic output
23263         rather than the desired newline.  Use halt=$$(printf ... instead.
23264         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
23265
23266 2010-09-18  Bruno Haible  <bruno@clisp.org>
23267
23268         netinet_in: Doc tweak.
23269         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
23270         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23271
23272 2010-09-18  Jim Meyering  <meyering@redhat.com>
23273
23274         init.sh: correct an outdated comment
23275         * tests/init.sh (create_exe_shims_):  s/function/alias/
23276
23277         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
23278         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
23279         a file named "*.exe" is removed between the glob expansion and the
23280         processing of that oddly named file.
23281
23282 2010-09-17  Eric Blake  <eblake@redhat.com>
23283
23284         mirbsd: add some more support
23285         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
23286         in BSD family.
23287         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
23288         devices as OpenBSD.
23289         * m4/host-os.m4 (mirbsd): Add MirBSD.
23290
23291         tests: fix unportable assumption on sys/wait.h
23292         * tests/test-sys_wait.c (main): Relax test.
23293         * tests/test-stdlib.c (main): Likewise.
23294
23295         init.sh: accomodate directory with no .exes
23296         * tests/init.sh: Accomodate directory containing only scripts.
23297
23298         tests: avoid compiler warning
23299         * tests/test-stdlib.c (main): Use the variable.
23300
23301         fdutimens, fdutimensat: update signature, again
23302         * lib/utimens.h (gl_futimens): Delete, and move signature...
23303         (fdutimens): ...here.
23304         (fdutimensat): Rearrange signature.
23305         (lutimensat): Rename variable for clarity.
23306         * lib/fdutimensat.c (fdutimensat): Update signature.
23307         * lib/utimens.c (fdutimens): Likewise.
23308         (gl_futimens): Delete.
23309         (utimens, lutimens): Update callers.
23310         * lib/futimens.c (futimens): Likewise.
23311         * tests/test-fdutimensat.c: Likewise.
23312         * tests/test-utimens.c: Likewise.
23313         * tests/test-futimens.h: Update comment.
23314         * NEWS: Mention this.
23315         Suggested by Paul Eggert.
23316
23317 2010-09-17  Bruno Haible  <bruno@clisp.org>
23318
23319         Take over the maintenance of some older macros from Autoconf.
23320         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
23321         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
23322         GNU Autoconf.
23323         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
23324         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
23325
23326 2010-09-17  Eric Blake  <eblake@redhat.com>
23327
23328         fdutimensat: drop atflag validation
23329         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
23330         with valid fd, to close a race scenario where futimens is
23331         unsupported and FILE was replaced by a symlink.
23332         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
23333         accordingly.
23334         Suggested by Paul Eggert.
23335
23336 2010-09-16  Bruno Haible  <bruno@clisp.org>
23337
23338         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
23339         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
23340
23341 2010-09-16  Bruno Haible  <bruno@clisp.org>
23342
23343         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
23344         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
23345         login_tty exists.
23346         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23347
23348 2010-09-16  Bruno Haible  <bruno@clisp.org>
23349
23350         login_tty: Make the replacement code work on BSD systems.
23351         * lib/login_tty.c: Include <sys/ioctl.h>.
23352         (login_tty): Use ioctl TIOCSCTTY when available.
23353         * modules/login_tty (Depends-on): Add sys_ioctl.
23354         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23355
23356 2010-09-16  Bruno Haible  <bruno@clisp.org>
23357
23358         login_tty: Stricter unit test.
23359         * modules/login_tty-tests (Depends-on): Add tcgetsid.
23360         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
23361         and tcgetsid() after login_tty.
23362         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23363
23364 2010-09-16  Bruno Haible  <bruno@clisp.org>
23365
23366         New module 'tcgetsid'.
23367         * lib/tcgetsid.c: New file.
23368         * m4/tcgetsid.m4: New file.
23369         * modules/tcgetsid: New file.
23370         * modules/termios (Depends-on): Add c++defs, warn-on-use.
23371         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
23372         GNULIB_TCGETSID, HAVE_TCGETSID.
23373         * lib/termios.in.h: Include <sys/types.h>.
23374         (tcgetsid): New declaration.
23375         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
23376         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
23377         * doc/posix-functions/tcgetsid.texi: Mention the new module.
23378         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
23379
23380 2010-09-16  Bruno Haible  <bruno@clisp.org>
23381
23382         Tests for module 'termios'.
23383         * modules/termios-c++-tests: New file.
23384         * modules/termios-tests: New file.
23385         * tests/test-termios-c++.cc: New file.
23386         * tests/test-termios.c: New file.
23387
23388         New module 'termios'.
23389         * modules/termios: New file.
23390         * lib/termios.in.h: New file.
23391         * m4/termios_h.m4: New file.
23392         * doc/posix-headers/termios.texi: Mention the new module.
23393
23394 2010-09-16  Eric Blake  <eblake@redhat.com>
23395
23396         fdutimensat: add an atflag parameter
23397         * lib/fdutimensat.c (fdutimensat): Add new parameter.
23398         * lib/utimens.h (fdutimensat): Update prototype.
23399         * tests/test-fdutimensat.c: Adjust test to match.
23400         * NEWS: Document the change.
23401         Suggested by Paul Eggert.
23402
23403 2010-09-16  Bruno Haible  <bruno@clisp.org>
23404
23405         Fix typos in comments.
23406         * lib/striconveh.h: Fix typo in comment.
23407         * lib/login_tty.c (login_tty): Likewise.
23408
23409 2010-09-15  Bruno Haible  <bruno@clisp.org>
23410
23411         stdlib: clarify MirBSD WEXITSTATUS bug
23412         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
23413         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
23414
23415 2010-09-15  Eric Blake  <eblake@redhat.com>
23416
23417         stdlib: work around MirBSD WEXITSTATUS bug
23418         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
23419         * modules/stdlib (Depends-on): Add sys_wait.
23420         * tests/test-sys_wait.c (main): Enhance test.
23421         * tests/test-stdlib.c (main): Likewise.
23422         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
23423
23424         docs: mention MacOS issue with WEXITSTATUS(constant)
23425         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
23426         issue.
23427         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
23428
23429         strnlen: add tests
23430         * modules/strnlen-tests: New file.
23431         * tests/test-strnlen.c: Likewise.
23432
23433 2010-09-14  Bruno Haible  <bruno@clisp.org>
23434
23435         unistr/base: Avoid link errors when module 'libunistring' is also used.
23436         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
23437         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
23438         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
23439         Declare also when HAVE_LIBUNISTRING is set.
23440         Reported by Pádraig Brady <P@draigbrady.com>.
23441
23442 2010-09-14  Eric Blake  <eblake@redhat.com>
23443
23444         test-rawmemchr: make more robust
23445         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
23446         (Depends-on, configure.ac): Add needed prerequisites to use it.
23447         * modules/memchr-tests (Files, Depends-on, configure.ac):
23448         Likewise, to avoid implicit reliance on memchr module prereqs.
23449         * tests/test-memchr.c (main): Ensure proper masking.
23450         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
23451         reads.
23452
23453         memchr: detect glibc Alpha bug
23454         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
23455         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
23456         Alpha.
23457         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
23458         * tests/test-memchr.c (main): Enhance test.
23459         Reported by Nelson H. F. Beebe.
23460
23461 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
23462
23463         fts, getcwd, glob: audit for dirfd returning -1
23464         * lib/fts.c (opendir): Remove #define; no longer used.
23465         (opendirat): New arg PDIR_FD.  All callers changed.
23466         (fts_build, _opendir2): Use new opendirat to avoid the need for
23467         dirfd, or for checking whether dirfd returns a negative value.
23468         Don't use opendir; always use openat followed by fdopendir.
23469         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
23470         it.
23471         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
23472         returns -1 here.
23473         * modules/fts (Depends-on): Remove dirfd.
23474         * modules/getcwd (Depends-on): Likewise.
23475
23476 2010-09-13  Eric Blake  <eblake@redhat.com>
23477
23478         float: fix broken MirBSD header
23479         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
23480         * doc/posix-headers/float.texi (float.h): Document it.
23481
23482 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
23483
23484         fts: use O_NOFOLLOW to avoid race condition when opening a directory
23485         * lib/fts.c (opendirat): New arg extra_flags.
23486         (__opendir2): Use it to avoid following symlinks when opening
23487         a directory, if symlinks are not supposed to be followed.  See
23488         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
23489
23490         fdopendir: preserve argument fd before returning
23491         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
23492         (fdopendir_with_dup, fd_clone_opendir): New static functions.
23493         (fdopendir): Use them, arranging for FD to be open to the same
23494         directory that it was when it started.  (It might be temporarily
23495         closed while fdopendir is running, so this not thread- or
23496         signal-safe.)  Be careful to do the right thing even when file
23497         descriptors are scarce and dup fails with errno == EMFILE.  See
23498         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
23499
23500 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
23501
23502         regex: Pass the system regex if its only problem is 32-bit regoff_t.
23503         * NEWS: Document change.
23504         * m4/regex.m4: Disable test for regoff_t size.
23505
23506 2010-09-13  Jim Meyering  <meyering@redhat.com>
23507
23508         fts: don't operate on an invalid file descriptor after failed dup
23509         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
23510         negative file descriptor.
23511
23512 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
23513
23514         savedir: add streamsavedir, deprecate fdsavedir
23515         * NEWS: Mention deprecation of fdsavedir.
23516         * lib/savedir.c (streamsavedir): New extern function, whose name
23517         ends in "savedir" to be consistent with the others.  This differs
23518         from savedirstream in that it doesn't close its argument.  The
23519         next version of GNU tar will use this instead of fdsavedir, to
23520         avoid some race conditions and conserve file descriptors.
23521         (savedirstream): Reimplement as a wrapper around streamsavedir.
23522         (fdsavedir): Add a comment deprecating this function.  As far as
23523         I know, only GNU tar used it, and GNU tar doesn't need it any more.
23524         * lib/savedir.h (streamsavedir): New decl.
23525         (fdsavedir): Add a comment deprecating this.
23526
23527 2010-09-10  Bruno Haible  <bruno@clisp.org>
23528
23529         langinfo: Fix last commit.
23530         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
23531         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
23532         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23533
23534 2010-09-10  Bruno Haible  <bruno@clisp.org>
23535
23536         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
23537         * lib/progreloc.c (O_EXEC): Define fallback.
23538
23539 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
23540
23541         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
23542         * NEWS: Document recent changes to fcntl-h.
23543         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
23544         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
23545         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
23546         Similarly for O_SEARCH; this last was already true, but not documented.
23547         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
23548         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
23549         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
23550         Likewise.
23551         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
23552         is zero, not whether it is defined.
23553         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
23554         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
23555         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
23556
23557 2010-09-10  Bruno Haible  <bruno@clisp.org>
23558
23559         langinfo, nl_langinfo: Fix for IRIX 5.3.
23560         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
23561         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
23562         HAVE_LANGINFO_YESEXPR.
23563         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
23564         HAVE_LANGINFO_YESEXPR.
23565         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
23566         HAVE_LANGINFO_T_FMT_AMPM is 0.
23567         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
23568         HAVE_LANGINFO_YESEXPR is 0.
23569         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
23570         NOEXPR.
23571         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
23572         * doc/posix-functions/nl_langinfo.texi: Likewise.
23573         Reported by Eric Blake.
23574
23575 2010-09-10  Bruno Haible  <bruno@clisp.org>
23576
23577         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
23578         * doc/glibc-functions/login_tty.texi: Mention the include file problem
23579         on FreeBSD 8.0 and OpenBSD 4.6.
23580         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
23581         * m4/pty_h.m4 (gl_PTY_H): Likewise.
23582         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
23583         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
23584         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
23585         ac_includes_default.
23586         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23587
23588 2010-09-09  Eric Blake  <eblake@redhat.com>
23589
23590         strsignal: work around NetBSD bug
23591         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
23592         * lib/string.in.h (includes): Likewise.
23593         * doc/posix-functions/strsignal.texi (strsignal): Document the
23594         bug.
23595         Reported by Nelson H. F. Beebe.
23596
23597         gnulib-tool: work with NetBSD /bin/sh
23598         * gnulib-tool (func_cache_var, func_cache_lookup_module)
23599         (func_get_description, func_get_comment, func_get_status)
23600         (func_get_notice, func_get_applicability, func_get_filelist)
23601         (func_get_dependencies, func_get_autoconf_early_snippet)
23602         (func_get_autoconf_snippet, func_get_automake_snippet)
23603         (func_get_include_directive, func_get_link_directive)
23604         (func_get_license, func_get_maintainer, func_import): Avoid
23605         shell syntax errors from parsing syntax extensions.
23606
23607 2010-09-09  Bruno Haible  <bruno@clisp.org>
23608
23609         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
23610         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
23611         a reliable way to determine whether the 'alias' command works.
23612
23613 2010-09-08  Jim Meyering  <meyering@redhat.com>
23614
23615         init.sh: penalize a set-x-impaired shell; don't disqualify it
23616         * tests/init.sh: Too many shells corrupt application stderr when
23617         you set -x, so we can't afford to disqualify them, since at least
23618         on Irix-6.5, that would disqualify all bourne shells.
23619         Instead, use a two-pass approach.
23620         On the first pass, try to find a shell that meets the stricter
23621         condition that set -x does not corrupt stderr.
23622         If no shell meets the stricter condition, retest each candidate
23623         shell, but without that extra condition.  Finally, when
23624         VERBOSE=yes is requested and set -x might cause trouble, simply
23625         issue a warning and refrain from enabling debug output.
23626
23627 2010-09-08  Eric Blake  <eblake@redhat.com>
23628
23629         unsetenv: fix OpenBSD bug
23630         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
23631         * doc/posix-functions/unsetenv.texi (unsetenv): Update
23632         documentation.
23633         Reported by Jim Meyering.
23634
23635         strtod: work around IRIX 6.5 bug
23636         * lib/strtod.c (strtod): Reparse number on shorter string if
23637         exponent parse was invalid.
23638         * tests/test-strtod.c (main): Add check for "0x1p 2".
23639         Reported by Tom G. Christensen.
23640
23641         getopt: optimize previous patch
23642         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
23643         empty variable.  Speed up awk script.
23644         Reported by Paolo Bonzini.
23645
23646 2010-09-08  Jim Meyering  <meyering@redhat.com>
23647
23648         test.sh: disqualify shells for which set -x corrupts stderr
23649         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
23650         and OpenBSD 4.7.  They make it so with "set -x", environment settings
23651         appear in stderr output.  For example, this command:
23652             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
23653         prints "P=1" on those two systems:
23654
23655 2010-09-08  Bruno Haible  <bruno@clisp.org>
23656
23657         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
23658         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
23659         commands, because some shells ignore redirections when there is an
23660         error in the command lookup.
23661         Reported by Eric Blake.
23662
23663 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
23664
23665         * lib/regex.h: Fix a mention of `regex_compile' (should be
23666         `re_compile_pattern').
23667         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
23668         (re_set_registers): Correct name of parameter in comment.
23669
23670         * doc/regex.texi: Add documentation for missing syntax flags.
23671         Remove commented-out documentation of defunct syntax option
23672         RE_NO_EMPTY_ALTS.
23673         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
23674         Add documentation of re_set_registers.
23675         Document trick to re-use a pattern buffer by setting fastmap manually.
23676         Update documentation of struct re_pattern_buffer per public members.
23677         Uncomment documentation of equivalence class operators and
23678         collating symbol operators, since they are now implemented,
23679         Explain leftmost-longest matching in relation to alternatives.
23680         Tidy documentation of substring matching.
23681         Remove POSIX documentation, which is done better in
23682         glibc, and refer the reader there. Keep BSD API documentation, as
23683         that is not readily available elsewhere.
23684
23685 2010-09-07  Eric Blake  <eblake@redhat.com>
23686
23687         getopt: handle POSIXLY_CORRECT set but not exported
23688         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
23689         export state of POSIXLY_CORRECT, due to bash set -o posix.
23690         Reported by Dustin J. Mitchell.
23691
23692 2010-09-05  Bruno Haible  <bruno@clisp.org>
23693
23694         gnulib-tool: Highlight the changed options.
23695         * gnulib-tool (func_usage): Display the --import, --add-import,
23696         --remove-import explanations in bold font.
23697
23698 2010-09-06  Karl Berry  <karl@gnu.org>
23699
23700         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
23701
23702 2010-09-05  Bruno Haible  <bruno@clisp.org>
23703
23704         uniwidth/width: Update comment.
23705         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
23706         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
23707
23708 2010-09-05  Bruno Haible  <bruno@clisp.org>
23709
23710         isinf, isnan: Relax license.
23711         * modules/isinf (License): Change from GPL to LGPL, with consent from
23712         Ben Pfaff.
23713         * modules/isnan (License): Likewise.
23714         Requested by Ludovic Courtès.
23715
23716 2010-09-04  Bruno Haible  <bruno@clisp.org>
23717
23718         gnulib-tool: Help migration from --import to --add-import or --update.
23719         * gnulib-tool: Emit a verbose error message when --import is used
23720         without any module name.
23721
23722 2010-09-04  Bruno Haible  <bruno@clisp.org>
23723
23724         Update doc about gnulib-tool.
23725         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
23726         'gnulib-tool --update' in more detail.
23727         Reported by Eric Blake.
23728
23729 2010-09-04  Bruno Haible  <bruno@clisp.org>
23730
23731         gnulib-tool: Change --import. New options --add/remove-import.
23732         * gnulib-tool: New options --add-import, --remove-import.
23733         (func_usage): Document them.
23734         (have_associative): Define always.
23735         (func_import): In import mode, don't merge the specified settings with
23736         the cached settings. Implement remove-import mode.
23737         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
23738         Explain when to use them versus --import.
23739         (Simple update): Use --add-import instead of --import.
23740         * NEWS: Mention the change.
23741
23742 2010-09-04  Bruno Haible  <bruno@clisp.org>
23743
23744         * doc/gnulib-tool.texi (Initial import): Update paragraph about
23745         separate gnulib.mk.
23746
23747 2010-09-04  Bruno Haible  <bruno@clisp.org>
23748
23749         gnulib-tool: Don't talk about CVS any more.
23750         * gnulib-tool (func_usage, func_import): Write "version control"
23751         instead of CVS.
23752
23753 2010-09-04  Jim Meyering  <meyering@redhat.com>
23754
23755         maint.mk: avoid obscure sc_copyright_check failure in coreutils
23756         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
23757         false positives (whose names may be ill-chosen) when searching
23758         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
23759         would cause a false-positive.
23760
23761         avoid coreutils "make distcheck" failure
23762         Coreutils tests with an absolute build directory name that contains
23763         a space.  Not quoting this directory name caused a failure.
23764         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
23765         * tests/test-vc-list-files-cvs.sh: Likewise.
23766
23767 2010-09-04  Bruno Haible  <bruno@clisp.org>
23768
23769         gnulib-tool: Avoid error when run in a package without Makefile.am.
23770         * gnulib-tool: When collecting the m4dirs in a package that does not
23771         have a Makefile.am, eliminate those directories that contain no
23772         gnulib-cache.m4. Fix expression that counts these directories.
23773
23774 2010-09-04  Bruno Haible  <bruno@clisp.org>
23775
23776         update-copyright test: Improve output when perl is missing or too old.
23777         * tests/test-update-copyright.sh: Move test of Perl version down after
23778         the test whether Perl exists. Provide an explanation relating Perl's
23779         error message to Automake's SKIP: message.
23780
23781 2010-09-04  Bruno Haible  <bruno@clisp.org>
23782
23783         Don't augment PATH in TESTS_ENVIRONMENT.
23784         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
23785         set abs_aux_dir instead of augmenting PATH.
23786         * modules/vc-list-files-tests (Makefile.am): Likewise.
23787         * tests/test-update-copyright.sh: Augment PATH here.
23788         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
23789         path_prepend_.
23790         * tests/test-vc-list-files-git.sh: Likewise.
23791
23792 2010-09-04  Jim Meyering  <meyering@redhat.com>
23793
23794         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
23795         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
23796
23797 2010-09-04  Bruno Haible  <bruno@clisp.org>
23798
23799         strdup: Fix compilation error in C++ mode.
23800         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
23801         the macro.
23802
23803 2010-09-04  Bruno Haible  <bruno@clisp.org>
23804
23805         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
23806         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
23807         macro into a function.
23808         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23809
23810 2010-09-04  Bruno Haible  <bruno@clisp.org>
23811
23812         Set PATH_SEPARATOR the same way autoconf does.
23813         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
23814         the value of PATH_SEPARATOR the same way autoconf-generated configure
23815         scripts do.
23816         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
23817         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
23818
23819 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23820
23821         Set PATH_SEPARATOR the same way autoconf does.
23822         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
23823         the same way autoconf-generated configure scripts do.
23824         * posix-modules: Likewise.
23825
23826 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
23827
23828         hash: fix safe_hasher const typo
23829         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
23830         const; otherwise, there is a type error later.
23831
23832 2010-09-02  Jim Meyering  <meyering@redhat.com>
23833
23834         test-update-copyright.sh: require perl 5.8.0
23835         * tests/test-update-copyright.sh: Require 5.8.0,
23836         which Tom G. Christensen has confirmed is adequate,
23837         while 5.6.1 is not.
23838
23839 2010-09-02  Eric Blake  <eblake@redhat.com>
23840
23841         tests: init.sh improvements for re-exec'ing with zsh
23842         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
23843         -vx through shell re-exec.
23844         Reported by Tom G. Christensen.
23845
23846         wctype: fix typo in previous commit
23847         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
23848         Reported by Ludovic Courtès.
23849
23850 2010-09-02  Jim Meyering  <meyering@redhat.com>
23851
23852         test-update-copyright.sh: skip test if Perl is too old
23853         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
23854         Reported by Tom G. Christensen.
23855
23856 2010-09-02  Bruno Haible  <bruno@clisp.org>
23857
23858         wctype: Avoid compilation error on IRIX 6.5.30.
23859         * lib/wctype.in.h (iswblank): Declare with a replacement if
23860         REPLACE_ISWBLANK is set.
23861         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
23862         declared. Set REPLACE_ISWBLANK.
23863         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
23864         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
23865         * doc/posix-headers/wctype.texi: Likewise.
23866         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23867
23868 2010-09-01  Bruno Haible  <bruno@clisp.org>
23869
23870         New module 'socketlib'.
23871         * modules/socketlib: New file.
23872         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
23873         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
23874         * modules/sockets (Depends-on): Add socketlib.
23875         Suggested by Sam Steingold <sds@gnu.org>.
23876
23877 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
23878
23879         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
23880
23881         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
23882         when one needs search access to a directory but not read access.
23883         On systems where it is available, it works in some cases where
23884         O_RDONLY does not, namely on directories that are searchable but
23885         not readable, and which need only to be searchable.  If O_SEARCH
23886         is not available, fall back to the traditional method of using
23887         O_RDONLY.
23888
23889         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
23890         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
23891         when opening a directory that needs only to be searchable.
23892         * lib/chdir-safer.c (chdir_no_follow): Likewise.
23893         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
23894         * lib/openat-proc.c (openat_proc_name): Likewise.
23895         * lib/openat.c (openat_needs_fchdir): Likewise.
23896         * lib/save-cwd.c (save_cwd): Likewise.
23897         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
23898
23899 2010-08-28  Bruno Haible  <bruno@clisp.org>
23900
23901         New module 'host-cpu-c-abi'.
23902         * modules/host-cpu-c-abi: New file.
23903         * m4/host-cpu-c-abi.m4: New file, based on part of
23904         clisp/src/m4/general.m4.
23905         Requested by Sam Steingold <sds@gnu.org>.
23906
23907 2010-08-31  Eric Blake  <eblake@redhat.com>
23908         and Jim Meyering  <meyering@redhat.com>
23909
23910         hash: factor, and guard against misbehaving hasher function
23911         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
23912         of table->hasher's return value.  Also protect against a hash value
23913         so large that adding it to table->bucket results in a NULL pointer.
23914         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
23915         Use it in place of open-coded check-and-abort.
23916
23917 2010-08-30  Bruno Haible  <bruno@clisp.org>
23918
23919         hash: silence spurious clang warning
23920         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
23921         Reported by Eric Blake.
23922
23923 2010-08-30  Eric Blake  <eblake@redhat.com>
23924
23925         strstr, memmem, strcasestr: avoid leaked shell message
23926         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
23927         FreeBSD.
23928         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23929         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23930
23931         tests: silence clang warning
23932         * tests/test-malloca.c (do_allocation): Avoid dead store.
23933
23934 2010-08-29  Bruno Haible  <bruno@clisp.org>
23935
23936         gettext: Fix recent mistake.
23937         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
23938
23939 2010-08-29  Bruno Haible  <bruno@clisp.org>
23940
23941         selinux-h: Offer a --without-selinux option.
23942         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
23943         --without-selinux was specified, skip all tests and define
23944         HAVE_SELINUX_SELINUX_H to 0.
23945         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
23946         set LIB_SELINUX to empty.
23947         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
23948         gl_LIBSELINUX. If --without-selinux was specified, replace
23949         selinux/context.h.
23950         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
23951
23952 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23953             Bruno Haible  <bruno@clisp.org>
23954
23955         Make the module 'realloc-gnu' work again on AIX and OSF/1.
23956         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
23957         of HAVE_REALLOC.
23958         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
23959         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
23960         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
23961         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
23962
23963 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23964             Bruno Haible  <bruno@clisp.org>
23965
23966         Make the module 'calloc-gnu' work again on AIX and OSF/1.
23967         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
23968         HAVE_CALLOC.
23969         * lib/xmalloc.c: Update accordingly.
23970         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
23971         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
23972         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
23973
23974 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23975             Bruno Haible  <bruno@clisp.org>
23976
23977         Make the module 'malloc-gnu' work again on AIX and OSF/1.
23978         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
23979         HAVE_MALLOC.
23980         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
23981         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
23982         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
23983
23984 2010-08-29  Bruno Haible  <bruno@clisp.org>
23985
23986         Update modules list.
23987         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
23988         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
23989         (String handling <string.h>): Add astrxfrm.
23990         (File system functions): Add readlinkat.
23991
23992 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23993
23994         Tests for module 'realloc-gnu'.
23995         * modules/realloc-gnu-tests: New file.
23996         * tests/test-realloc-gnu.c: New file.
23997
23998         Tests for module 'calloc-gnu'.
23999         * modules/calloc-gnu-tests: New file.
24000         * tests/test-calloc-gnu.c: New file.
24001
24002         Tests for module 'malloc-gnu'.
24003         * modules/malloc-gnu-tests: New file.
24004         * tests/test-malloc-gnu.c: New file.
24005
24006 2010-08-28  Bruno Haible  <bruno@clisp.org>
24007
24008         Rename module 'realloc' -> 'realloc-gnu'.
24009         * modules/realloc-gnu: New file, copied from modules/realloc.
24010         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
24011         obsolete.
24012         * modules/mgetgroups (Depends-on): Update.
24013         * doc/posix-functions/realloc.texi: Update.
24014         * NEWS: Mention the change.
24015
24016         Rename module 'calloc' -> 'calloc-gnu'.
24017         * modules/calloc-gnu: New file, copied from modules/calloc.
24018         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
24019         obsolete.
24020         * doc/posix-functions/calloc.texi: Update.
24021         * NEWS: Mention the change.
24022
24023         Rename module 'malloc' -> 'malloc-gnu'.
24024         * modules/malloc-gnu: New file, copied from modules/malloc.
24025         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
24026         obsolete.
24027         * modules/argp (Depends-on): Update.
24028         * modules/regex (Depends-on): Update.
24029         * doc/posix-functions/malloc.texi: Update.
24030         * NEWS: Mention the change.
24031
24032 2010-08-28  Eric Blake  <eblake@redhat.com>
24033
24034         pread, pwrite: add missing dependency
24035         * modules/pread (Depends-on): Add extensions.
24036         * modules/pwrite (Depends-on): Likewise.
24037
24038 2010-08-28  Bruno Haible  <bruno@clisp.org>
24039
24040         unistr/u*-strchr: Fix tests dependencies.
24041         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
24042         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
24043         Reported by Ian Beckwith <ianb@erislabs.net>.
24044
24045 2010-08-28  Bruno Haible  <bruno@clisp.org>
24046
24047         read-file: Don't occupy too much unused memory.
24048         * lib/read-file.c (fread_file): Shrink the buffer at the end.
24049
24050 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
24051             Eric Blake  <eblake@redhat.com>
24052             Bruno Haible  <bruno@clisp.org>
24053
24054         read-file: Avoid memory reallocations with regular files.
24055         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
24056         (fread_file): With regular files, use the remaining length as the
24057         initial buffer size.  Check against overflow.
24058         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
24059         sys_stat.
24060
24061 2010-08-28  Bruno Haible  <bruno@clisp.org>
24062
24063         ftello: Relax license.
24064         * modules/ftello (License): Relax to LGPLv2+.
24065         Reported by Eric Blake.
24066
24067 2010-08-28  Bruno Haible  <bruno@clisp.org>
24068
24069         Avoid relocwrapper link errors due to gnulib replacement functions.
24070         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
24071         function.
24072         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24073
24074 2010-08-28  Bruno Haible  <bruno@clisp.org>
24075
24076         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
24077         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
24078         defined.
24079         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
24080         Suggested by Eric Blake.
24081
24082 2010-08-28  Bruno Haible  <bruno@clisp.org>
24083
24084         sys_socket, netdb: Ensure socklen_t gets defined.
24085         * modules/sys_socket (Depends-on): Add socklen.
24086         * modules/netdb (Depends-on): Likewise.
24087         * modules/getaddrinfo (Depends-on): Remove socklen.
24088         * modules/getsockopt (Depends-on): Likewise.
24089         * modules/setsockopt (Depends-on): Likewise.
24090         * tests/test-sys_socket.c: Check that socklen_t is defined.
24091         * tests/test-netdb.c: Likewise.
24092         * m4/socklen.m4: Update comments.
24093         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24094
24095 2010-08-27  Eric Blake  <eblake@redhat.com>
24096
24097         login_tty: add missing dependency
24098         * modules/login_tty (Depends-on): Add pty.
24099
24100 2010-08-26  Eric Blake  <eblake@redhat.com>
24101
24102         lib-symbol-versions: fix m4 quoting
24103         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
24104         format for AC_LINK_IFELSE.
24105
24106         glob: fix compile test
24107         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
24108
24109         btowc: fix missing file
24110         * modules/btowc (Files): Also ship locale-fr.m4.
24111
24112         lseek: fix link test
24113         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
24114         AC_LINK_IFELSE.
24115
24116         include_next: silence autoconf 2.68 warning
24117         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
24118         AC_COMPILE_IFELSE as special.
24119         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
24120         autoconf < 2.68.
24121
24122         acl: fix compilation test
24123         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
24124         AC_COMPILE_IFELSE.
24125
24126 2010-08-26  Bruno Haible  <bruno@clisp.org>
24127
24128         Modernize AC_TRY_RUN invocations.
24129         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
24130         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
24131         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
24132         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
24133         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
24134         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
24135         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
24136         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
24137         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24138         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24139         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
24140         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
24141         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
24142         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
24143         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
24144         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
24145         gl_MBRLEN_NUL_RETVAL): Likewise.
24146         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
24147         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
24148         Likewise.
24149         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24150         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24151         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
24152         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
24153         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
24154         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
24155         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
24156         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
24157         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
24158         Likewise.
24159         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
24160         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
24161         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
24162         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
24163         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24164         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
24165         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
24166         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
24167         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
24168         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
24169
24170 2010-08-26  Bruno Haible  <bruno@clisp.org>
24171
24172         Modernize AC_TRY_LINK invocations.
24173         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
24174         AC_TRY_LINK.
24175         * m4/argp.m4 (gl_ARGP): Likewise.
24176         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
24177         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
24178         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
24179         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
24180         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
24181         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
24182         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
24183         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
24184         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
24185         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
24186         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
24187         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
24188         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
24189         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24190         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
24191         * m4/hostent.m4 (gl_HOSTENT): Likewise.
24192         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24193         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
24194         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
24195         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
24196         Likewise.
24197         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
24198         Likewise.
24199         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
24200         Likewise.
24201         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
24202         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
24203         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
24204         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
24205         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
24206         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
24207         * m4/servent.m4 (gl_SERVENT): Likewise.
24208         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
24209         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
24210         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
24211         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
24212         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
24213         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
24214         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
24215         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24216         * modules/tsearch-tests (configure.ac): Likewise.
24217
24218 2010-08-26  Bruno Haible  <bruno@clisp.org>
24219
24220         Modernize AC_TRY_COMPILE invocations.
24221         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
24222         AC_TRY_COMPILE.
24223         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
24224         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
24225         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
24226         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
24227         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
24228         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
24229         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
24230         * m4/lock.m4 (gl_LOCK): Likewise.
24231         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
24232         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
24233         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
24234         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
24235         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
24236         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
24237         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
24238         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
24239         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
24240         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
24241         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
24242         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
24243         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
24244         extraneous semicolon.
24245
24246 2010-08-26  Jim Meyering  <meyering@redhat.com>
24247
24248         stat-time: relax license LGPL
24249         * modules/stat-time (License): Change from GPL to LGPL,
24250         with consent from all contributors, for use in libguile.
24251         Requested by Ludovic Courtès.
24252
24253 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
24254
24255         poll: return immediately on POLLHUP.
24256         * lib/poll.c (poll): Always set timeout before wait_timeout is
24257         computed.
24258
24259 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24260
24261         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
24262         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
24263         rmdir ("dir/.//"), unlinkat.
24264
24265 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
24266
24267         stdbool: avoid spurious failure with modern xlc
24268         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
24269
24270 2010-08-24  Bruno Haible  <bruno@clisp.org>
24271
24272         getloadavg: simplify code
24273         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
24274         gl_have_func. Update comments.
24275
24276 2010-08-24  Eric Blake  <eblake@redhat.com>
24277
24278         getloadavg: don't define SVR4 on cygwin
24279         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
24280         only define SVR4 when -lkvm is required.
24281         Reported by Yaakov Selkowitz.
24282
24283 2010-08-24  Bruno Haible  <bruno@clisp.org>
24284
24285         priv-set: fix comment
24286         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
24287
24288 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
24289
24290         priv-set: fix comments
24291         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
24292         to match code, as suggested by David Bartley in:
24293         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
24294
24295 2010-08-23  Eric Blake  <eblake@redhat.com>
24296
24297         stdbool: avoid rejecting clang
24298         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
24299         * tests/test-stdbool.c: Enable more tests if using the system
24300         <stdbool.h> instead of the gnulib replacement.
24301         (main): Move xlc bug test to a runtime test for all compilers.
24302         Reported by Anders Kaseorg.
24303
24304         argz: fix shell quoting issue
24305         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
24306         Reported by Charles Wilson.
24307
24308 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
24309             Erik Faye-Lund <kusmabite@gmail.com>
24310
24311         poll, select: handle ERROR_BROKEN_PIPE.
24312         * lib/poll.c (win32_compute_revents): Return POLLHUP when
24313         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
24314         * lib/select.c (win32_compute_revents): Do not mark a pipe
24315         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
24316
24317 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
24318
24319         fts: allow compilation with C++
24320         * lib/fts_.h: Specify extern "C" linkage with C++.
24321
24322 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24323
24324         Fix gnulib-tool sed script de-commentation for AIX sed.
24325         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
24326         sed.
24327
24328 2010-08-17  Eric Blake  <eblake@redhat.com>
24329
24330         test-stddef: test for (some) offsetof bugs
24331         * tests/test-stddef.c: Enhance test to ensure correct type of
24332         offsetof.
24333         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
24334         that we are not fixing at this time.
24335
24336 2010-08-15  Bruno Haible  <bruno@clisp.org>
24337
24338         stpncpy: Allow stpncpy to be defined as a macro.
24339         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
24340         if it's already correctly declared.
24341         * lib/string.in.h (stpncpy): Undefine before redefining.
24342         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
24343
24344 2010-08-14  Bruno Haible  <bruno@clisp.org>
24345
24346         Rename module 'memxfrm' to 'amemxfrm'.
24347         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
24348         (amemxfrm): Renamed from memxfrm.
24349         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
24350         (amemxfrm): Renamed from memxfrm.
24351         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
24352         * NEWS: Mention the change.
24353         * MODULES.html.sh (String handling <string.h>): Update.
24354         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
24355         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
24356         * lib/unicase/u16-casexfrm.c: Likewise.
24357         * lib/unicase/u32-casexfrm.c: Likewise.
24358         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
24359         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
24360         * lib/uninorm/u16-normxfrm.c: Likewise.
24361         * lib/uninorm/u32-normxfrm.c: Likewise.
24362         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
24363         memxfrm.
24364         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
24365         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
24366         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
24367         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
24368         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
24369         Suggested by Paul Eggert.
24370
24371 2010-08-14  Bruno Haible  <bruno@clisp.org>
24372
24373         Tests for module 'astrxfrm'.
24374         * modules/astrxfrm-tests: New file.
24375         * tests/test-astrxfrm.c: New file.
24376
24377         New module 'astrxfrm'.
24378         * lib/astrxfrm.h: New file.
24379         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
24380         * modules/astrxfrm: New file.
24381
24382 2010-08-14  Reuben Thomas <rrt@sc3d.org>
24383
24384         regex: Tweak doc.
24385         * doc/regex.texi (Overview): Don't mention regex.c.
24386         (GNU Regular Expression Compiling): Likewise.
24387         (Match-end-of-line Operator): Mention 'not_eol'.
24388
24389 2010-08-14  Brian Gough  <bjg@gnu.org>
24390             Bruno Haible  <bruno@clisp.org>
24391
24392         git-merge-changelog: add doc relating to use with bzr and hg.
24393         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
24394
24395 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
24396
24397         pthread: fix pthread.h creation for srcdir != builddir
24398         * modules/pthread (Makefile.am): Fix the rule to work also in a
24399         non-srcdir build.
24400
24401 2010-08-13  Karl Berry  <karl@gnu.org>
24402
24403         * doc/regex.texi (Predefined Syntaxes): @smallexample.
24404         * doc/posix-*/*: force line break before @url of POSIX
24405         specifications.
24406         Suggested by Werner Lemberg.
24407
24408 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
24409
24410         strtod: fix const diagnostic
24411         * lib/strtod.c (strtod): Don't assign const char * to char *,
24412         as this elicits a warning from GCC when warnings are enabled.
24413
24414 2010-08-10  Pádraig Brady <P@draigbrady.com>
24415         and Eric Blake  <eblake@redhat.com>
24416
24417         copy-acl: ignore ENOTSUP on HP-UX
24418         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
24419         so that it is available for HP-UX.
24420         * lib/copy-acl.c (qcopy_acl): Use it.
24421         Reported by Patrick M. Callahan.
24422
24423 2010-08-10  Eric Blake  <eblake@redhat.com>
24424
24425         open, chown: relax license
24426         * modules/open (License): Change to LGPLv2+, with consent by all
24427         authors, for use in augeas.
24428         * modules/chown (License): Likewise.
24429         * modules/lchown (Likewise): Likewise.
24430         Requested by Adam Stokes.
24431
24432 2010-08-09  Karl Berry  <karl@gnu.org>
24433
24434         * build-aux/ar-lib: new file, import from Automake.
24435         * config/srclist.txt: autocheck for updates.
24436
24437 2010-08-09  Eric Blake  <eblake@redhat.com>
24438
24439         readlinkat: adjust client modules
24440         * modules/areadlinkat (Depends-on): Use readlinkat, not
24441         symlinkat.
24442         * modules/areadlinkat-with-size (Depends-on): Likewise.
24443
24444         mknod: be more vocal about danger of running tests as root
24445         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
24446         root, since that is just asking for problems.
24447         Suggested by Bruno Haible, based on a report by Rainer Tammer.
24448
24449         readlinkat: split into its own module
24450         * modules/symlinkat: Split readlinkat...
24451         * modules/readlinkat: ...into separate module.
24452         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
24453         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
24454         * lib/symlinkat.c (readlinkat): Move...
24455         * lib/readlinkat.c: ...into new file.
24456         * modules/symlinkat-tests: Split readlinkat test...
24457         * modules/readlinkat-tests: ...into separate module.
24458         * tests/test-symlinkat.c: Split...
24459         * tests/test-readlinkat.c: ...into new file.
24460         * NEWS: Document the split.
24461         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24462         * lib/unistd.in.h (readlinkat): Likewise.
24463         Suggested by Bruno Haible.
24464
24465 2010-08-08  Bruno Haible  <bruno@clisp.org>
24466
24467         memxfrm: Speed up.
24468         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
24469         that usually only one call to strxfrm is necessary for each string
24470         part.
24471         Reported by Paul Eggert <eggert@cs.ucla.edu>.
24472
24473 2010-08-07  Karl Berry  <karl@gnu.org>
24474
24475         * doc/posix-headers/limits.texi,
24476         * doc/posix-functions/malloc.texi,
24477         * doc/posix-functions/strsignal.texi: missing @item.
24478         * doc/ld-version-script.texi: spurious leading i.
24479         * doc/regex.texi (Interval Operators): no commas inside @var.
24480
24481 2010-08-01  Bruno Haible  <bruno@clisp.org>
24482
24483         Integrate the regex documentation.
24484         * doc/gnulib.texi: Define 'cn' index.
24485         (Regular expressions): New a chapter that includes regex.texi and
24486         regexprops-generic.texi.
24487         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
24488         syntax.
24489
24490         Whitespace cleanup.
24491         * doc/regex.texi: Remove trailing spaces.
24492
24493         Add regex documentation.
24494         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
24495         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
24496         Written by Kathy A. Hargreaves and Karl Berry.
24497
24498 2010-08-01  Bruno Haible  <bruno@clisp.org>
24499
24500         link: Update documentation.
24501         * doc/posix-functions/link.texi: Update regarding Solaris.
24502
24503 2010-07-31  Bruno Haible  <bruno@clisp.org>
24504
24505         Update modules list.
24506         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
24507         (String handling <string.h>): Add memcmp2, memxfrm.
24508         (Container data structures): Add xlist, xsublist, xoset.
24509         (Core language properties): Add alignof, unused-parameter.
24510         (Process control, Numeric conversion functions <stdlib.h>): Renamed
24511         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
24512         (Unibyte characters <ctype.h>): New section.
24513         (String handling <string.h>): New section.
24514         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
24515         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
24516         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
24517         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
24518         tan, tanh, tanl, y0, y1, yn.
24519         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
24520         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
24521         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
24522         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
24523         unlockpt, vdprintf, vdprintf-posix.
24524         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
24525         (File system functions): Add concat-filename, sys_file, sys_ioctl,
24526         xconcat-filename.
24527         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
24528         getdtablesize, pipe2, pipe2-safer.
24529         (Security): New section.
24530         (Networking functions): Add accept4.
24531         (Signal handling): Add sigpipe.
24532         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
24533         mbmemcasecoll.
24534         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
24535         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
24536         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
24537         pipe-filter-ii.
24538         (Misc): Add argp-version-etc, login_tty, parse-duration.
24539
24540 2010-07-31  Bruno Haible  <bruno@clisp.org>
24541
24542         Improve doc in MODULES.html.
24543         * modules/linkat (Description): Add the word "function".
24544         * modules/mkfifo (Description): Likewise.
24545         * modules/mknod (Description): Likewise.
24546         * modules/remove (Description): Likewise.
24547         * modules/renameat (Description): Likewise.
24548         * modules/stat (Description): Likewise.
24549         * modules/symlink (Description): Likewise.
24550         * modules/unlink (Description): Likewise.
24551
24552 2010-07-31  Bruno Haible  <bruno@clisp.org>
24553
24554         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
24555         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
24556         option --enable/disable-c++ instead of --enable/disable-cxx.
24557         * NEWS: Mention the change.
24558
24559 2010-07-31  Bruno Haible  <bruno@clisp.org>
24560
24561         readlink, areadlink: Relax test a bit.
24562         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
24563         alternative to ENOTDIR.
24564         * tests/test-areadlink.h (test_areadlink): Likewise.
24565         Reported by Rainer Tammer.
24566
24567 2010-07-31  Bruno Haible  <bruno@clisp.org>
24568
24569         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
24570         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
24571         character, perform the search using U_STRCHR.
24572         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
24573         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
24574         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
24575         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
24576         Suggested by Paolo Bonzini.
24577
24578 2010-07-31  Bruno Haible  <bruno@clisp.org>
24579
24580         unistr/u*-strstr: Fix dependencies.
24581         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
24582         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
24583         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
24584
24585 2010-07-31  Bruno Haible  <bruno@clisp.org>
24586
24587         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
24588         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
24589         the beginning of the loop.
24590         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
24591         cases in 'switch' statement.
24592
24593         unistr/u8-strchr: Fix several bugs.
24594         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
24595         the string. When not found, return NULL, not a pointer near the end.
24596
24597         More tests for unistr/u8-strchr.
24598         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
24599         that the function does not read past the first occurrence of the byte
24600         being searched.
24601         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
24602         * tests/unistr/test-u16-strchr.c (main): New function.
24603         * tests/unistr/test-u32-strchr.c (main): New function.
24604
24605 2010-07-31  Bruno Haible  <bruno@clisp.org>
24606
24607         posix-modules: Ignore backup files of documentation files.
24608         * posix-modules: grep only through files named *.texi.
24609
24610 2010-07-31  Bruno Haible  <bruno@clisp.org>
24611
24612         symlinkat: Fix documentation.
24613         * doc/posix-functions/readlinkat.texi: Fix module name.
24614
24615 2010-07-31  Bruno Haible  <bruno@clisp.org>
24616
24617         fchownat: Replace also when chown has the trailing slash bug.
24618         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
24619         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
24620         introduced on 2010-04-10.
24621         Reported by Rainer Tammer.
24622
24623 2010-07-31  Bruno Haible  <bruno@clisp.org>
24624
24625         linkat: Work around AIX 7.1 bug.
24626         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
24627         whether linkat handles trailing slash correctly. If not, replace linkat
24628         and define LINKAT_TRAILING_SLASH_BUG.
24629         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
24630         check whether (fd1,file1) points to a directory if file1 or file2 ends
24631         in a slash. Code taken from lib/link.c.
24632         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
24633         Reported by Rainer Tammer.
24634
24635 2010-07-31  Bruno Haible  <bruno@clisp.org>
24636
24637         Correctly determine whether pow is available in libc on AIX 7 with xlc.
24638         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
24639         This disables an xlc optimization that was causing wrong test results.
24640         Reported by Rainer Tammer.
24641
24642 2010-07-31  Bruno Haible  <bruno@clisp.org>
24643
24644         iconv: Work around AIX 6.1..7.1 bug.
24645         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
24646         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
24647         cross-compiling, guess no on all versions of AIX.
24648         Reported by Rainer Tammer.
24649
24650 2010-07-31  Bruno Haible  <bruno@clisp.org>
24651
24652         readlink: Relax test a bit.
24653         * tests/test-readlink.h (test_readlink): Allow different errno value
24654         when readlink is called with a file name that ends in / and refers to
24655         a file.
24656         Suggested by Eric Blake.
24657         Reported by Rainer Tammer.
24658
24659 2010-07-31  Bruno Haible  <bruno@clisp.org>
24660
24661         copysign: Does not require -lm on glibc systems.
24662         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
24663         gl_COMMON_DOUBLE_MATHFUNC.
24664         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
24665
24666 2010-07-31  Bruno Haible  <bruno@clisp.org>
24667
24668         duplocale: Work around AIX 7.1 bug.
24669         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
24670         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
24671         * lib/duplocale.c (rpl_duplocale): Update comment.
24672         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
24673         Reported by Rainer Tammer.
24674
24675 2010-07-30  Bruno Haible  <bruno@clisp.org>
24676
24677         dirfd: Avoid link error on AIX 7.1.
24678         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
24679         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
24680         exist, set REPLACE_DIRFD.
24681         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
24682         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
24683         * doc/posix-functions/dirfd.texi: Update.
24684         Reported by Rainer Tammer.
24685
24686 2010-07-30  Eric Blake  <eblake@redhat.com>
24687
24688         strtod: next round of AIX fixes
24689         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
24690         exponent.
24691         * tests/test-strtod.c (main): Enhance tests.
24692         * doc/posix-functions/strtod.texi (strtod): Document next bug.
24693         Reported by Rainer Tammer.
24694
24695         futimens: fix configure check
24696         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
24697         Reported by Bruno Haible.
24698
24699 2010-07-30  Bruno Haible  <bruno@clisp.org>
24700
24701         getline: Update regarding AIX.
24702         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
24703         Reported by Rainer Tammer.
24704
24705 2010-07-30  Bruno Haible  <bruno@clisp.org>
24706
24707         wcwidth: Drop replacement on AIX 7.
24708         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
24709         AIX 7.
24710         Reported by Rainer Tammer.
24711
24712 2010-07-30  Bruno Haible  <bruno@clisp.org>
24713
24714         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
24715         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
24716         a 'char *'.
24717         Reported by Rainer Tammer.
24718
24719 2010-07-30  Bruno Haible  <bruno@clisp.org>
24720
24721         unlink: Update regarding AIX.
24722         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
24723         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
24724         Reported by Rainer Tammer.
24725
24726 2010-07-30  Bruno Haible  <bruno@clisp.org>
24727
24728         symlink: Update regarding AIX.
24729         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
24730         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
24731         Reported by Rainer Tammer.
24732
24733 2010-07-30  Bruno Haible  <bruno@clisp.org>
24734
24735         strndup: Update regarding AIX.
24736         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
24737         AIX 7.
24738         Reported by Rainer Tammer.
24739
24740 2010-07-30  Bruno Haible  <bruno@clisp.org>
24741
24742         stat: Update regarding AIX.
24743         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
24744         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
24745         Reported by Rainer Tammer.
24746
24747 2010-07-30  Bruno Haible  <bruno@clisp.org>
24748
24749         truncl: Fix autoconf test.
24750         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
24751         whether truncl works.
24752         Reported by Rainer Tammer.
24753
24754 2010-07-30  Bruno Haible  <bruno@clisp.org>
24755
24756         round: Update regarding AIX.
24757         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
24758         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
24759         Reported by Rainer Tammer.
24760
24761 2010-07-30  Bruno Haible  <bruno@clisp.org>
24762
24763         rename: Update regarding AIX.
24764         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
24765         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
24766         Reported by Rainer Tammer.
24767
24768 2010-07-30  Bruno Haible  <bruno@clisp.org>
24769
24770         printf.m4: Update regarding AIX.
24771         * m4/printf.m4: Update comments regarding AIX.
24772         Reported by Rainer Tammer.
24773
24774 2010-07-30  Bruno Haible  <bruno@clisp.org>
24775
24776         iconv: Update regarding AIX.
24777         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
24778         AIX 7.
24779         Reported by Rainer Tammer.
24780
24781 2010-07-30  Bruno Haible  <bruno@clisp.org>
24782
24783         getopt: Update regarding AIX.
24784         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
24785         no on AIX.
24786         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
24787         Reported by Rainer Tammer.
24788
24789 2010-07-30  Bruno Haible  <bruno@clisp.org>
24790
24791         ldexpl; Update regarding AIX.
24792         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
24793         on AIX 7.
24794         Reported by Rainer Tammer.
24795
24796 2010-07-30  Bruno Haible  <bruno@clisp.org>
24797
24798         frexpl: Update regarding AIX.
24799         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
24800         on AIX 7.
24801         Reported by Rainer Tammer.
24802
24803 2010-07-30  Bruno Haible  <bruno@clisp.org>
24804
24805         open, fopen: Update regarding AIX.
24806         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
24807         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
24808         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
24809         * doc/posix-functions/fopen.texi: Likewise.
24810         Reported by Rainer Tammer.
24811
24812 2010-07-30  Bruno Haible  <bruno@clisp.org>
24813
24814         chown: Update doc regarding AIX.
24815         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
24816         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
24817         Reported by Rainer Tammer.
24818
24819 2010-07-30  Eric Blake  <eblake@redhat.com>
24820
24821         strtod: fix bug in replacement function on AIX
24822         * lib/strtod.c (strtod): Special case broken "0x" parse in
24823         underlying strtod.
24824         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
24825         * doc/posix-functions/strtod.texi (strtod): Likewise.
24826         Reported by Rainer Tammer.
24827
24828 2010-07-30  Bruno Haible  <bruno@clisp.org>
24829
24830         mbrlen: Fix cross-compilation guess for AIX.
24831         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
24832         guess. Leftover from 2008-12-22.
24833
24834 2010-07-30  Bruno Haible  <bruno@clisp.org>
24835
24836         mbrtowc: Fix cross-compilation guess for AIX.
24837         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
24838         guess. Leftover from 2008-12-21.
24839
24840 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
24841
24842         init.sh: work around trap limitation of some shells
24843         * tests/init.sh (setup_): Move exit trap outside of shell function.
24844
24845 2010-07-29  Eric Blake  <eblake@redhat.com>
24846
24847         strtod: aid debugging
24848         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
24849         understanding why strtod is rejected.
24850
24851 2010-07-28  Bruno Haible  <bruno@clisp.org>
24852
24853         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
24854         * lib/unistr/u8-chr.c: Include <string.h>.
24855         * tests/unistr/test-u8-chr.c: Likewise.
24856         * tests/unistr/test-u16-chr.c: Likewise.
24857         * tests/unistr/test-u32-chr.c: Likewise.
24858         * tests/unistr/test-u8-strchr.c: Likewise.
24859         * tests/unistr/test-u16-strchr.c: Likewise.
24860         * tests/unistr/test-u32-strchr.c: Likewise.
24861         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
24862         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
24863         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
24864         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
24865
24866 2010-07-28  Bruno Haible  <bruno@clisp.org>
24867
24868         Use spaces for indentation, not tabs.
24869         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
24870
24871 2010-07-27  Bruno Haible  <bruno@clisp.org>
24872
24873         mbspcasecmp: Fix function specification.
24874         * lib/string.in.h (mbspcasecmp): Fix specification comment.
24875         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
24876         Reported by Eric Blake <eblake@redhat.com>.
24877
24878 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
24879
24880         timespec: use cast and not conditional, as truncation isn't possible
24881         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
24882         instead of a conditional.  Comment about the situation in more detail.
24883         This undoes most of the 2009-10-29 patch.
24884
24885 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
24886
24887         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
24888         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
24889         * lib/unistr/u8-strchr.c: Likewise.
24890         * modules/unistr/u8-chr: Depend on memchr.
24891
24892         unistr/u*-strchr: add tests
24893         * modules/unistr/u8-strchr-tests: New file.
24894         * modules/unistr/u16-strchr-tests: New file.
24895         * modules/unistr/u32-strchr-tests: New file.
24896         * tests/unistr/test-strchr.h: New file.
24897         * tests/unistr/test-u8-strchr.c: New file.
24898         * tests/unistr/test-u16-strchr.c: New file.
24899         * tests/unistr/test-u32-strchr.c: New file.
24900
24901         unistr/u*-chr: test multibyte sequences more
24902         * tests/unistr/test-chr.h: Do complete testing of the characters in the
24903         test vector.
24904         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
24905         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
24906         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
24907
24908         unistr/u*-chr: test multibyte sequences
24909         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
24910
24911         unistr/u*-chr: prepare for multibyte tests
24912         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
24913         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
24914         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
24915         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
24916         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
24917         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
24918
24919 2010-07-18  Bruno Haible  <bruno@clisp.org>
24920
24921         unistr/u8-strchr: Optimize non-ASCII argument case.
24922         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
24923         because the first byte often matches anyway.
24924         Reported by Pádraig Brady <P@draigbrady.com>.
24925
24926 2010-07-15  Karl Berry  <karl@gnu.org>
24927
24928         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
24929
24930 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
24931
24932         getcwd: on Solaris, work better if ancestors are inaccessible
24933         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
24934         buffer and size, try again with a large buffer.  This works better
24935         on Solaris, since its getcwd succeeds even if the path to the root
24936         is inaccessible, and this is helpful in common cases such as .zfs
24937         hidden directories.  Problem reported by J Chapman Flack in
24938         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
24939         Use system getcwd if it's declared, not merely if it's partly
24940         working; use the partly-working test only to avoid needless effort
24941         if the system getcwd fails.
24942         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
24943         comment that was already obsolete and is now even more obsolete.
24944         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
24945         now might call strdup.
24946
24947 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
24948
24949         pthread: Add enough so that coreutils/src/sort.c compiles.
24950         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
24951         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
24952         gnulib. Include <sched.h> and <time.h>, as per POSIX.
24953         Include <sys/types.h>, in case it defines pthread_t.
24954         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
24955         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
24956         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
24957         (pthread_rwlockattr_t, pthread_spinlock_t):
24958         New typedefs, if HAVE_PTHREAD_T is not defined.
24959         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
24960         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
24961         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
24962         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
24963         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
24964         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
24965         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
24966         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
24967         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
24968         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
24969         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
24970         New macros.
24971         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
24972         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
24973         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
24974         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
24975         (pthread_spin_unlock): New dummy functions.
24976         (pthread_create): Return EAGAIN; don't set errno.
24977         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
24978         require AC_C_INLINE.
24979         * modules/pthread (Depends-on): Add sched, time.
24980         (pthread.h): Use AM_V_GEN.
24981
24982 2010-07-13  Bruno Haible  <bruno@clisp.org>
24983
24984         striconveh: Don't malloc memory if the result buffer is sufficient.
24985         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
24986         buffer if its size is sufficient.
24987         Reported by Ludovic Courtès <ludo@gnu.org>.
24988
24989 2010-07-13  Bruno Haible  <bruno@clisp.org>
24990
24991         strtod: Add safety check.
24992         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
24993
24994 2010-07-12  Bruno Haible  <bruno@clisp.org>
24995
24996         Unify tests that set gl_cv_func_ldexpl_no_libm.
24997         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
24998         gl_FUNC_LDEXPL.
24999         (gl_FUNC_LDEXPL): Invoke it.
25000         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25001
25002 2010-07-12  Bruno Haible  <bruno@clisp.org>
25003
25004         Unify tests that set gl_cv_func_ldexp_no_libm.
25005         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
25006         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
25007         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
25008         (configure.ac): Simply invoke gl_FUNC_LDEXP.
25009         * modules/strtod (Files): Add m4/ldexp.m4.
25010
25011 2010-07-12  Bruno Haible  <bruno@clisp.org>
25012
25013         Unify tests that set gl_cv_func_frexpl_no_libm.
25014         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
25015         gl_FUNC_FREXPL_NO_LIBM.
25016         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
25017         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25018
25019 2010-07-12  Bruno Haible  <bruno@clisp.org>
25020
25021         Unify tests that set gl_cv_func_frexp_no_libm.
25022         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
25023         gl_FUNC_FREXP_NO_LIBM.
25024         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
25025         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
25026
25027 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
25028
25029         memcoll: clarify sizes versus lengths, document better, and tweak perf
25030         * lib/memcoll.c (strcoll_loop, memcoll0):
25031         Improve quality of descriptive comments.  Name variables
25032         consistently as to whether they are lengths (which do not include
25033         terminating null) versus sizes (which do).
25034         * lib/xmemcoll.c (xmemcoll0): Likewise.
25035         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
25036         returned when s1size == 0; this is easier to compile and saves
25037         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
25038
25039 2010-07-12  Bruno Haible  <bruno@clisp.org>
25040
25041         Tests for module '_Exit'.
25042         * modules/_Exit-tests: New file.
25043         * tests/test-_Exit.sh: New file.
25044         * tests/test-_Exit.c: New file.
25045
25046         New module '_Exit'.
25047         * lib/stdlib.in.h (__attribute__): New macro.
25048         (_Exit): New declaration.
25049         * lib/_Exit.c: New file.
25050         * m4/_Exit.m4: New file.
25051         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
25052         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
25053         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
25054         * modules/_Exit: New file.
25055         * tests/test-stdlib-c++.cc (_Exit): Check signature.
25056         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
25057
25058 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
25059
25060         strtod: make it more-accurate typically, and don't require libm
25061         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
25062         Include limits.h.  Don't include string.h.
25063         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
25064         (locale_isspace): New function, so that no casts are needed to
25065         check whether *s is a space.
25066         (ldexp): Provide an unused dummy if not available.
25067         (scale_radix_exp, parse_number, underlying_strtod): New functions.
25068         (strtod): Use them.  This implementation prefers to use the
25069         underlying strtod if available, falling back on our own code
25070         only to fix known bugs.  This is more likely to produce an
25071         accurate result.  Also, it avoids the use of libm functions.
25072         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
25073         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
25074         was absent, but it caused a test failure with coreutils.
25075         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
25076         with libm.
25077         * modules/strtod (Makefile.am, Link): libm is no longer needed.
25078         * modules/strtod-tests (Makefile.am): Likewise.
25079
25080 2010-07-11  Pádraig Brady  <P@draigBrady.com>
25081             Bruno Haible  <bruno@clisp.org>
25082
25083         unistr/u8-strchr: Optimize ASCII argument case.
25084         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
25085
25086 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
25087
25088         (x)memcoll: minor tweaks
25089         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
25090         is after the type that it qualifies.
25091         (memcoll0): Likewise.
25092         * lib/memcoll.h (memcoll0): Likewise.
25093         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
25094         * lib/xmemcoll.h (xmemcoll0): Likewise.
25095         * lib/memcoll.c (memcoll0): Correct the comment.  This function
25096         differs from memcoll in that the NUL byte is part of the argument.
25097         Omit the abort-checks, as performance is a real issue here.  Plus,
25098         the checks were wrong anyway (an off-by-one error).  Omit local
25099         variable 'diff', as it's a bit clearer that way.
25100         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
25101         no longer needed.
25102
25103 2010-07-08  Chen Guo <chenguo4@yahoo.com>
25104
25105         (x)memcoll: speedup when input is known to be NUL delimited
25106         * lib/memcoll.c: Include stdlib.
25107         (memcoll0): New function.
25108         (strcoll_loop): New function, refactored for use in both memcoll
25109         and memcoll0.
25110         * lib/memcoll.h (memcoll0): Add prototype.
25111         * lib/xmemcoll.c (xmemcoll0): New function.
25112         (collate_error): New function, refactored for use in both xmemcoll
25113         and xmemcoll0.
25114         * lib/xmemcoll.h (xmemcoll0): Add prototype.
25115         * m4/memcoll.m4: add inline invocation.
25116
25117 2010-07-06  Pádraig Brady  <P@draigBrady.com>
25118
25119         * build-aux/bootstrap: Remove any local translations
25120         from the translation project synchronization directory,
25121         so that local only translations are not distributed.
25122
25123 2010-07-04  Bruno Haible  <bruno@clisp.org>
25124
25125         fsusage: Clarify which code applies to which platforms.
25126         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
25127         platform.
25128         * lib/fsusage.c (get_fs_usage): Likewise.
25129
25130 2010-07-04  Bruno Haible  <bruno@clisp.org>
25131
25132         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
25133         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
25134         Reported by Martin Lambers <marlam@marlam.de>.
25135
25136 2010-07-04  Jim Meyering  <meyering@redhat.com>
25137
25138         hash: once again explicitly disallow insertion of NULL
25139         * lib/hash.c (hash_insert0): Reinstate just-removed test:
25140         inserting a NULL pointer cannot work with these functions.
25141         Add a comment with details.
25142         This reverts part of the 2010-07-01 commit, 5bef1a35
25143         "hash: extend module to deal with non-pointer keys".
25144
25145 2010-07-01  Bruno Haible  <bruno@clisp.org>
25146
25147         stdbool: Update doc.
25148         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
25149         Info from Christian Weisgerber <naddy@mips.inka.de>.
25150
25151 2010-07-01  Jim Meyering  <meyering@redhat.com>
25152
25153         hash: extend module to deal with non-pointer keys
25154         * lib/hash.c (hash_insert0): New interface, much like hash_insert
25155         but that allows insertion of non-pointer entries.
25156         Do not disallow an ENTRY value of NULL.
25157         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
25158         * lib/hash.h (hash_insert0): Declare.
25159
25160 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25161
25162         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
25163         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
25164         not present (i.e. with autoconf 2.59 and when using gettextize, not
25165         gnulib), require AC_GNU_SOURCE instead.
25166
25167 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
25168
25169         idpriv-drop: Fix tests.
25170         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
25171         not to the test-idpriv-droptemp program.
25172
25173 2010-06-29  Bruno Haible  <bruno@clisp.org>
25174
25175         string: Fix syntax error with g++ 2.96.
25176         * lib/string.in.h (__pure__): Remove definition.
25177         (_GL_ATTRIBUTE_PURE): New macro.
25178         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
25179         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
25180         Reported by Christian Weisgerber <naddy@mips.inka.de>.
25181
25182 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
25183
25184         unitypes: Fix bug introduced on 2010-05-18.
25185         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
25186
25187 2010-06-22  Eric Blake  <eblake@redhat.com>
25188
25189         memmem: slight optimization
25190         * lib/str-two-way.h (critical_factorization): Update comments.
25191         Reduce work during factorization phase.
25192         Reported by Carlos Bueno <carlos@bueno.org>.
25193
25194 2010-06-21  Bruno Haible  <bruno@clisp.org>
25195
25196         Fix HAVE_CALLOC_POSIX misnomer.
25197         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
25198         !HAVE_CALLOC_POSIX.
25199         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
25200         HAVE_CALLOC_POSIX.
25201         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
25202         instead of HAVE_CALLOC_POSIX.
25203         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
25204         HAVE_CALLOC_POSIX.
25205
25206         Use modern idiom for calloc() replacement.
25207         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
25208         AC_FUNC_CALLOC.
25209         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
25210         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
25211         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25212         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
25213         (gl_REPLACE_CALLOC): New macro.
25214
25215 2010-06-21  Bruno Haible  <bruno@clisp.org>
25216
25217         Fix HAVE_REALLOC_POSIX misnomer.
25218         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
25219         !HAVE_REALLOC_POSIX.
25220         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
25221         HAVE_REALLOC_POSIX.
25222         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
25223         instead of HAVE_REALLOC_POSIX.
25224         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
25225         HAVE_REALLOC_POSIX.
25226
25227         Use modern idiom for realloc() replacement.
25228         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
25229         AC_FUNC_REALLOC.
25230         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
25231         Autoconf's AC_FUNC_REALLOC.
25232         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25233         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
25234         (gl_REPLACE_REALLOC): New macro.
25235         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
25236
25237 2010-06-21  Bruno Haible  <bruno@clisp.org>
25238
25239         Fix HAVE_MALLOC_POSIX misnomer.
25240         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
25241         !HAVE_MALLOC_POSIX.
25242         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
25243         HAVE_MALLOC_POSIX.
25244         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
25245         instead of HAVE_MALLOC_POSIX.
25246         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
25247         HAVE_MALLOC_POSIX.
25248
25249         Use modern idiom for malloc() replacement.
25250         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
25251         AC_FUNC_MALLOC.
25252         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
25253         Autoconf's AC_FUNC_MALLOC.
25254         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25255         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
25256         (gl_REPLACE_MALLOC): New macro.
25257         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
25258
25259 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
25260
25261         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
25262         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
25263         This macro takes 3 arguments, not 4.
25264
25265 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
25266
25267         ipv6: fix detection under mingw
25268         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
25269         in6_addr.
25270
25271 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
25272
25273         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
25274         that strtod() works when cross-compiling to a glibc version known
25275         to work.
25276
25277 2010-06-15  Bruno Haible  <bruno@clisp.org>
25278
25279         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
25280
25281 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
25282
25283         select: Correct timeout.
25284         * lib/select.c (rpl_select): Compute wait_timeout correctly.
25285
25286 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
25287
25288         git-version-gen: init shell var to avoid env var influence
25289         * build-aux/git-version-gen (v): Init shell var to empty.
25290
25291 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
25292
25293         priv-set: Don't assume that priv.h exists merely because getppriv does.
25294         See Jan Andersen's bug report about AIX 5L in
25295         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
25296         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
25297         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
25298         * lib/priv-set.h: Likewise.
25299         * tests/test-priv-set.c: Likewise.
25300
25301 2010-06-13  Bruno Haible  <bruno@clisp.org>
25302
25303         relocatable: Make it easier to test whether to install wrappers.
25304         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
25305         RELOCATABLE_VIA_WRAPPER.
25306
25307 2010-06-13  Bruno Haible  <bruno@clisp.org>
25308
25309         gnulib-tool: Display specified modules and dependencies differently.
25310         * gnulib-tool (func_show_module_list): New function.
25311         (func_import, func_create_testdir): Invoke it.
25312         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
25313
25314 2010-06-13  Bruno Haible  <bruno@clisp.org>
25315
25316         gnulib-tool: Align code of func_import and func_create_testdir.
25317         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
25318         specified_modules.
25319
25320 2010-06-12  Jim Meyering  <meyering@redhat.com>
25321
25322         test-inttostr: avoid spurious failure on Solaris 9
25323         * tests/test-inttostr.c (main): Skip the test when snprintf fails
25324         to accept "%ju".  Reported by Bruno Haible.
25325
25326 2010-06-11  Jim Meyering  <meyering@redhat.com>
25327
25328         test-sys_socket: mark variables as used more readably
25329         * tests/test-sys_socket.c (main): Mark otherwise unused variables
25330         as "used" explicitly via (void) statement casts.  This is more
25331         readable than using them in an artificial return expression.
25332         Suggestion from Bruno Haible.
25333
25334 2010-06-11  Bruno Haible  <bruno@clisp.org>
25335
25336         Avoid some more warnings from "gcc -Wwrite-strings".
25337         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
25338         to 'const char *'.
25339         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
25340         * tests/test-c-strcasestr.c (main): Likewise.
25341         * tests/test-mbscasestr1.c (main): Likewise.
25342         * tests/test-mbscasestr2.c (main): Likewise.
25343         * tests/test-memmem.c (main): Likewise.
25344         * tests/test-strstr.c (main): Likewise.
25345         * tests/test-strcasestr.c (main): Likewise.
25346
25347 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25348
25349         init.sh: change framework_failure_ to fail with status 99, not 1
25350         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
25351         automake's parallel-tests rule that this is an unexpected failure,
25352         even if the test is listed in XFAIL_TESTS.
25353
25354 2010-06-11  Jim Meyering  <meyering@redhat.com>
25355
25356         test-inttostr: avoid warnings about 4-6KB literal strings
25357         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
25358         Include "macros.h", for its definition of ASSERT.
25359         (CK): s/assert/ASSERT/
25360         * modules/inttostr-tests (Files): Add macros.h.
25361
25362         init.sh: don't use $ME_ or skip_ before they are defined
25363         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
25364         their first uses.  Also hoist their companions: warn_, fail_,
25365         framework_failure_, $stderr_fileno.  Prompted by a patch from
25366         Stefano Lattarini.
25367
25368         test-sys_socket: avoid set-but-not-used warnings from gcc
25369         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
25370         avoid warning about set-but-not-used variables.
25371
25372         test-xvasprintf: avoid 'const' discard warnings
25373         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
25374         "const" when assigning from literal strings.
25375         (test_xasprintf): Add "void" in function argument list to placate
25376         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
25377
25378         tests: avoid compilation warnings in argmatch and exclude tests...
25379         in packages that define ARGMATCH_DIE_DECL, like coreutils.
25380         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
25381         Since it always exits, declare with the "noreturn" attribute.
25382         * tests/test-argmatch.c: Likewise.
25383
25384         tests: avoid 'const' discard warnings in mbsstr tests
25385         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
25386         * tests/test-mbsstr2.c (main): Likewise.
25387
25388         test-verify: avoid warning from gcc's -Wmissing-declarations
25389         * tests/test-verify.c (function): Declare to be static.
25390
25391         test-inttostr.c: include <string.h> for use of strcmp
25392         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
25393
25394         test-linkat: avoid failed assertion on "other" architectures
25395         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
25396         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
25397         sparc: https://bugs.launchpad.net/bugs/591968
25398
25399 2010-06-11  Jim Meyering  <meyering@redhat.com>
25400
25401         printf.m4: avoid autoconf's "Expanded Before Required" warning
25402         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
25403         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
25404         autoconf warning.
25405
25406 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
25407
25408         Replacement header templates are now named with ".in", not "_".
25409         * doc/gnulib-intro.texi: Correct.
25410
25411 2010-06-10  Jim Meyering  <meyering@redhat.com>
25412
25413         inttostr-tests: depend on snprintf, not snprintf-posix
25414         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
25415         snprintf-posix, to avoid this aclocal failure:
25416           missing file gnulib-tests/vasnprintf.c
25417           configure.ac:45: error: expected source file, required through \
25418           AC_LIBSOURCES, not found
25419
25420 2010-06-10  Jim Meyering  <meyering@redhat.com>
25421
25422         inttostr: add a new function, inttostr, and tests
25423         The namesake function was not available.  The existence of the
25424         template file, inttostr.c makes its addition nontrivial.
25425         * lib/anytostr.c: Rename from inttostr.c.
25426         (anytostr): Rename from inttostr.
25427         * lib/inttostr.c: New file.
25428         * modules/inttostr (Files): Add anytostr.c.
25429         (Makefile.am): Set lib_SOURCES instead of ...
25430         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
25431         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
25432         * lib/offtostr.c: Likewise.
25433         * lib/uinttostr.c: Likewise.
25434         * lib/umaxtostr.c: Likewise.
25435         * modules/inttostr-tests: New file.
25436         * tests/test-inttostr.c: New file.  Test these functions.
25437
25438 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
25439             Bruno Haible  <bruno@clisp.org>
25440
25441         Add "Extending Gnulib" chapter to manual.
25442         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
25443         chapter.
25444         (Extending Gnulib): New chapter.
25445         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
25446         chapter.
25447
25448 2010-06-09  Bruno Haible  <bruno@clisp.org>
25449
25450         Avoid relocwrapper link errors due to gnulib replacement functions.
25451         * lib/areadlink.c: Use the system's malloc, realloc functions.
25452         (areadlink): Set errno to ENOMEM explicitly.
25453         * modules/areadlink (Depends-on): Remove malloc-posix.
25454         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25455
25456 2010-06-09  Bruno Haible  <bruno@clisp.org>
25457
25458         Avoid relocwrapper link errors due to gnulib replacement functions.
25459         * lib/canonicalize-lgpl.c: Use the system's malloc function.
25460         * lib/malloca.c: Likewise.
25461         * lib/relocatable.c: Likewise.
25462         * lib/progreloc.c: Use the system's malloc, sprintf functions.
25463         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
25464         * lib/setenv.c: Use the system's malloc, realloc functions.
25465         * lib/strerror.c: Use the system's sprintf function.
25466         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25467
25468 2010-06-04  Bruno Haible  <bruno@clisp.org>
25469
25470         Prefer documented low-level autoconf macro names.
25471         * m4/lib-link.m4: Use m4_translit instead of translit.
25472         * m4/environ.m4: Likewise.
25473         * m4/mathfunc.m4: Likewise.
25474         * m4/onceonly.m4: Likewise.
25475         * m4/stdint.m4: Likewise.
25476         Suggested by Eric Blake.
25477
25478 2010-06-04  Martin Lambers  <marlam@marlam.de>
25479             Bruno Haible  <bruno@clisp.org>
25480
25481         havelib: Allow library names with '+' characters.
25482         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
25483         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
25484
25485 2010-06-09  Bruno Haible  <bruno@clisp.org>
25486
25487         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
25488         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
25489         realloc failed.
25490
25491 2010-06-08  Peter Simons  <simons@cryp.to>
25492
25493         maint.mk: make the news-check rule more configurable
25494         * top/maint.mk (news-check-lines-spec): New variable.
25495         (news-check): Use "sed -n 1,10p" in place of "head".
25496
25497 2010-06-07  Jim Meyering  <meyering@redhat.com>
25498
25499         do-release-commit-and-tag: fix typo in --help
25500         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
25501
25502         regex: avoid new dead-code warning with gcc-4.6.0
25503         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
25504         if-block containing a while-loop.  It's been unused for at least
25505         5 years.
25506
25507 2010-06-05  Bruno Haible  <bruno@clisp.org>
25508
25509         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
25510         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
25511
25512 2010-06-04  Bruno Haible  <bruno@clisp.org>
25513
25514         Update to GNU gettext 0.18.1.
25515         * modules/gettext (configure.ac): Require gettext infrastructure from
25516         version 0.18.1.
25517
25518 2010-06-03  Bruno Haible  <bruno@clisp.org>
25519
25520         Don't use AC_LIBOBJ with file names in subdirectories.
25521         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
25522         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
25523         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
25524         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
25525         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
25526         gl_LIBUNISTRING_LIBSOURCE.
25527         (Makefile.am): Augment lib_SOURCES here, conditionally.
25528         * NEWS: Drop requirement for Automake option 'subdir-objects'.
25529
25530 2010-06-03  Bruno Haible  <bruno@clisp.org>
25531
25532         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
25533         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
25534         expansion does not end with a newline.
25535         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
25536         unnecessary newline.
25537
25538 2010-06-03  Bruno Haible  <bruno@clisp.org>
25539
25540         Reduce dependencies.
25541         * tests/test-quotearg.h: New file, extracted from
25542         tests/test-quotearg.c.
25543         * tests/test-quotearg-simple.c: New file, extracted from
25544         tests/test-quotearg.c.
25545         * tests/test-quotearg.c: Don't include <ctype.h>.
25546         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
25547         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
25548         use_quote_double_quotes, use_quotearg_colon): Moved to
25549         tests/test-quotearg.h.
25550         (results_g, flag_results, custom_quotes, custom_results): Moved
25551         to tests/test-quotearg-simple.c.
25552         (main): Moved the part that does not depend on gettext to
25553         tests/test-quotearg-simple.c. Return 77 if the test cannot be
25554         performed.
25555         * modules/quotearg-simple: New file.
25556         * modules/quotearg-simple-tests: New file.
25557         * modules/quotearg (Depends-on): Add quotearg-simple.
25558         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
25559         (Files): Add tests/test-quotearg.h.
25560         Reported by Paolo Bonzini.
25561
25562 2010-06-03  Bruno Haible  <bruno@clisp.org>
25563
25564         Reduce dependencies.
25565         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
25566
25567 2010-06-03  Bruno Haible  <bruno@clisp.org>
25568
25569         time: Undefine more broken macros.
25570         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
25571         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
25572         Reported by Eric Blake.
25573
25574 2010-06-03  Bruno Haible  <bruno@clisp.org>
25575
25576         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
25577         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
25578         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
25579         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
25580         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
25581         Reported by Ludovic Courtès <ludo@gnu.org>.
25582
25583 2010-06-02  Eric Blake  <eblake@redhat.com>
25584
25585         time: work with mingw + pthreads-win32 library
25586         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
25587         if timespec is defined only in pthread.h.
25588         * modules/time (Makefile.am): Substitute it.
25589         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
25590         <pthread.h>, when needed.
25591         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
25592         from the library.
25593
25594 2010-05-31  Bruno Haible  <bruno@clisp.org>
25595
25596         Avoid expanding two macros in the wrong order.
25597         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
25598         gl_LIBUNISTRING if it is defined.
25599         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
25600         autoconf >= 2.64.
25601         Reported by Ludovic Courtès <ludo@gnu.org>.
25602
25603 2010-05-27  Jim Meyering  <meyering@redhat.com>
25604
25605         maint.mk: also prohibit "#undef" of always-defined symbols
25606         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
25607         Allow more than one space before the symbol name.
25608         (sc_prohibit_always-defined_macros): Use grep's -E, now that
25609         the regexp uses alternation.
25610
25611 2010-05-26  Eric Blake  <eblake@redhat.com>
25612
25613         maint.mk: avoid echo -e
25614         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
25615         Convert all uses of echo -* to printf.
25616         Reported by Matthias Bolte.
25617
25618 2010-05-25  Bruno Haible  <bruno@clisp.org>
25619
25620         Update to GNU gettext 0.18, part 2.
25621         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
25622         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
25623
25624 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25625
25626         Add missing include in test-pwrite.c.
25627         * tests/test-pwrite.c: Include string.h, for strcmp.
25628
25629 2010-05-24  Bruno Haible  <bruno@clisp.org>
25630
25631         * NEWS: Mention requirement for Automake option 'subdir-objects'.
25632
25633 2010-05-24  Bruno Haible  <bruno@clisp.org>
25634
25635         Don't use conversion with transliteration in u{8,16,32}_strcoll.
25636         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
25637         iconveh_error argument.
25638         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
25639         U_STRCONV_TO_LOCALE.
25640         * lib/unistr/u16-strcoll.c: Likewise.
25641         * lib/unistr/u32-strcoll.c: Likewise.
25642         * modules/unistr/u8-strcoll (Depends-on): Add
25643         uniconv/u8-strconv-to-enc, localcharset. Remove
25644         uniconv/u8-strconv-to-locale.
25645         (configure.ac): Bump version number.
25646         * modules/unistr/u16-strcoll (Depends-on): Add
25647         uniconv/u16-strconv-to-enc, localcharset. Remove
25648         uniconv/u16-strconv-to-locale.
25649         (configure.ac): Bump version number.
25650         * modules/unistr/u32-strcoll (Depends-on): Add
25651         uniconv/u32-strconv-to-enc, localcharset. Remove
25652         uniconv/u32-strconv-to-locale.
25653         (configure.ac): Bump version number.
25654
25655 2010-05-24  Bruno Haible  <bruno@clisp.org>
25656
25657         Avoid a test failure on NetBSD 5.0.
25658         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
25659         an iconv() bug.
25660
25661 2010-05-24  Bruno Haible  <bruno@clisp.org>
25662
25663         Adjust #include directive style.
25664         * modules/regex (Includes): Recommend to write <regex.h>.
25665
25666 2010-05-24  Bruno Haible  <bruno@clisp.org>
25667
25668         regex: Don't require alloca.
25669         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
25670         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
25671         only inside if (0).
25672
25673 2010-05-23  Jim Meyering  <meyering@redhat.com>
25674
25675         test-renameat.c: include <sys/stat.h>
25676         * tests/test-renameat.c: Include <sys/stat.h>; required for
25677         definition of S_IS* macros.
25678
25679 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
25680
25681         Update maintainer documentation for 'relocatable-prog' module.
25682         * doc/relocatable-maint.texi: Update.
25683         Comments by Bruno Haible.
25684
25685 2010-05-23  Bruno Haible  <bruno@clisp.org>
25686
25687         git-merge-changelog: Enable --split-merged-entry by default.
25688         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
25689         (usage): Don't mention this option any more.
25690         Reported by Ralf Wildenhues.
25691
25692 2010-05-23  Jim Meyering  <meyering@redhat.com>
25693
25694         test-pwrite: do not leave behind a test file named "out"
25695         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
25696         The trivial-looking use of init.sh is really necessary.
25697         It ensures that the temporary file, "out", is created in
25698         a temporary directory, and removed upon termination.
25699         * tests/test-pwrite.sh: Re-add file.
25700         * modules/pwrite-tests: Reference it.
25701
25702 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25703
25704         Fix output redirection buglet in init.sh.
25705         * tests/init.sh: Fix redirection of stderr.
25706
25707 2010-05-20  Simon Josefsson  <simon@josefsson.org>
25708
25709         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
25710
25711 2010-05-17  Simon Josefsson  <simon@josefsson.org>
25712
25713         * modules/valgrind-tests: New file.
25714         * m4/valgrind-tests.m4: New file.
25715         * doc/valgrind-tests.texi: New file.
25716         * doc/gnulib.texi (Running self-tests under valgrind): New
25717         section.
25718
25719 2010-05-19  Bruno Haible  <bruno@clisp.org>
25720
25721         Clean up dead code in recent commit.
25722         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
25723         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
25724         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
25725         Suggested by Paolo Bonzini.
25726
25727 2010-05-19  Bruno Haible  <bruno@clisp.org>
25728
25729         Avoid valgrind error reports from libunistring.
25730         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
25731         * modules/libunistring (Files): Add it.
25732         * modules/libunistring-optional (Files): Likewise.
25733
25734 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
25735             Bruno Haible  <bruno@clisp.org>
25736
25737         New module 'libunistring-optional'.
25738         * modules/libunistring-optional: New file.
25739         * m4/libunistring-base.m4: New file.
25740         * m4/libunistring-optional.m4: New file.
25741         * lib/unicase.in.h: Renamed from lib/unicase.h.
25742         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
25743         * lib/unictype.in.h: Renamed from lib/unictype.h.
25744         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
25745         * lib/uniname.in.h: Renamed from lib/uniname.h.
25746         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
25747         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
25748         * lib/unistr.in.h: Renamed from lib/unistr.h.
25749         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
25750         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
25751         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
25752         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
25753         gl_LIBUNISTRING. If the library was found, determine the installed
25754         version and set LIBUNISTRING_VERSION.
25755         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
25756         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
25757         handle a configuration option --with-included-libunistring.
25758         * modules/libunistring (Files): Add m4/absolute-header.m4.
25759         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
25760         Add m4/libunistring-base.m4.
25761         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25762         (Makefile.am): Build unicase.h from unicase.in.h.
25763         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
25764         Add m4/libunistring-base.m4.
25765         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25766         (Makefile.am): Build uniconv.h from uniconv.in.h.
25767         * modules/unictype/base (Files): Use unictype.in.h instead of
25768         unictype.h. Add m4/libunistring-base.m4.
25769         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25770         (Makefile.am): Build unictype.h from unictype.in.h.
25771         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
25772         Add m4/libunistring-base.m4.
25773         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25774         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
25775         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
25776         Add m4/libunistring-base.m4.
25777         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25778         (Makefile.am): Build uniname.h from uniname.in.h.
25779         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
25780         Add m4/libunistring-base.m4.
25781         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25782         (Makefile.am): Build uninorm.h from uninorm.in.h.
25783         * modules/unistdio/base (Files): Use unistdio.in.h instead of
25784         unistdio.h. Add m4/libunistring-base.m4.
25785         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25786         (Makefile.am): Build unistdio.h from unistdio.in.h.
25787         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
25788         Add m4/libunistring-base.m4.
25789         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25790         (Makefile.am): Build unistr.h from unistr.in.h.
25791         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
25792         Add m4/libunistring-base.m4.
25793         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25794         (Makefile.am): Build unitypes.h from unitypes.in.h.
25795         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
25796         Add m4/libunistring-base.m4.
25797         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25798         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
25799         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
25800         uniwidth.h. Add m4/libunistring-base.m4.
25801         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25802         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
25803         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
25804         instead of augmenting lib_SOURCES.
25805         * modules/unicase/empty-suffix-context: Likewise.
25806         * modules/unicase/locale-language: Likewise.
25807         * modules/unicase/tolower: Likewise.
25808         * modules/unicase/totitle: Likewise.
25809         * modules/unicase/toupper: Likewise.
25810         * modules/unicase/u8-casecmp: Likewise.
25811         * modules/unicase/u8-casecoll: Likewise.
25812         * modules/unicase/u8-casefold: Likewise.
25813         * modules/unicase/u8-casexfrm: Likewise.
25814         * modules/unicase/u8-ct-casefold: Likewise.
25815         * modules/unicase/u8-ct-tolower: Likewise.
25816         * modules/unicase/u8-ct-totitle: Likewise.
25817         * modules/unicase/u8-ct-toupper: Likewise.
25818         * modules/unicase/u8-is-cased: Likewise.
25819         * modules/unicase/u8-is-casefolded: Likewise.
25820         * modules/unicase/u8-is-lowercase: Likewise.
25821         * modules/unicase/u8-is-titlecase: Likewise.
25822         * modules/unicase/u8-is-uppercase: Likewise.
25823         * modules/unicase/u8-prefix-context: Likewise.
25824         * modules/unicase/u8-suffix-context: Likewise.
25825         * modules/unicase/u8-tolower: Likewise.
25826         * modules/unicase/u8-totitle: Likewise.
25827         * modules/unicase/u8-toupper: Likewise.
25828         * modules/unicase/u16-casecmp: Likewise.
25829         * modules/unicase/u16-casecoll: Likewise.
25830         * modules/unicase/u16-casefold: Likewise.
25831         * modules/unicase/u16-casexfrm: Likewise.
25832         * modules/unicase/u16-ct-casefold: Likewise.
25833         * modules/unicase/u16-ct-tolower: Likewise.
25834         * modules/unicase/u16-ct-totitle: Likewise.
25835         * modules/unicase/u16-ct-toupper: Likewise.
25836         * modules/unicase/u16-is-cased: Likewise.
25837         * modules/unicase/u16-is-casefolded: Likewise.
25838         * modules/unicase/u16-is-lowercase: Likewise.
25839         * modules/unicase/u16-is-titlecase: Likewise.
25840         * modules/unicase/u16-is-uppercase: Likewise.
25841         * modules/unicase/u16-prefix-context: Likewise.
25842         * modules/unicase/u16-suffix-context: Likewise.
25843         * modules/unicase/u16-tolower: Likewise.
25844         * modules/unicase/u16-totitle: Likewise.
25845         * modules/unicase/u16-toupper: Likewise.
25846         * modules/unicase/u32-casecmp: Likewise.
25847         * modules/unicase/u32-casecoll: Likewise.
25848         * modules/unicase/u32-casefold: Likewise.
25849         * modules/unicase/u32-casexfrm: Likewise.
25850         * modules/unicase/u32-ct-casefold: Likewise.
25851         * modules/unicase/u32-ct-tolower: Likewise.
25852         * modules/unicase/u32-ct-totitle: Likewise.
25853         * modules/unicase/u32-ct-toupper: Likewise.
25854         * modules/unicase/u32-is-cased: Likewise.
25855         * modules/unicase/u32-is-casefolded: Likewise.
25856         * modules/unicase/u32-is-lowercase: Likewise.
25857         * modules/unicase/u32-is-titlecase: Likewise.
25858         * modules/unicase/u32-is-uppercase: Likewise.
25859         * modules/unicase/u32-prefix-context: Likewise.
25860         * modules/unicase/u32-suffix-context: Likewise.
25861         * modules/unicase/u32-tolower: Likewise.
25862         * modules/unicase/u32-totitle: Likewise.
25863         * modules/unicase/u32-toupper: Likewise.
25864         * modules/unicase/ulc-casecmp: Likewise.
25865         * modules/unicase/ulc-casecoll: Likewise.
25866         * modules/unicase/ulc-casexfrm: Likewise.
25867         * modules/uniconv/u8-conv-from-enc: Likewise.
25868         * modules/uniconv/u8-conv-to-enc: Likewise.
25869         * modules/uniconv/u8-strconv-from-enc: Likewise.
25870         * modules/uniconv/u8-strconv-from-locale: Likewise.
25871         * modules/uniconv/u8-strconv-to-enc: Likewise.
25872         * modules/uniconv/u8-strconv-to-locale: Likewise.
25873         * modules/uniconv/u16-conv-from-enc: Likewise.
25874         * modules/uniconv/u16-conv-to-enc: Likewise.
25875         * modules/uniconv/u16-strconv-from-enc: Likewise.
25876         * modules/uniconv/u16-strconv-from-locale: Likewise.
25877         * modules/uniconv/u16-strconv-to-enc: Likewise.
25878         * modules/uniconv/u16-strconv-to-locale: Likewise.
25879         * modules/uniconv/u32-conv-from-enc: Likewise.
25880         * modules/uniconv/u32-conv-to-enc: Likewise.
25881         * modules/uniconv/u32-strconv-from-enc: Likewise.
25882         * modules/uniconv/u32-strconv-from-locale: Likewise.
25883         * modules/uniconv/u32-strconv-to-enc: Likewise.
25884         * modules/uniconv/u32-strconv-to-locale: Likewise.
25885         * modules/unictype/bidicategory-byname: Likewise.
25886         * modules/unictype/bidicategory-name: Likewise.
25887         * modules/unictype/bidicategory-of: Likewise.
25888         * modules/unictype/bidicategory-test: Likewise.
25889         * modules/unictype/block-list: Likewise.
25890         * modules/unictype/block-test: Likewise.
25891         * modules/unictype/category-C: Likewise.
25892         * modules/unictype/category-Cc: Likewise.
25893         * modules/unictype/category-Cf: Likewise.
25894         * modules/unictype/category-Cn: Likewise.
25895         * modules/unictype/category-Co: Likewise.
25896         * modules/unictype/category-Cs: Likewise.
25897         * modules/unictype/category-L: Likewise.
25898         * modules/unictype/category-Ll: Likewise.
25899         * modules/unictype/category-Lm: Likewise.
25900         * modules/unictype/category-Lo: Likewise.
25901         * modules/unictype/category-Lt: Likewise.
25902         * modules/unictype/category-Lu: Likewise.
25903         * modules/unictype/category-M: Likewise.
25904         * modules/unictype/category-Mc: Likewise.
25905         * modules/unictype/category-Me: Likewise.
25906         * modules/unictype/category-Mn: Likewise.
25907         * modules/unictype/category-N: Likewise.
25908         * modules/unictype/category-Nd: Likewise.
25909         * modules/unictype/category-Nl: Likewise.
25910         * modules/unictype/category-No: Likewise.
25911         * modules/unictype/category-P: Likewise.
25912         * modules/unictype/category-Pc: Likewise.
25913         * modules/unictype/category-Pd: Likewise.
25914         * modules/unictype/category-Pe: Likewise.
25915         * modules/unictype/category-Pf: Likewise.
25916         * modules/unictype/category-Pi: Likewise.
25917         * modules/unictype/category-Po: Likewise.
25918         * modules/unictype/category-Ps: Likewise.
25919         * modules/unictype/category-S: Likewise.
25920         * modules/unictype/category-Sc: Likewise.
25921         * modules/unictype/category-Sk: Likewise.
25922         * modules/unictype/category-Sm: Likewise.
25923         * modules/unictype/category-So: Likewise.
25924         * modules/unictype/category-Z: Likewise.
25925         * modules/unictype/category-Zl: Likewise.
25926         * modules/unictype/category-Zp: Likewise.
25927         * modules/unictype/category-Zs: Likewise.
25928         * modules/unictype/category-and: Likewise.
25929         * modules/unictype/category-and-not: Likewise.
25930         * modules/unictype/category-byname: Likewise.
25931         * modules/unictype/category-name: Likewise.
25932         * modules/unictype/category-none: Likewise.
25933         * modules/unictype/category-of: Likewise.
25934         * modules/unictype/category-or: Likewise.
25935         * modules/unictype/category-test: Likewise.
25936         * modules/unictype/combining-class: Likewise.
25937         * modules/unictype/ctype-alnum: Likewise.
25938         * modules/unictype/ctype-alpha: Likewise.
25939         * modules/unictype/ctype-blank: Likewise.
25940         * modules/unictype/ctype-cntrl: Likewise.
25941         * modules/unictype/ctype-digit: Likewise.
25942         * modules/unictype/ctype-graph: Likewise.
25943         * modules/unictype/ctype-lower: Likewise.
25944         * modules/unictype/ctype-print: Likewise.
25945         * modules/unictype/ctype-punct: Likewise.
25946         * modules/unictype/ctype-space: Likewise.
25947         * modules/unictype/ctype-upper: Likewise.
25948         * modules/unictype/ctype-xdigit: Likewise.
25949         * modules/unictype/decimal-digit: Likewise.
25950         * modules/unictype/digit: Likewise.
25951         * modules/unictype/mirror: Likewise.
25952         * modules/unictype/numeric: Likewise.
25953         * modules/unictype/property-alphabetic: Likewise.
25954         * modules/unictype/property-ascii-hex-digit: Likewise.
25955         * modules/unictype/property-bidi-arabic-digit: Likewise.
25956         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
25957         * modules/unictype/property-bidi-block-separator: Likewise.
25958         * modules/unictype/property-bidi-boundary-neutral: Likewise.
25959         * modules/unictype/property-bidi-common-separator: Likewise.
25960         * modules/unictype/property-bidi-control: Likewise.
25961         * modules/unictype/property-bidi-embedding-or-override: Likewise.
25962         * modules/unictype/property-bidi-eur-num-separator: Likewise.
25963         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
25964         * modules/unictype/property-bidi-european-digit: Likewise.
25965         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
25966         * modules/unictype/property-bidi-left-to-right: Likewise.
25967         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
25968         * modules/unictype/property-bidi-other-neutral: Likewise.
25969         * modules/unictype/property-bidi-pdf: Likewise.
25970         * modules/unictype/property-bidi-segment-separator: Likewise.
25971         * modules/unictype/property-bidi-whitespace: Likewise.
25972         * modules/unictype/property-byname: Likewise.
25973         * modules/unictype/property-combining: Likewise.
25974         * modules/unictype/property-composite: Likewise.
25975         * modules/unictype/property-currency-symbol: Likewise.
25976         * modules/unictype/property-dash: Likewise.
25977         * modules/unictype/property-decimal-digit: Likewise.
25978         * modules/unictype/property-default-ignorable-code-point: Likewise.
25979         * modules/unictype/property-deprecated: Likewise.
25980         * modules/unictype/property-diacritic: Likewise.
25981         * modules/unictype/property-extender: Likewise.
25982         * modules/unictype/property-format-control: Likewise.
25983         * modules/unictype/property-grapheme-base: Likewise.
25984         * modules/unictype/property-grapheme-extend: Likewise.
25985         * modules/unictype/property-grapheme-link: Likewise.
25986         * modules/unictype/property-hex-digit: Likewise.
25987         * modules/unictype/property-hyphen: Likewise.
25988         * modules/unictype/property-id-continue: Likewise.
25989         * modules/unictype/property-id-start: Likewise.
25990         * modules/unictype/property-ideographic: Likewise.
25991         * modules/unictype/property-ids-binary-operator: Likewise.
25992         * modules/unictype/property-ids-trinary-operator: Likewise.
25993         * modules/unictype/property-ignorable-control: Likewise.
25994         * modules/unictype/property-iso-control: Likewise.
25995         * modules/unictype/property-join-control: Likewise.
25996         * modules/unictype/property-left-of-pair: Likewise.
25997         * modules/unictype/property-line-separator: Likewise.
25998         * modules/unictype/property-logical-order-exception: Likewise.
25999         * modules/unictype/property-lowercase: Likewise.
26000         * modules/unictype/property-math: Likewise.
26001         * modules/unictype/property-non-break: Likewise.
26002         * modules/unictype/property-not-a-character: Likewise.
26003         * modules/unictype/property-numeric: Likewise.
26004         * modules/unictype/property-other-alphabetic: Likewise.
26005         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
26006         * modules/unictype/property-other-grapheme-extend: Likewise.
26007         * modules/unictype/property-other-id-continue: Likewise.
26008         * modules/unictype/property-other-id-start: Likewise.
26009         * modules/unictype/property-other-lowercase: Likewise.
26010         * modules/unictype/property-other-math: Likewise.
26011         * modules/unictype/property-other-uppercase: Likewise.
26012         * modules/unictype/property-paired-punctuation: Likewise.
26013         * modules/unictype/property-paragraph-separator: Likewise.
26014         * modules/unictype/property-pattern-syntax: Likewise.
26015         * modules/unictype/property-pattern-white-space: Likewise.
26016         * modules/unictype/property-private-use: Likewise.
26017         * modules/unictype/property-punctuation: Likewise.
26018         * modules/unictype/property-quotation-mark: Likewise.
26019         * modules/unictype/property-radical: Likewise.
26020         * modules/unictype/property-sentence-terminal: Likewise.
26021         * modules/unictype/property-soft-dotted: Likewise.
26022         * modules/unictype/property-space: Likewise.
26023         * modules/unictype/property-terminal-punctuation: Likewise.
26024         * modules/unictype/property-test: Likewise.
26025         * modules/unictype/property-titlecase: Likewise.
26026         * modules/unictype/property-unassigned-code-value: Likewise.
26027         * modules/unictype/property-unified-ideograph: Likewise.
26028         * modules/unictype/property-uppercase: Likewise.
26029         * modules/unictype/property-variation-selector: Likewise.
26030         * modules/unictype/property-white-space: Likewise.
26031         * modules/unictype/property-xid-continue: Likewise.
26032         * modules/unictype/property-xid-start: Likewise.
26033         * modules/unictype/property-zero-width: Likewise.
26034         * modules/unictype/scripts: Likewise.
26035         * modules/unictype/syntax-c-ident: Likewise.
26036         * modules/unictype/syntax-c-whitespace: Likewise.
26037         * modules/unictype/syntax-java-ident: Likewise.
26038         * modules/unictype/syntax-java-whitespace: Likewise.
26039         * modules/unilbrk/u8-possible-linebreaks: Likewise.
26040         * modules/unilbrk/u8-width-linebreaks: Likewise.
26041         * modules/unilbrk/u16-possible-linebreaks: Likewise.
26042         * modules/unilbrk/u16-width-linebreaks: Likewise.
26043         * modules/unilbrk/u32-possible-linebreaks: Likewise.
26044         * modules/unilbrk/u32-width-linebreaks: Likewise.
26045         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
26046         * modules/unilbrk/ulc-width-linebreaks: Likewise.
26047         * modules/uniname/uniname: Likewise.
26048         * modules/uninorm/canonical-decomposition: Likewise.
26049         * modules/uninorm/composition: Likewise.
26050         * modules/uninorm/decomposing-form: Likewise.
26051         * modules/uninorm/decomposition: Likewise.
26052         * modules/uninorm/filter: Likewise.
26053         * modules/uninorm/nfc: Likewise.
26054         * modules/uninorm/nfd: Likewise.
26055         * modules/uninorm/nfkc: Likewise.
26056         * modules/uninorm/nfkd: Likewise.
26057         * modules/uninorm/u8-normalize: Likewise.
26058         * modules/uninorm/u8-normcmp: Likewise.
26059         * modules/uninorm/u8-normcoll: Likewise.
26060         * modules/uninorm/u8-normxfrm: Likewise.
26061         * modules/uninorm/u16-normalize: Likewise.
26062         * modules/uninorm/u16-normcmp: Likewise.
26063         * modules/uninorm/u16-normcoll: Likewise.
26064         * modules/uninorm/u16-normxfrm: Likewise.
26065         * modules/uninorm/u32-normalize: Likewise.
26066         * modules/uninorm/u32-normcmp: Likewise.
26067         * modules/uninorm/u32-normcoll: Likewise.
26068         * modules/uninorm/u32-normxfrm: Likewise.
26069         * modules/unistdio/u8-asnprintf: Likewise.
26070         * modules/unistdio/u8-asprintf: Likewise.
26071         * modules/unistdio/u8-snprintf: Likewise.
26072         * modules/unistdio/u8-sprintf: Likewise.
26073         * modules/unistdio/u8-u8-asnprintf: Likewise.
26074         * modules/unistdio/u8-u8-asprintf: Likewise.
26075         * modules/unistdio/u8-u8-snprintf: Likewise.
26076         * modules/unistdio/u8-u8-sprintf: Likewise.
26077         * modules/unistdio/u8-u8-vasnprintf: Likewise.
26078         * modules/unistdio/u8-u8-vasprintf: Likewise.
26079         * modules/unistdio/u8-u8-vsnprintf: Likewise.
26080         * modules/unistdio/u8-u8-vsprintf: Likewise.
26081         * modules/unistdio/u8-vasnprintf: Likewise.
26082         * modules/unistdio/u8-vasprintf: Likewise.
26083         * modules/unistdio/u8-vsnprintf: Likewise.
26084         * modules/unistdio/u8-vsprintf: Likewise.
26085         * modules/unistdio/u16-asnprintf: Likewise.
26086         * modules/unistdio/u16-asprintf: Likewise.
26087         * modules/unistdio/u16-snprintf: Likewise.
26088         * modules/unistdio/u16-sprintf: Likewise.
26089         * modules/unistdio/u16-u16-asnprintf: Likewise.
26090         * modules/unistdio/u16-u16-asprintf: Likewise.
26091         * modules/unistdio/u16-u16-snprintf: Likewise.
26092         * modules/unistdio/u16-u16-sprintf: Likewise.
26093         * modules/unistdio/u16-u16-vasnprintf: Likewise.
26094         * modules/unistdio/u16-u16-vasprintf: Likewise.
26095         * modules/unistdio/u16-u16-vsnprintf: Likewise.
26096         * modules/unistdio/u16-u16-vsprintf: Likewise.
26097         * modules/unistdio/u16-vasnprintf: Likewise.
26098         * modules/unistdio/u16-vasprintf: Likewise.
26099         * modules/unistdio/u16-vsnprintf: Likewise.
26100         * modules/unistdio/u16-vsprintf: Likewise.
26101         * modules/unistdio/u32-asnprintf: Likewise.
26102         * modules/unistdio/u32-asprintf: Likewise.
26103         * modules/unistdio/u32-snprintf: Likewise.
26104         * modules/unistdio/u32-sprintf: Likewise.
26105         * modules/unistdio/u32-u32-asnprintf: Likewise.
26106         * modules/unistdio/u32-u32-asprintf: Likewise.
26107         * modules/unistdio/u32-u32-snprintf: Likewise.
26108         * modules/unistdio/u32-u32-sprintf: Likewise.
26109         * modules/unistdio/u32-u32-vasnprintf: Likewise.
26110         * modules/unistdio/u32-u32-vasprintf: Likewise.
26111         * modules/unistdio/u32-u32-vsnprintf: Likewise.
26112         * modules/unistdio/u32-u32-vsprintf: Likewise.
26113         * modules/unistdio/u32-vasnprintf: Likewise.
26114         * modules/unistdio/u32-vasprintf: Likewise.
26115         * modules/unistdio/u32-vsnprintf: Likewise.
26116         * modules/unistdio/u32-vsprintf: Likewise.
26117         * modules/unistdio/ulc-asnprintf: Likewise.
26118         * modules/unistdio/ulc-asprintf: Likewise.
26119         * modules/unistdio/ulc-fprintf: Likewise.
26120         * modules/unistdio/ulc-snprintf: Likewise.
26121         * modules/unistdio/ulc-sprintf: Likewise.
26122         * modules/unistdio/ulc-vasnprintf: Likewise.
26123         * modules/unistdio/ulc-vasprintf: Likewise.
26124         * modules/unistdio/ulc-vfprintf: Likewise.
26125         * modules/unistdio/ulc-vsnprintf: Likewise.
26126         * modules/unistdio/ulc-vsprintf: Likewise.
26127         * modules/unistr/u8-check: Likewise.
26128         * modules/unistr/u8-chr: Likewise.
26129         * modules/unistr/u8-cmp: Likewise.
26130         * modules/unistr/u8-cmp2: Likewise.
26131         * modules/unistr/u8-cpy: Likewise.
26132         * modules/unistr/u8-cpy-alloc: Likewise.
26133         * modules/unistr/u8-endswith: Likewise.
26134         * modules/unistr/u8-mblen: Likewise.
26135         * modules/unistr/u8-mbsnlen: Likewise.
26136         * modules/unistr/u8-mbtouc: Likewise.
26137         * modules/unistr/u8-mbtouc-unsafe: Likewise.
26138         * modules/unistr/u8-mbtoucr: Likewise.
26139         * modules/unistr/u8-move: Likewise.
26140         * modules/unistr/u8-next: Likewise.
26141         * modules/unistr/u8-prev: Likewise.
26142         * modules/unistr/u8-set: Likewise.
26143         * modules/unistr/u8-startswith: Likewise.
26144         * modules/unistr/u8-stpcpy: Likewise.
26145         * modules/unistr/u8-stpncpy: Likewise.
26146         * modules/unistr/u8-strcat: Likewise.
26147         * modules/unistr/u8-strchr: Likewise.
26148         * modules/unistr/u8-strcmp: Likewise.
26149         * modules/unistr/u8-strcoll: Likewise.
26150         * modules/unistr/u8-strcpy: Likewise.
26151         * modules/unistr/u8-strcspn: Likewise.
26152         * modules/unistr/u8-strdup: Likewise.
26153         * modules/unistr/u8-strlen: Likewise.
26154         * modules/unistr/u8-strmblen: Likewise.
26155         * modules/unistr/u8-strmbtouc: Likewise.
26156         * modules/unistr/u8-strncat: Likewise.
26157         * modules/unistr/u8-strncmp: Likewise.
26158         * modules/unistr/u8-strncpy: Likewise.
26159         * modules/unistr/u8-strnlen: Likewise.
26160         * modules/unistr/u8-strpbrk: Likewise.
26161         * modules/unistr/u8-strrchr: Likewise.
26162         * modules/unistr/u8-strspn: Likewise.
26163         * modules/unistr/u8-strstr: Likewise.
26164         * modules/unistr/u8-strtok: Likewise.
26165         * modules/unistr/u8-to-u16: Likewise.
26166         * modules/unistr/u8-to-u32: Likewise.
26167         * modules/unistr/u8-uctomb: Likewise.
26168         * modules/unistr/u16-check: Likewise.
26169         * modules/unistr/u16-chr: Likewise.
26170         * modules/unistr/u16-cmp: Likewise.
26171         * modules/unistr/u16-cmp2: Likewise.
26172         * modules/unistr/u16-cpy: Likewise.
26173         * modules/unistr/u16-cpy-alloc: Likewise.
26174         * modules/unistr/u16-endswith: Likewise.
26175         * modules/unistr/u16-mblen: Likewise.
26176         * modules/unistr/u16-mbsnlen: Likewise.
26177         * modules/unistr/u16-mbtouc: Likewise.
26178         * modules/unistr/u16-mbtouc-unsafe: Likewise.
26179         * modules/unistr/u16-mbtoucr: Likewise.
26180         * modules/unistr/u16-move: Likewise.
26181         * modules/unistr/u16-next: Likewise.
26182         * modules/unistr/u16-prev: Likewise.
26183         * modules/unistr/u16-set: Likewise.
26184         * modules/unistr/u16-startswith: Likewise.
26185         * modules/unistr/u16-stpcpy: Likewise.
26186         * modules/unistr/u16-stpncpy: Likewise.
26187         * modules/unistr/u16-strcat: Likewise.
26188         * modules/unistr/u16-strchr: Likewise.
26189         * modules/unistr/u16-strcmp: Likewise.
26190         * modules/unistr/u16-strcoll: Likewise.
26191         * modules/unistr/u16-strcpy: Likewise.
26192         * modules/unistr/u16-strcspn: Likewise.
26193         * modules/unistr/u16-strdup: Likewise.
26194         * modules/unistr/u16-strlen: Likewise.
26195         * modules/unistr/u16-strmblen: Likewise.
26196         * modules/unistr/u16-strmbtouc: Likewise.
26197         * modules/unistr/u16-strncat: Likewise.
26198         * modules/unistr/u16-strncmp: Likewise.
26199         * modules/unistr/u16-strncpy: Likewise.
26200         * modules/unistr/u16-strnlen: Likewise.
26201         * modules/unistr/u16-strpbrk: Likewise.
26202         * modules/unistr/u16-strrchr: Likewise.
26203         * modules/unistr/u16-strspn: Likewise.
26204         * modules/unistr/u16-strstr: Likewise.
26205         * modules/unistr/u16-strtok: Likewise.
26206         * modules/unistr/u16-to-u32: Likewise.
26207         * modules/unistr/u16-to-u8: Likewise.
26208         * modules/unistr/u16-uctomb: Likewise.
26209         * modules/unistr/u32-check: Likewise.
26210         * modules/unistr/u32-chr: Likewise.
26211         * modules/unistr/u32-cmp: Likewise.
26212         * modules/unistr/u32-cmp2: Likewise.
26213         * modules/unistr/u32-cpy: Likewise.
26214         * modules/unistr/u32-cpy-alloc: Likewise.
26215         * modules/unistr/u32-endswith: Likewise.
26216         * modules/unistr/u32-mblen: Likewise.
26217         * modules/unistr/u32-mbsnlen: Likewise.
26218         * modules/unistr/u32-mbtouc: Likewise.
26219         * modules/unistr/u32-mbtouc-unsafe: Likewise.
26220         * modules/unistr/u32-mbtoucr: Likewise.
26221         * modules/unistr/u32-move: Likewise.
26222         * modules/unistr/u32-next: Likewise.
26223         * modules/unistr/u32-prev: Likewise.
26224         * modules/unistr/u32-set: Likewise.
26225         * modules/unistr/u32-startswith: Likewise.
26226         * modules/unistr/u32-stpcpy: Likewise.
26227         * modules/unistr/u32-stpncpy: Likewise.
26228         * modules/unistr/u32-strcat: Likewise.
26229         * modules/unistr/u32-strchr: Likewise.
26230         * modules/unistr/u32-strcmp: Likewise.
26231         * modules/unistr/u32-strcoll: Likewise.
26232         * modules/unistr/u32-strcpy: Likewise.
26233         * modules/unistr/u32-strcspn: Likewise.
26234         * modules/unistr/u32-strdup: Likewise.
26235         * modules/unistr/u32-strlen: Likewise.
26236         * modules/unistr/u32-strmblen: Likewise.
26237         * modules/unistr/u32-strmbtouc: Likewise.
26238         * modules/unistr/u32-strncat: Likewise.
26239         * modules/unistr/u32-strncmp: Likewise.
26240         * modules/unistr/u32-strncpy: Likewise.
26241         * modules/unistr/u32-strnlen: Likewise.
26242         * modules/unistr/u32-strpbrk: Likewise.
26243         * modules/unistr/u32-strrchr: Likewise.
26244         * modules/unistr/u32-strspn: Likewise.
26245         * modules/unistr/u32-strstr: Likewise.
26246         * modules/unistr/u32-strtok: Likewise.
26247         * modules/unistr/u32-to-u16: Likewise.
26248         * modules/unistr/u32-to-u8: Likewise.
26249         * modules/unistr/u32-uctomb: Likewise.
26250         * modules/uniwbrk/u8-wordbreaks: Likewise.
26251         * modules/uniwbrk/u16-wordbreaks: Likewise.
26252         * modules/uniwbrk/u32-wordbreaks: Likewise.
26253         * modules/uniwbrk/ulc-wordbreaks: Likewise.
26254         * modules/uniwbrk/wordbreak-property: Likewise.
26255         * modules/uniwidth/u8-strwidth: Likewise.
26256         * modules/uniwidth/u8-width: Likewise.
26257         * modules/uniwidth/u16-strwidth: Likewise.
26258         * modules/uniwidth/u16-width: Likewise.
26259         * modules/uniwidth/u32-strwidth: Likewise.
26260         * modules/uniwidth/u32-width: Likewise.
26261         * modules/uniwidth/width: Likewise.
26262         * modules/unicase/cased-tests (Makefile.am): Link all test programs
26263         with $(LIBUNISTRING).
26264         * modules/unicase/ignorable-tests: Likewise.
26265         * modules/unicase/locale-language-tests: Likewise.
26266         * modules/unicase/tolower-tests: Likewise.
26267         * modules/unicase/totitle-tests: Likewise.
26268         * modules/unicase/toupper-tests: Likewise.
26269         * modules/unicase/u8-casecmp-tests: Likewise.
26270         * modules/unicase/u8-casecoll-tests: Likewise.
26271         * modules/unicase/u8-casefold-tests: Likewise.
26272         * modules/unicase/u8-is-cased-tests: Likewise.
26273         * modules/unicase/u8-is-casefolded-tests: Likewise.
26274         * modules/unicase/u8-is-lowercase-tests: Likewise.
26275         * modules/unicase/u8-is-titlecase-tests: Likewise.
26276         * modules/unicase/u8-is-uppercase-tests: Likewise.
26277         * modules/unicase/u8-tolower-tests: Likewise.
26278         * modules/unicase/u8-totitle-tests: Likewise.
26279         * modules/unicase/u8-toupper-tests: Likewise.
26280         * modules/unicase/u16-casecmp-tests: Likewise.
26281         * modules/unicase/u16-casecoll-tests: Likewise.
26282         * modules/unicase/u16-casefold-tests: Likewise.
26283         * modules/unicase/u16-is-cased-tests: Likewise.
26284         * modules/unicase/u16-is-casefolded-tests: Likewise.
26285         * modules/unicase/u16-is-lowercase-tests: Likewise.
26286         * modules/unicase/u16-is-titlecase-tests: Likewise.
26287         * modules/unicase/u16-is-uppercase-tests: Likewise.
26288         * modules/unicase/u16-tolower-tests: Likewise.
26289         * modules/unicase/u16-totitle-tests: Likewise.
26290         * modules/unicase/u16-toupper-tests: Likewise.
26291         * modules/unicase/u32-casecmp-tests: Likewise.
26292         * modules/unicase/u32-casecoll-tests: Likewise.
26293         * modules/unicase/u32-casefold-tests: Likewise.
26294         * modules/unicase/u32-is-cased-tests: Likewise.
26295         * modules/unicase/u32-is-casefolded-tests: Likewise.
26296         * modules/unicase/u32-is-lowercase-tests: Likewise.
26297         * modules/unicase/u32-is-titlecase-tests: Likewise.
26298         * modules/unicase/u32-is-uppercase-tests: Likewise.
26299         * modules/unicase/u32-tolower-tests: Likewise.
26300         * modules/unicase/u32-totitle-tests: Likewise.
26301         * modules/unicase/u32-toupper-tests: Likewise.
26302         * modules/unicase/ulc-casecmp-tests: Likewise.
26303         * modules/unicase/ulc-casecoll-tests: Likewise.
26304         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
26305         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
26306         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
26307         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
26308         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
26309         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
26310         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
26311         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
26312         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
26313         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
26314         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
26315         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
26316         * modules/unictype/bidicategory-byname-tests: Likewise.
26317         * modules/unictype/bidicategory-name-tests: Likewise.
26318         * modules/unictype/bidicategory-of-tests: Likewise.
26319         * modules/unictype/bidicategory-test-tests: Likewise.
26320         * modules/unictype/block-list-tests: Likewise.
26321         * modules/unictype/block-of-tests: Likewise.
26322         * modules/unictype/block-test-tests: Likewise.
26323         * modules/unictype/category-C-tests: Likewise.
26324         * modules/unictype/category-Cc-tests: Likewise.
26325         * modules/unictype/category-Cf-tests: Likewise.
26326         * modules/unictype/category-Cn-tests: Likewise.
26327         * modules/unictype/category-Co-tests: Likewise.
26328         * modules/unictype/category-Cs-tests: Likewise.
26329         * modules/unictype/category-L-tests: Likewise.
26330         * modules/unictype/category-Ll-tests: Likewise.
26331         * modules/unictype/category-Lm-tests: Likewise.
26332         * modules/unictype/category-Lo-tests: Likewise.
26333         * modules/unictype/category-Lt-tests: Likewise.
26334         * modules/unictype/category-Lu-tests: Likewise.
26335         * modules/unictype/category-M-tests: Likewise.
26336         * modules/unictype/category-Mc-tests: Likewise.
26337         * modules/unictype/category-Me-tests: Likewise.
26338         * modules/unictype/category-Mn-tests: Likewise.
26339         * modules/unictype/category-N-tests: Likewise.
26340         * modules/unictype/category-Nd-tests: Likewise.
26341         * modules/unictype/category-Nl-tests: Likewise.
26342         * modules/unictype/category-No-tests: Likewise.
26343         * modules/unictype/category-P-tests: Likewise.
26344         * modules/unictype/category-Pc-tests: Likewise.
26345         * modules/unictype/category-Pd-tests: Likewise.
26346         * modules/unictype/category-Pe-tests: Likewise.
26347         * modules/unictype/category-Pf-tests: Likewise.
26348         * modules/unictype/category-Pi-tests: Likewise.
26349         * modules/unictype/category-Po-tests: Likewise.
26350         * modules/unictype/category-Ps-tests: Likewise.
26351         * modules/unictype/category-S-tests: Likewise.
26352         * modules/unictype/category-Sc-tests: Likewise.
26353         * modules/unictype/category-Sk-tests: Likewise.
26354         * modules/unictype/category-Sm-tests: Likewise.
26355         * modules/unictype/category-So-tests: Likewise.
26356         * modules/unictype/category-Z-tests: Likewise.
26357         * modules/unictype/category-Zl-tests: Likewise.
26358         * modules/unictype/category-Zp-tests: Likewise.
26359         * modules/unictype/category-Zs-tests: Likewise.
26360         * modules/unictype/category-and-not-tests: Likewise.
26361         * modules/unictype/category-and-tests: Likewise.
26362         * modules/unictype/category-byname-tests: Likewise.
26363         * modules/unictype/category-name-tests: Likewise.
26364         * modules/unictype/category-none-tests: Likewise.
26365         * modules/unictype/category-of-tests: Likewise.
26366         * modules/unictype/category-or-tests: Likewise.
26367         * modules/unictype/category-test-withtable-tests: Likewise.
26368         * modules/unictype/combining-class-tests: Likewise.
26369         * modules/unictype/ctype-alnum-tests: Likewise.
26370         * modules/unictype/ctype-alpha-tests: Likewise.
26371         * modules/unictype/ctype-blank-tests: Likewise.
26372         * modules/unictype/ctype-cntrl-tests: Likewise.
26373         * modules/unictype/ctype-digit-tests: Likewise.
26374         * modules/unictype/ctype-graph-tests: Likewise.
26375         * modules/unictype/ctype-lower-tests: Likewise.
26376         * modules/unictype/ctype-print-tests: Likewise.
26377         * modules/unictype/ctype-punct-tests: Likewise.
26378         * modules/unictype/ctype-space-tests: Likewise.
26379         * modules/unictype/ctype-upper-tests: Likewise.
26380         * modules/unictype/ctype-xdigit-tests: Likewise.
26381         * modules/unictype/decimal-digit-tests: Likewise.
26382         * modules/unictype/digit-tests: Likewise.
26383         * modules/unictype/mirror-tests: Likewise.
26384         * modules/unictype/numeric-tests: Likewise.
26385         * modules/unictype/property-alphabetic-tests: Likewise.
26386         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
26387         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
26388         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
26389         * modules/unictype/property-bidi-block-separator-tests: Likewise.
26390         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
26391         * modules/unictype/property-bidi-common-separator-tests: Likewise.
26392         * modules/unictype/property-bidi-control-tests: Likewise.
26393         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
26394         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
26395         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
26396         * modules/unictype/property-bidi-european-digit-tests: Likewise.
26397         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
26398         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
26399         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
26400         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
26401         * modules/unictype/property-bidi-pdf-tests: Likewise.
26402         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
26403         * modules/unictype/property-bidi-whitespace-tests: Likewise.
26404         * modules/unictype/property-byname-tests: Likewise.
26405         * modules/unictype/property-combining-tests: Likewise.
26406         * modules/unictype/property-composite-tests: Likewise.
26407         * modules/unictype/property-currency-symbol-tests: Likewise.
26408         * modules/unictype/property-dash-tests: Likewise.
26409         * modules/unictype/property-decimal-digit-tests: Likewise.
26410         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
26411         * modules/unictype/property-deprecated-tests: Likewise.
26412         * modules/unictype/property-diacritic-tests: Likewise.
26413         * modules/unictype/property-extender-tests: Likewise.
26414         * modules/unictype/property-format-control-tests: Likewise.
26415         * modules/unictype/property-grapheme-base-tests: Likewise.
26416         * modules/unictype/property-grapheme-extend-tests: Likewise.
26417         * modules/unictype/property-grapheme-link-tests: Likewise.
26418         * modules/unictype/property-hex-digit-tests: Likewise.
26419         * modules/unictype/property-hyphen-tests: Likewise.
26420         * modules/unictype/property-id-continue-tests: Likewise.
26421         * modules/unictype/property-id-start-tests: Likewise.
26422         * modules/unictype/property-ideographic-tests: Likewise.
26423         * modules/unictype/property-ids-binary-operator-tests: Likewise.
26424         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
26425         * modules/unictype/property-ignorable-control-tests: Likewise.
26426         * modules/unictype/property-iso-control-tests: Likewise.
26427         * modules/unictype/property-join-control-tests: Likewise.
26428         * modules/unictype/property-left-of-pair-tests: Likewise.
26429         * modules/unictype/property-line-separator-tests: Likewise.
26430         * modules/unictype/property-logical-order-exception-tests: Likewise.
26431         * modules/unictype/property-lowercase-tests: Likewise.
26432         * modules/unictype/property-math-tests: Likewise.
26433         * modules/unictype/property-non-break-tests: Likewise.
26434         * modules/unictype/property-not-a-character-tests: Likewise.
26435         * modules/unictype/property-numeric-tests: Likewise.
26436         * modules/unictype/property-other-alphabetic-tests: Likewise.
26437         * modules/unictype/property-other-default-ignorable-code-point-tests:
26438         Likewise.
26439         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
26440         * modules/unictype/property-other-id-continue-tests: Likewise.
26441         * modules/unictype/property-other-id-start-tests: Likewise.
26442         * modules/unictype/property-other-lowercase-tests: Likewise.
26443         * modules/unictype/property-other-math-tests: Likewise.
26444         * modules/unictype/property-other-uppercase-tests: Likewise.
26445         * modules/unictype/property-paired-punctuation-tests: Likewise.
26446         * modules/unictype/property-paragraph-separator-tests: Likewise.
26447         * modules/unictype/property-pattern-syntax-tests: Likewise.
26448         * modules/unictype/property-pattern-white-space-tests: Likewise.
26449         * modules/unictype/property-private-use-tests: Likewise.
26450         * modules/unictype/property-punctuation-tests: Likewise.
26451         * modules/unictype/property-quotation-mark-tests: Likewise.
26452         * modules/unictype/property-radical-tests: Likewise.
26453         * modules/unictype/property-sentence-terminal-tests: Likewise.
26454         * modules/unictype/property-soft-dotted-tests: Likewise.
26455         * modules/unictype/property-space-tests: Likewise.
26456         * modules/unictype/property-terminal-punctuation-tests: Likewise.
26457         * modules/unictype/property-test-tests: Likewise.
26458         * modules/unictype/property-titlecase-tests: Likewise.
26459         * modules/unictype/property-unassigned-code-value-tests: Likewise.
26460         * modules/unictype/property-unified-ideograph-tests: Likewise.
26461         * modules/unictype/property-uppercase-tests: Likewise.
26462         * modules/unictype/property-variation-selector-tests: Likewise.
26463         * modules/unictype/property-white-space-tests: Likewise.
26464         * modules/unictype/property-xid-continue-tests: Likewise.
26465         * modules/unictype/property-xid-start-tests: Likewise.
26466         * modules/unictype/property-zero-width-tests: Likewise.
26467         * modules/unictype/scripts-tests: Likewise.
26468         * modules/unictype/syntax-c-ident-tests: Likewise.
26469         * modules/unictype/syntax-c-whitespace-tests: Likewise.
26470         * modules/unictype/syntax-java-ident-tests: Likewise.
26471         * modules/unictype/syntax-java-whitespace-tests: Likewise.
26472         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
26473         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
26474         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
26475         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
26476         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
26477         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
26478         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
26479         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
26480         * modules/uniname/uniname-tests: Likewise.
26481         * modules/uninorm/canonical-decomposition-tests: Likewise.
26482         * modules/uninorm/compat-decomposition-tests: Likewise.
26483         * modules/uninorm/composition-tests: Likewise.
26484         * modules/uninorm/decomposing-form-tests: Likewise.
26485         * modules/uninorm/decomposition-tests: Likewise.
26486         * modules/uninorm/filter-tests: Likewise.
26487         * modules/uninorm/nfc-tests: Likewise.
26488         * modules/uninorm/nfd-tests: Likewise.
26489         * modules/uninorm/nfkc-tests: Likewise.
26490         * modules/uninorm/nfkd-tests: Likewise.
26491         * modules/uninorm/u8-normcmp-tests: Likewise.
26492         * modules/uninorm/u8-normcoll-tests: Likewise.
26493         * modules/uninorm/u16-normcmp-tests: Likewise.
26494         * modules/uninorm/u16-normcoll-tests: Likewise.
26495         * modules/uninorm/u32-normcmp-tests: Likewise.
26496         * modules/uninorm/u32-normcoll-tests: Likewise.
26497         * modules/unistdio/u8-asnprintf-tests: Likewise.
26498         * modules/unistdio/u8-vasnprintf-tests: Likewise.
26499         * modules/unistdio/u8-vasprintf-tests: Likewise.
26500         * modules/unistdio/u8-vsnprintf-tests: Likewise.
26501         * modules/unistdio/u8-vsprintf-tests: Likewise.
26502         * modules/unistdio/u16-asnprintf-tests: Likewise.
26503         * modules/unistdio/u16-vasnprintf-tests: Likewise.
26504         * modules/unistdio/u16-vasprintf-tests: Likewise.
26505         * modules/unistdio/u16-vsnprintf-tests: Likewise.
26506         * modules/unistdio/u16-vsprintf-tests: Likewise.
26507         * modules/unistdio/u32-asnprintf-tests: Likewise.
26508         * modules/unistdio/u32-vasnprintf-tests: Likewise.
26509         * modules/unistdio/u32-vasprintf-tests: Likewise.
26510         * modules/unistdio/u32-vsnprintf-tests: Likewise.
26511         * modules/unistdio/u32-vsprintf-tests: Likewise.
26512         * modules/unistdio/ulc-asnprintf-tests: Likewise.
26513         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
26514         * modules/unistdio/ulc-vasprintf-tests: Likewise.
26515         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
26516         * modules/unistdio/ulc-vsprintf-tests: Likewise.
26517         * modules/unistr/u8-check-tests: Likewise.
26518         * modules/unistr/u8-chr-tests: Likewise.
26519         * modules/unistr/u8-cmp-tests: Likewise.
26520         * modules/unistr/u8-cmp2-tests: Likewise.
26521         * modules/unistr/u8-cpy-alloc-tests: Likewise.
26522         * modules/unistr/u8-cpy-tests: Likewise.
26523         * modules/unistr/u8-mblen-tests: Likewise.
26524         * modules/unistr/u8-mbsnlen-tests: Likewise.
26525         * modules/unistr/u8-mbtouc-tests: Likewise.
26526         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
26527         * modules/unistr/u8-mbtoucr-tests: Likewise.
26528         * modules/unistr/u8-move-tests: Likewise.
26529         * modules/unistr/u8-next-tests: Likewise.
26530         * modules/unistr/u8-prev-tests: Likewise.
26531         * modules/unistr/u8-set-tests: Likewise.
26532         * modules/unistr/u8-stpcpy-tests: Likewise.
26533         * modules/unistr/u8-stpncpy-tests: Likewise.
26534         * modules/unistr/u8-strcat-tests: Likewise.
26535         * modules/unistr/u8-strcmp-tests: Likewise.
26536         * modules/unistr/u8-strcoll-tests: Likewise.
26537         * modules/unistr/u8-strcpy-tests: Likewise.
26538         * modules/unistr/u8-strdup-tests: Likewise.
26539         * modules/unistr/u8-strlen-tests: Likewise.
26540         * modules/unistr/u8-strmblen-tests: Likewise.
26541         * modules/unistr/u8-strmbtouc-tests: Likewise.
26542         * modules/unistr/u8-strncat-tests: Likewise.
26543         * modules/unistr/u8-strncmp-tests: Likewise.
26544         * modules/unistr/u8-strncpy-tests: Likewise.
26545         * modules/unistr/u8-strnlen-tests: Likewise.
26546         * modules/unistr/u8-to-u16-tests: Likewise.
26547         * modules/unistr/u8-to-u32-tests: Likewise.
26548         * modules/unistr/u8-uctomb-tests: Likewise.
26549         * modules/unistr/u16-check-tests: Likewise.
26550         * modules/unistr/u16-chr-tests: Likewise.
26551         * modules/unistr/u16-cmp-tests: Likewise.
26552         * modules/unistr/u16-cmp2-tests: Likewise.
26553         * modules/unistr/u16-cpy-alloc-tests: Likewise.
26554         * modules/unistr/u16-cpy-tests: Likewise.
26555         * modules/unistr/u16-mblen-tests: Likewise.
26556         * modules/unistr/u16-mbsnlen-tests: Likewise.
26557         * modules/unistr/u16-mbtouc-tests: Likewise.
26558         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
26559         * modules/unistr/u16-mbtoucr-tests: Likewise.
26560         * modules/unistr/u16-move-tests: Likewise.
26561         * modules/unistr/u16-next-tests: Likewise.
26562         * modules/unistr/u16-prev-tests: Likewise.
26563         * modules/unistr/u16-set-tests: Likewise.
26564         * modules/unistr/u16-stpcpy-tests: Likewise.
26565         * modules/unistr/u16-stpncpy-tests: Likewise.
26566         * modules/unistr/u16-strcat-tests: Likewise.
26567         * modules/unistr/u16-strcmp-tests: Likewise.
26568         * modules/unistr/u16-strcoll-tests: Likewise.
26569         * modules/unistr/u16-strcpy-tests: Likewise.
26570         * modules/unistr/u16-strdup-tests: Likewise.
26571         * modules/unistr/u16-strlen-tests: Likewise.
26572         * modules/unistr/u16-strmblen-tests: Likewise.
26573         * modules/unistr/u16-strmbtouc-tests: Likewise.
26574         * modules/unistr/u16-strncat-tests: Likewise.
26575         * modules/unistr/u16-strncmp-tests: Likewise.
26576         * modules/unistr/u16-strncpy-tests: Likewise.
26577         * modules/unistr/u16-strnlen-tests: Likewise.
26578         * modules/unistr/u16-to-u32-tests: Likewise.
26579         * modules/unistr/u16-to-u8-tests: Likewise.
26580         * modules/unistr/u16-uctomb-tests: Likewise.
26581         * modules/unistr/u32-check-tests: Likewise.
26582         * modules/unistr/u32-chr-tests: Likewise.
26583         * modules/unistr/u32-cmp-tests: Likewise.
26584         * modules/unistr/u32-cmp2-tests: Likewise.
26585         * modules/unistr/u32-cpy-alloc-tests: Likewise.
26586         * modules/unistr/u32-cpy-tests: Likewise.
26587         * modules/unistr/u32-mblen-tests: Likewise.
26588         * modules/unistr/u32-mbsnlen-tests: Likewise.
26589         * modules/unistr/u32-mbtouc-tests: Likewise.
26590         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
26591         * modules/unistr/u32-mbtoucr-tests: Likewise.
26592         * modules/unistr/u32-move-tests: Likewise.
26593         * modules/unistr/u32-next-tests: Likewise.
26594         * modules/unistr/u32-prev-tests: Likewise.
26595         * modules/unistr/u32-set-tests: Likewise.
26596         * modules/unistr/u32-stpcpy-tests: Likewise.
26597         * modules/unistr/u32-stpncpy-tests: Likewise.
26598         * modules/unistr/u32-strcat-tests: Likewise.
26599         * modules/unistr/u32-strcmp-tests: Likewise.
26600         * modules/unistr/u32-strcoll-tests: Likewise.
26601         * modules/unistr/u32-strcpy-tests: Likewise.
26602         * modules/unistr/u32-strdup-tests: Likewise.
26603         * modules/unistr/u32-strlen-tests: Likewise.
26604         * modules/unistr/u32-strmblen-tests: Likewise.
26605         * modules/unistr/u32-strmbtouc-tests: Likewise.
26606         * modules/unistr/u32-strncat-tests: Likewise.
26607         * modules/unistr/u32-strncmp-tests: Likewise.
26608         * modules/unistr/u32-strncpy-tests: Likewise.
26609         * modules/unistr/u32-strnlen-tests: Likewise.
26610         * modules/unistr/u32-to-u16-tests: Likewise.
26611         * modules/unistr/u32-to-u8-tests: Likewise.
26612         * modules/unistr/u32-uctomb-tests: Likewise.
26613         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
26614         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
26615         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
26616         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
26617         * modules/uniwidth/u8-strwidth-tests: Likewise.
26618         * modules/uniwidth/u8-width-tests: Likewise.
26619         * modules/uniwidth/u16-strwidth-tests: Likewise.
26620         * modules/uniwidth/u16-width-tests: Likewise.
26621         * modules/uniwidth/u32-strwidth-tests: Likewise.
26622         * modules/uniwidth/u32-width-tests: Likewise.
26623         * modules/uniwidth/width-tests: Likewise.
26624
26625 2010-05-18  Richard Jones  <rjones@redhat.com>
26626
26627         doc: users.txt: list hivex
26628         * users.txt: Add hivex.
26629
26630 2010-05-18  Richard Jones  <rjones@redhat.com>
26631
26632         doc: users.txt: list febootstrap
26633         * users.txt: Add febootstrap.
26634
26635 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
26636
26637         bootstrap: fix an error when gnulib is not used as a git submodule
26638         * build-aux/bootstrap (gnulib_path): If its length is zero then
26639         assign "gnulib" to it.
26640         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
26641
26642 2010-05-16  Bruno Haible  <bruno@clisp.org>
26643
26644         Avoid autoconf warnings about AM_ICONV.
26645         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
26646         2.64.
26647
26648 2010-05-16  Bruno Haible  <bruno@clisp.org>
26649
26650         absolute-header: Make the macro usable in more situations.
26651         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
26652         from gl_ABSOLUTE_HEADER.
26653         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
26654
26655 2010-05-16  James Youngman  <jay@gnu.org>
26656
26657         doc: update users.txt
26658         * users.txt: Add CSSC.
26659
26660 2010-05-16  Jim Meyering  <meyering@redhat.com>
26661
26662         init.sh: fix an error in the previous change; add more comments
26663         * tests/init.sh: Compare exit code in loop against 9, not 2.
26664         Patch by Bruno Haible.
26665         Make the two tests more similar by adding an empty "then" clause.
26666         Add comments.
26667
26668         init.sh: avoid unnecessary shell re-exec
26669         * tests/init.sh: Improve the re-exec-required check to first test the
26670         current shell.  If it passes the test, do not search for a shell that
26671         does pass, and do not re-exec.  This test is particularly contorted to
26672         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
26673         of $(...) evokes a syntax error and causes immediate shell exit with
26674         status 2.  Bruno Haible reported that the re-exec made it impossible
26675         to single-step through any init.sh-using script.
26676
26677 2010-05-16  Bruno Haible  <bruno@clisp.org>
26678
26679         Fix collision between gnulib's and libintl's printf replacements.
26680         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
26681         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
26682         (printf): When using GNU C, map the __printf__ function to rpl_printf
26683         via __asm__. When not using GNU C, define rpl_printf instead of
26684         __printf__.
26685         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
26686         commit.
26687         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
26688         commit.
26689         * m4/asm-underscore.m4: New file.
26690         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
26691         * modules/stdio (Files): Add m4/asm-underscore.m4.
26692         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
26693         Reported by Ben Pfaff.
26694
26695 2010-05-16  Bruno Haible  <bruno@clisp.org>
26696
26697         verify: Avoid skipping the test on openSUSE 11.0.
26698         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
26699
26700 2010-05-13  Bruno Haible  <bruno@clisp.org>
26701
26702         Avoid useless warnings from G++.
26703         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
26704         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
26705         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26706
26707 2010-05-11  Jim Meyering  <meyering@redhat.com>
26708
26709         maint.mk: tweak preceding change
26710         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
26711         regexps tighter by anchoring at EOL, and make the new group "shy"
26712         for slightly decreased overhead.
26713
26714 2010-05-11  Eric Blake  <eblake@redhat.com>
26715
26716         maint.mk: gnulib doesn't guarantee NSIG
26717         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
26718
26719 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
26720
26721         test-pwrite.c: Remove unused variable declaration.
26722         * tests/test-pwrite.c (main): Remove read_buf declaration.
26723
26724         Remove useless test-pwrite.sh file.
26725         * tests/test-pwrite.sh: Delete file.
26726         * modules/pwrite-tests: Remove references.
26727         Reported by Bruno Haible.
26728
26729 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
26730
26731         init.sh: fix a typo
26732         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
26733
26734 2010-05-10  Jim Meyering  <meyering@redhat.com>
26735
26736         maint.mk: avoid using a temporary file in the always-defined-macros check
26737         * top/maint.mk (.re-defmac): Remove rule.
26738         (gl_trap_): Remove definition.
26739         (sc_prohibit_always-defined_macros): Rewrite not to create and
26740         depend on a temporary file.  Instead, depend on GNU grep's ability
26741         to read a list of regular expressions from stdin when given "-f -".
26742
26743 2010-05-09  Bruno Haible  <bruno@clisp.org>
26744
26745         Update to GNU gettext 0.18, part 1.
26746         * m4/gettext.m4: Update to GNU gettext 0.18.
26747         * m4/intl.m4: Likewise.
26748         * m4/po.m4: Likewise.
26749         * modules/gettext (Files): Add m4/fcntl-o.m4.
26750         (configure.ac): Require gettext infrastructure from version 0.18.
26751
26752 2010-05-09  Jim Meyering  <meyering@redhat.com>
26753
26754         init.sh: enable MALLOC_PERTURB_
26755         * tests/init.sh: Enable glibc's malloc-perturbing option.
26756
26757         maint.mk: improve sc_cross_check_PATH_usage_in_tests
26758         With my recent change in init.sh from the two-line form:
26759             -#   : ${srcdir=.}
26760             -#   . "$srcdir/init.sh"; path_prepend_ .
26761             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
26762         I noticed that using the one-line form would cause this test
26763         to fail with a false-positive, or to stop working altogether,
26764         depending on whether help-version changed or all the tests did.
26765         * top/maint.mk (_hv_regex): Remove this definition.
26766         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
26767         (_hv_regex_strong): Use a stronger regex to check for conformance.
26768         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
26769         Give a separate diagnostic for lack of conforming use.
26770
26771         maint.mk: prohibit definition of symbols defined by gnulib
26772         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
26773         definition of symbols defined by gnulib.
26774
26775 2010-05-09  Bruno Haible  <bruno@clisp.org>
26776
26777         acl: Avoid test failure on Cygwin-hosted mingw.
26778         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
26779
26780 2010-05-09  Bruno Haible  <bruno@clisp.org>
26781
26782         error: Use system's fcntl function.
26783         * lib/error.c (fcntl): Undefine.
26784
26785 2010-05-09  Jim Meyering  <meyering@redhat.com>
26786
26787         verify: adjust formatting to be more consistent
26788         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
26789         argument-list '('s, and after one comma.
26790
26791 2010-05-09  Bruno Haible  <bruno@clisp.org>
26792
26793         error: More reliable output on mingw.
26794         * lib/error.c: Include <windows.h>.
26795         (is_open): New function.
26796         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
26797         defined.
26798
26799 2010-05-09  Bruno Haible  <bruno@clisp.org>
26800
26801         vasnprintf: Fix syntax errors in libintl build on mingw.
26802         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
26803         pad_ourselves and prec_ourselves after use.
26804
26805 2010-05-08  Bruno Haible  <bruno@clisp.org>
26806
26807         * lib/config.charset: Update comments for Cygwin 1.7.
26808         * lib/localcharset.c: Likewise.
26809
26810 2010-05-07  Jim Meyering  <meyering@redhat.com>
26811
26812         init.sh: improve comments
26813         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
26814         . "${srcdir=.}/init.sh"; path_prepend_ .
26815         Add a note about path_prepend_ and the alternative of using
26816         TESTS_ENVIRONMENT.
26817
26818 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
26819
26820         exclude: Unescape hashed patterns in wildcard mode.
26821         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
26822         to the hash list.
26823         * tests/test-exclude8.sh: New test case.
26824         * modules/exclude-tests: Add new test.
26825
26826 2010-05-05  Eric Blake  <eblake@redhat.com>
26827
26828         verify: automate tests
26829         * modules/verify-tests: New module.
26830         * tests/test-verify.sh: New file.
26831         * tests/test-verify.c: Guard each negative test with a unique id.
26832         Also avoid warning about unused left hand of comma expressions.
26833
26834 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
26835
26836         Further improvements to verify.h, suggested by Eric Blake.
26837         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
26838         the GL_* versions, to avoid collision with OpenGL.
26839         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
26840         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
26841         than testing merely whether it's defined.
26842
26843         Modify verify.h to pacify gcc -Wredundant_decls.
26844         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
26845         These use the prefix "GL_" since they're likely to be useful elsewhere.
26846         We may need to break them out into a different .h file.
26847         (__COUNTER__): Define to 0 if the compiler doesn't support it.
26848         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
26849         of verify_function__.
26850
26851 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
26852
26853         Tests for module pwrite.
26854         * modules/pwrite-tests: New file.
26855         * tests/test-pwrite.sh: New file.
26856         * tests/test-pwrite.c: New file.
26857
26858         New module pwrite.
26859         * lib/unistd.in.h (pwrite): New declaration.
26860         * lib/pwrite.c: New file, from glibc with modifications.
26861         * m4/pwrite.m4: New file.
26862         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
26863         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
26864         REPLACE_PWRITE.
26865         * modules/pwrite: New file.
26866         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
26867         REPLACE_PWRITE.
26868         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
26869         * doc/posix-functions/pwrite.texi: Mention the new module.
26870
26871 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
26872
26873         pread: Update documentation.
26874         * doc/posix-functions/pread.texi: Mention the 'pread' module.
26875
26876 2010-05-04  Eric Blake  <eblake@redhat.com>
26877
26878         docs: update cygwin progress
26879         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
26880         this bug.
26881         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
26882         Added in cygwin 1.7.2.
26883         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
26884         Likewise.
26885         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
26886         Likewise.
26887         * doc/glibc-functions/dup3.texi (dup3): Likewise.
26888         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
26889         * doc/glibc-functions/accept4.texi (accept4): Likewise.
26890         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
26891         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
26892         Mention nproc module.
26893         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
26894         bug in cygwin 1.7.5 addition.
26895         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
26896         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
26897         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
26898         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
26899         1.7.5.
26900         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
26901         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
26902         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
26903         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
26904         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
26905         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
26906         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
26907         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
26908         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
26909         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
26910         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
26911         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
26912         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
26913         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
26914         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
26915         Likewise.
26916         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
26917         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
26918         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
26919         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
26920         Likewise.
26921         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
26922         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
26923         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
26924         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
26925         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
26926         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
26927         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
26928         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
26929         Likewise.
26930         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
26931         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
26932         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
26933         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
26934         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
26935         Likewise.
26936         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
26937         Likewise.
26938         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
26939         Likewise.
26940         * doc/glibc-functions/xdrrec_endofrecord.texi
26941         (xdrrec_endofrecord): Likewise.
26942         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
26943         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
26944         Likewise.
26945         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
26946         Likewise.
26947
26948 2010-05-04  Jim Meyering  <meyering@redhat.com>
26949
26950         gendocs.sh: make its "-s FILE" option more useful
26951         * build-aux/gendocs.sh: When honoring the -s FILE option, update
26952         $PACKAGE to reflect the probably-different basename of "FILE".
26953
26954 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
26955
26956         bootstrap: don't ignore download_po_files failure
26957         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
26958         failure.
26959
26960 2010-05-03  Jim Meyering  <meyering@redhat.com>
26961
26962         maint.mk: allow to pass options to gendocs.sh
26963         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
26964         (gendocs_options_): New overridable variable.
26965
26966         gnu-web-doc-update: don't ignore configure or build failure
26967         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
26968
26969         announce-gen: backslash-escape '@'s in --help output
26970         * build-aux/announce-gen: Fix syntax errors.
26971
26972         maint.mk, announce-gen: allow project-specific announcement mail headers
26973         * top/maint.mk (translation_project_): Define default.
26974         (announcement_Cc_, announcement_mail_headers_): Likewise.
26975         (announcement): Invoke announce-gen with new --mail-headers option.
26976         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
26977
26978         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
26979         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
26980         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
26981         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
26982         line in the "err2" output file when running "make check" in verbose
26983         mode (i.e., with set -x enabled).
26984
26985 2010-05-03  Bruno Haible  <bruno@clisp.org>
26986
26987         wctob: Fix for weird platforms.
26988         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
26989         argument value.
26990
26991 2010-05-03  Jim Meyering  <meyering@redhat.com>
26992
26993         maint.mk: prohibit unwarranted use of <strings.h>
26994         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
26995         strings.h in a file that does not also use strcasecmp, strncasecmp,
26996         ffs or ffsll.
26997
26998         maint.mk: remove obsolete comments
26999         * top/maint.mk: Remove stale, commented-out rules.
27000
27001 2010-05-02  Bruno Haible  <bruno@clisp.org>
27002
27003         wcwidth: Declare also when it's aliased.
27004         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
27005         macro.
27006
27007 2010-05-02  Bruno Haible  <bruno@clisp.org>
27008
27009         Fix regression from 2010-04-25.
27010         * gnulib-tool (func_modules_transitive_closure): Check the status of
27011         all modules, not only of the tests that are of the form foo-tests where
27012         foo is a module.
27013
27014 2010-05-02  Bruno Haible  <bruno@clisp.org>
27015
27016         wctob: Work around nasty Cygwin 1.7.2 bug.
27017         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
27018         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
27019
27020 2010-05-01  Bruno Haible  <bruno@clisp.org>
27021
27022         fpurge: Sharper test.
27023         * tests/test-fpurge.c (main): Add one more ftell check.
27024         * modules/fpurge-tests (Depends-on): Add ftell.
27025         Suggested by Eric Blake.
27026
27027 2010-05-01  Bruno Haible  <bruno@clisp.org>
27028
27029         ftello: Another test.
27030         * tests/test-ftello3.c: New file.
27031         * modules/ftello-tests (Files): Add it.
27032         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
27033         MOSTLYCLEANFILES.
27034
27035         ftell: Another test.
27036         * tests/test-ftell3.c: New file.
27037         * modules/ftell-tests (Files): Add it.
27038         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
27039         MOSTLYCLEANFILES.
27040
27041 2010-05-01  Bruno Haible  <bruno@clisp.org>
27042
27043         ftell, ftello: Work around Solaris bug.
27044         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
27045         * lib/ftello.c: Include stdio-impl.h.
27046         (ftello): On Solaris, when _IOWRT is set, compute the result without
27047         looking at _IOREAD.
27048         * modules/ftello (Files): Add lib/stdio-impl.h.
27049         * doc/posix-functions/ftell.texi: Mention Solaris bug.
27050         * doc/posix-functions/ftello.texi: Likewise.
27051         Reported by Eric Blake.
27052
27053 2010-05-01  Bruno Haible  <bruno@clisp.org>
27054
27055         freading: Adapt to special meaning of _IOREAD flag on Solaris.
27056         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
27057         the _IOWRT flag is also set.
27058
27059 2010-05-01  Bruno Haible  <bruno@clisp.org>
27060
27061         Fix doc about a HP-UX stdio bug.
27062         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
27063         * doc/posix-functions/ftello.texi: Likewise.
27064
27065 2010-05-01  Bruno Haible  <bruno@clisp.org>
27066
27067         lseek test: Fix failure on Solaris.
27068         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
27069         output.
27070
27071 2010-04-30  Jim Meyering  <meyering@redhat.com>
27072
27073         bootstrap: don't ignore failure to generate po*/Makevars
27074         * build-aux/bootstrap (with_gettext): Don't ignore failure
27075         to create po/Makevars or runtime-po/Makevars.
27076
27077 2010-04-29  Eric Blake  <eblake@redhat.com>
27078
27079         headers: relax license to LGPLv2+
27080         * modules/fcntl-h (License): Relax license.
27081         * modules/getopt-posix (License): Likewise.
27082         * modules/locale (License): Likewise.
27083         * modules/math (License): Likewise.
27084         * modules/pty (License): Likewise.
27085         * modules/sched (License): Likewise.
27086         * modules/search (License): Likewise.
27087         * modules/spawn (License): Likewise.
27088         * modules/stdarg (License): Likewise.
27089         * modules/sysexits (License): Likewise.
27090
27091 2010-04-29  Jim Meyering  <meyering@redhat.com>
27092
27093         inttypes: relax license to LGPLv2+
27094         * modules/inttypes (License): Relax license.
27095
27096 2010-04-29  Simon Josefsson  <simon@josefsson.org>
27097
27098         * top/maint.mk (indent): Run twice to produce idempotent results.
27099
27100 2010-04-28  Bruno Haible  <bruno@clisp.org>
27101
27102         getdate: Generate getdate.c in the source directory.
27103         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
27104         MOSTLYCLEANFILES.
27105         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
27106
27107 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
27108
27109         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
27110         is not declared as a const *; avoid warnings in that case.
27111
27112 2010-04-28  Eric Blake  <eblake@redhat.com>
27113
27114         canonicalize-lgpl: avoid compiler warning
27115         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
27116         declaration' / 'extraneous semicolon' warning with some compilers.
27117         Reported by Andreas Gruenbacher.
27118
27119 2010-04-28  Jim Meyering  <meyering@redhat.com>
27120
27121         init.sh: ensure a more reliable exit status when exiting via trap
27122         * tests/init.sh (setup_): Don't rely on $? in signal handler.
27123         Inspired by patches from Dmitry V. Levin.
27124         Also trap on signal 3 (SIGQUIT).
27125
27126 2010-04-27  Bruno Haible  <bruno@clisp.org>
27127
27128         Update doc about utimes().
27129         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
27130         'utimens' module.
27131         Reported by Andreas Gruenbacher <agruen@suse.de>.
27132
27133 2010-04-27  Eric Blake  <eblake@redhat.com>
27134
27135         full-read, full-write: relax license
27136         * modules/full-read (License): Drop to LGPLv2+.
27137         * modules/full-write (License): Likewise.
27138         * modules/safe-read (License): Likewise.
27139         * modules/safe-write (License): Likewise.
27140
27141         pthread: mention library for linking
27142         * modules/pthread (Link): Mention $(LIB_PTHREAD).
27143
27144 2010-04-27  Jim Meyering  <meyering@redhat.com>
27145
27146         maint.mk: fix a bug introduced in last change
27147         * top/maint.mk (gl_assured_headers_): Now that all names are on
27148         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
27149         is not anchored to end of word, it should be adequate.
27150
27151         maint.mk: avoid side-effect in latest syntax-check
27152         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
27153         to run commands via $(shell...), and hence to incur cost only when
27154         the new rule is actually run.
27155
27156         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
27157         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
27158         and use that to create a regexp used to detect all #if HAVE_..._H uses.
27159         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
27160         (gl_assured_headers_, az_, AZ_): Define.
27161         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
27162
27163 2010-04-26  Jim Meyering  <jim@meyering.net>
27164             Bruno Haible  <bruno@clisp.org>
27165
27166         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
27167         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
27168         Prompted by an exchange with Gilles Espinasse.
27169
27170 2010-04-26  Jim Meyering  <meyering@redhat.com>
27171
27172         git-version-gen: aesthetic tweak
27173         * build-aux/git-version-gen: Use "$nl" rather than a literal,
27174         so that the command remains on a single line.
27175
27176 2010-04-26  Eric Blake  <eblake@redhat.com>
27177
27178         git-version-gen: allow use on EBCDIC hosts
27179         * build-aux/git-version-gen (dirty): Use literal rather than tying
27180         ourselves to ascii.
27181         Reported by Steve Goetze.
27182
27183 2010-04-25  Bruno Haible  <bruno@clisp.org>
27184
27185         netdb: Add support for GNULIB_POSIXCHECK.
27186         * lib/netdb.in.h: Include warn-on-use.h.
27187         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
27188         functions are used when GNULIB_POSIXCHECK is defined and the
27189         getaddrinfo module is not in use.
27190         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
27191         freeaddrinfo, gai_strerror, getnameinfo are declared.
27192         * modules/netdb (Depends-on): Add warn-on-use.
27193         (Makefile.am): Include warn-on-use.h in netdb.h.
27194
27195 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
27196
27197         build: avoid "make check" failure without .git/ directory
27198         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
27199         there is no .git/ directory.
27200
27201 2010-04-25  Bruno Haible  <bruno@clisp.org>
27202
27203         ptsname: Fix misuse of ttyname_r.
27204         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
27205         of errno.
27206
27207 2010-04-25  Bruno Haible  <bruno@clisp.org>
27208
27209         ttyname_r: Make it work on Solaris 10.
27210         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
27211         if the system function has the POSIX declaration. Test whether the
27212         function fails if the buffer is less than 128 bytes large.
27213         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
27214         system's ttyname_r function. Provide a reasonably large buffer.
27215         * modules/ttyname_r (Depends-on): Add extensions.
27216         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
27217
27218 2010-04-25  Bruno Haible  <bruno@clisp.org>
27219
27220         Use the 'extensions' module for some more functions on Solaris.
27221         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
27222         module.
27223         * doc/posix-functions/ctime_r.texi: Likewise.
27224         * doc/posix-functions/getgrgid_r.texi: Likewise.
27225         * doc/posix-functions/getgrnam_r.texi: Likewise.
27226         * doc/posix-functions/getpwnam_r.texi: Likewise.
27227         * doc/posix-functions/getpwuid_r.texi: Likewise.
27228         * doc/posix-functions/readdir_r.texi: Likewise.
27229         * doc/posix-functions/sigwait.texi: Likewise.
27230         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
27231         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
27232
27233 2010-04-25  Bruno Haible  <bruno@clisp.org>
27234
27235         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
27236         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
27237         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
27238         * lib/ttyname_r.c: Include <limits.h>.
27239         (ttyname_r): Define using the system's ttyname_r function, if it exists
27240         and not on Solaris.
27241         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
27242         set.
27243         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
27244         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
27245         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
27246         Reported by Simon Josefsson.
27247
27248 2010-04-25  Bruno Haible  <bruno@clisp.org>
27249
27250         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
27251         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
27252         * doc/posix-functions/ctime_r.texi: Likewise.
27253         * doc/posix-functions/getgrgid_r.texi: Likewise.
27254         * doc/posix-functions/getgrnam_r.texi: Likewise.
27255         * doc/posix-functions/getlogin_r.texi: Likewise.
27256         * doc/posix-functions/getpwnam_r.texi: Likewise.
27257         * doc/posix-functions/getpwuid_r.texi: Likewise.
27258         * doc/posix-functions/readdir_r.texi: Likewise.
27259         * doc/posix-functions/sigwait.texi: Likewise.
27260         * doc/posix-functions/ttyname_r.texi: Likewise.
27261         Reported by Simon Josefsson.
27262
27263 2010-04-25  Bruno Haible  <bruno@clisp.org>
27264
27265         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
27266         * gnulib-tool (func_usage): Document that --with-*-tests options apply
27267         also to --create-testdir.
27268         (func_acceptable): Don't consider the status of *-tests modules here.
27269         (func_modules_transitive_closure): Consider it here, before including a
27270         test module.
27271         (func_import, func_create_testdir): Set inc_all_direct_tests,
27272         inc_all_indirect_tests.
27273         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
27274         --create-testdir and --create-megatestdir.
27275
27276 2010-04-25  Bruno Haible  <bruno@clisp.org>
27277
27278         gnulib-tool: Add --without-*-tests options.
27279         * gnulib-tool (func_usage): Document the --without-*-tests options.
27280         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
27281         excl_unportable_tests): New variables.
27282         Fail if they are specified with --import or --update.
27283         (func_acceptable): Respect the excl_*_tests variables.
27284         (func_import): Set the excl_*_tests variables to empty.
27285
27286 2010-04-25  Simon Josefsson  <simon@josefsson.org>
27287             Bruno Haible  <bruno@clisp.org>
27288
27289         Work around a MacOS X 10.4 bug with openpty.
27290         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
27291         * tests/test-openpty.c (main): Close the master side explicitly.
27292
27293 2010-04-25  Bruno Haible  <bruno@clisp.org>
27294
27295         strnlen: Fix a C++ test error on MacOS X and Solaris.
27296         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
27297         the function is not declared.
27298         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
27299         Simon Josefsson.
27300
27301 2010-04-24  Bruno Haible  <bruno@clisp.org>
27302
27303         Avoid a gcc warning.
27304         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
27305         of correct type for %08lx directive.
27306         Reported by Eric Blake.
27307
27308 2010-04-24  Bruno Haible  <bruno@clisp.org>
27309
27310         vasnprintf: Correct errno value in case of out-of-memory.
27311         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
27312         or sprintf. Use the errno value from SNPRINTF or sprintf.
27313         Reported by Ian Beckwith <ianb@erislabs.net>.
27314
27315 2010-04-24  Bruno Haible  <bruno@clisp.org>
27316
27317         ansi-c++-opt: Find correct compiler when cross-compiling.
27318         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
27319         AC_CHECK_PROGS.
27320         Reported by Simon Josefsson.
27321
27322 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
27323
27324         vc-list-files: Add support for subversion
27325         * build-aux/vc-list-files: Use "svn list" to generate the list of
27326         files controlled by subversion.
27327
27328 2010-04-23  Jim Meyering  <meyering@redhat.com>
27329
27330         vc-list-files tests: convert to use init.sh
27331         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
27332         path_prepend_.
27333         Use Exit, not exit.
27334         Use skip_ rather than open coding it.
27335         Remove trap set-up and compare definitions.
27336         * tests/test-vc-list-files-git.sh: Likewise.
27337         * modules/vc-list-files-tests (Files): Add tests/init.sh.
27338
27339 2010-04-22  Simon Josefsson  <simon@josefsson.org>
27340
27341         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
27342         backup files.
27343
27344 2010-04-21  Simon Josefsson  <simon@josefsson.org>
27345
27346         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
27347
27348 2010-04-20  Eric Blake  <eblake@redhat.com>
27349
27350         tests: be robust to ignored SIGPIPE
27351         * tests/test-select-in.sh: Consume all output.
27352         * tests/test-lseek.sh: Check correct exit status, while avoiding
27353         EPIPE.
27354
27355 2010-04-20  Simon Josefsson  <simon@josefsson.org>
27356             Bruno Haible  <bruno@clisp.org>
27357
27358         visibility: Don't use -fvisibility if it leads to a warning.
27359         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
27360         yes, don't pretend that visibility works if it leads to a warning.
27361         Reported by Mike Gran <spk121@yahoo.com>.
27362
27363 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
27364
27365         * build-aux/bootstrap: Use "git -h" for testing for supported options
27366         instead of "git --help".  The short-form option only shows a summary,
27367         and doesn't layout the full man page.  Grep for the full option name
27368         in the summary, too.
27369
27370 2010-04-19  Bruno Haible  <bruno@clisp.org>
27371
27372         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
27373         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
27374         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
27375         mention of RELOCATABLE_STRIP.
27376         Reported by Sylvain Beucler <beuc@beuc.net>.
27377
27378 2010-04-19  Bruno Haible  <bruno@clisp.org>
27379
27380         * lib/diffseq.h: Fix typo in comment.
27381         Reported by Eric Blake.
27382
27383 2010-04-19  Bruno Haible  <bruno@clisp.org>
27384
27385         ioctl: Move autoconf macro to a .m4 file.
27386         * m4/ioctl.m4: New file, extracted from modules/ioctl.
27387         * modules/ioctl (Files): Add it.
27388         (configure.ac): Simply invoke gl_FUNC_IOCTL.
27389         Reported by Ian Beckwith <ianb@erislabs.net>.
27390
27391 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
27392             Bruno Haible  <bruno@clisp.org>
27393
27394         diffseq: Accommodate use-case with abstract arrays.
27395         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
27396         is not defined.
27397         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
27398         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
27399
27400 2010-04-18  Bruno Haible  <bruno@clisp.org>
27401
27402         * doc/posix-headers/stdbool.texi: More precise wording.
27403
27404 2010-04-17  Jim Meyering  <meyering@redhat.com>
27405
27406         maint.mk: use gnu-style indentation in an embedded perl script
27407         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
27408         Rename variable: s/two/last_two_bytes/
27409
27410 2010-04-16  Eric Blake  <eblake@redhat.com>
27411
27412         test-stdbool: skip test that fails with Solaris CC
27413         * tests/test-stdbool.c (f): Skip test that causes compilation
27414         error under buggy C++ compiler.
27415         * lib/stdbool.in.h: Document the limitation.
27416         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
27417
27418         setenv: allow compilation with C++
27419         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
27420         register keyword.
27421
27422         stdint: allow test to pass with C++
27423         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
27424
27425         getopt: allow compilation with C++
27426         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
27427         struct.
27428         * lib/getopt.c (_getopt_internal_r): Use correct type.
27429         Reported by Dagobert Michelson, via Joel E. Denny.
27430
27431 2010-04-16  Bruno Haible  <bruno@clisp.org>
27432
27433         Override netdb.h always.
27434         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
27435         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
27436         Reported by Ludovic Courtès <ludo@gnu.org>.
27437
27438 2010-04-15  Bruno Haible  <bruno@clisp.org>
27439
27440         openpty: Fix mistake from 2010-03-21.
27441         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
27442         Reported by Simon Josefsson.
27443
27444 2010-04-15  Eric Blake  <eblake@redhat.com>
27445
27446         test-forkpty: fix expected signature
27447         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
27448         Reported by Simon Josefsson.
27449
27450 2010-04-15  Jim Meyering  <meyering@redhat.com>
27451
27452         maint.mk: texinfo_suffix_re_: correct the default regexp
27453         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
27454
27455         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
27456         make it configurable via texinfo_suffix_re_.
27457
27458 2010-04-14  Eric Blake  <eblake@redhat.com>
27459
27460         strtok_r: relax license to LGPLv2+
27461         * modules/strtok_r (License): Relax license.
27462         Reported by Matthias Bolte.
27463
27464 2010-04-14  Simon Josefsson  <simon@josefsson.org>
27465
27466         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
27467         version 1.4.4 by default instead of requiring the libgcrypt
27468         version used during build.  This makes it possible to use the
27469         application with older but still binary compatible libgcrypt
27470         versions.
27471
27472 2010-04-13  Eric Blake  <eblake@redhat.com>
27473
27474         getopt-gnu: match recent glibc fixes and posix ruling
27475         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
27476         '+' handling, when requesting extensions.
27477         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
27478         'W;' handling.
27479         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
27480         * doc/posix-functions/getopt.texi (getopt): Document this.
27481         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
27482         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27483         Likewise.
27484
27485         getopt: merge bug fixes from glibc
27486         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
27487         diagnostics.  Honor '+:' correctly.  Reject ';'.
27488
27489         getopt-posix: detect MacOS bug
27490         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
27491         optind when missing a required argument.
27492         * doc/posix-functions/getopt.texi (getopt): Document the bug.
27493         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
27494         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27495         Likewise.
27496
27497         getopt-posix: avoid spurious failure on Solaris
27498         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
27499         an indicator that setting optind=1 is sufficient for reset.
27500
27501         getopt-posix: avoid spurious failure on FreeBSD
27502         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
27503         in POSIX mode, since the m4 test uses it.
27504
27505         gnulib-tool: silence warning on BSD sh
27506         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
27507
27508 2010-04-13  Jim Meyering  <meyering@redhat.com>
27509
27510         doc: users.txt: GNU patch now uses gnulib
27511         * users.txt: Add patch.
27512
27513 2010-04-12  Jim Meyering  <meyering@redhat.com>
27514
27515         maint.mk: generate more concise timing data for syntax-check rules
27516         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
27517         " done" from each line that reports a syntax-check test duration.
27518
27519 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
27520
27521         git-version-gen: use "git update-index..." rather than "git status"
27522         * build-aux/git-version-gen: Use git update-index --refresh, not
27523         "git status".  With some versions of git, "git status" would fail
27524         to update the index and result in an unwarranted "-dirty" suffix.
27525
27526 2010-04-11  Jim Meyering  <meyering@redhat.com>
27527
27528         openat: correct formatting (no semantic change)
27529         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
27530         Suggested by Bruno Haible.
27531
27532 2010-04-11  Bruno Haible  <bruno@clisp.org>
27533
27534         Stricter declaration checking in testdirs.
27535         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
27536         If for_tests is true, augment AM_CPPFLAGS to define
27537         GNULIB_STRICT_CHECKING.
27538         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
27539         GNULIB_STRICT_CHECKING is defined, verify that the function is
27540         declared.
27541
27542 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
27543             Bruno Haible  <bruno@clisp.org>
27544
27545         libunistring: Improve configure output.
27546         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
27547         Don't say "consider installing GNU libunistring" when checking again
27548         with libiconv.
27549
27550 2010-04-11  Bruno Haible  <bruno@clisp.org>
27551
27552         libunistring: Correct value of $LTLIBUNISTRING.
27553         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
27554         correct the value of $LTLIBUNISTRING.
27555
27556 2010-04-11  Bruno Haible  <bruno@clisp.org>
27557
27558         havelib: Add static libraries to LIBS in the right order.
27559         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
27560         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
27561
27562 2010-04-11  Bruno Haible  <bruno@clisp.org>
27563
27564         libunistring: Detect libunistring also when it depends on libiconv.
27565         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
27566         the second AC_LIB_HAVE_LINKFLAGS invocation.
27567
27568 2010-04-11  James Youngman  <jay@gnu.org>
27569
27570         close-stream: declare local scalars to be "const"
27571         * lib/close-stream.c (close_stream): Make boolean variables const
27572         to document the fact that we set but do not change them.
27573
27574 2010-04-11  Bruno Haible  <bruno@clisp.org>
27575
27576         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
27577
27578 2010-04-11  Jim Meyering  <meyering@redhat.com>
27579
27580         maint.mk: don't include dist-check.mk
27581         * top/maint.mk: Remove bogus include directive.
27582
27583         maint.mk: improve empty-line-at-EOF check
27584         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
27585         solution, rather than tail+Perl-based one.  The latter would read
27586         a few kilobytes from the end of each file, and did not handle empty
27587         files properly.
27588
27589         maint.mk: print the elapsed time for each syntax-check rule
27590         * top/maint.mk (sc_m_rules_): Save start time in a file.
27591         (sc_z_rules_): New rules: remove temp file and print elapsed time.
27592         (local-check): Interpose the .z rules
27593
27594 2010-04-11  Jim Meyering  <meyering@redhat.com>
27595
27596         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
27597         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
27598         empty file with one that ends in an empty line.
27599
27600 2010-04-10  Bruno Haible  <bruno@clisp.org>
27601
27602         mkdir: Make it work on mingw64.
27603         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
27604         * lib/mkdir.c: Update comment.
27605         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
27606
27607 2010-04-10  Bruno Haible  <bruno@clisp.org>
27608
27609         Don't override improved macro from newer autoconf.
27610         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
27611         autoconf >= 2.62.
27612         Reported by Joel E. Denny <jdenny@clemson.edu>.
27613
27614 2010-04-10  Jim Meyering  <meyering@redhat.com>
27615
27616         maint.mk: new syntax-check rule: prohibit empty lines at end of file
27617         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
27618
27619         maint.mk: correct a diagnostic
27620         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
27621         in diagnostic; now use $prohibit.
27622
27623 2010-04-10  Bruno Haible  <address@hidden>
27624
27625         fchownat: Fix a C++ test error on Solaris 8.
27626         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
27627         the function does not exist.
27628
27629 2010-04-10  Bruno Haible  <bruno@clisp.org>
27630
27631         vasnprintf: Add more tests.
27632         * tests/test-vasnprintf-posix.c: Include <errno.h>.
27633         (test_function): Test converting an invalid wide string.
27634
27635         vasnprintf: Correct handling of unconvertible wide string arguments.
27636         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
27637         VASNPRINTF.
27638         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
27639         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
27640         smaller than the expected maximum need for the directive. Set errno to
27641         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
27642         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
27643         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
27644         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
27645         * modules/vasnprintf (Files): Add m4/printf.m4.
27646         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27647
27648 2010-04-10  Bruno Haible  <bruno@clisp.org>
27649
27650         vasnprintf: Fix crash in %ls directive.
27651         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
27652         string is passed as argument to %ls, with no precision and no width.
27653         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27654
27655 2010-04-10  Bruno Haible  <bruno@clisp.org>
27656
27657         vasnprintf: Fix multiple test failures on mingw.
27658         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
27659         _snprintf, or snwprintf, not _snwprintf.
27660
27661 2010-04-10  Bruno Haible  <bruno@clisp.org>
27662
27663         write: Fix a C++ test error on mingw.
27664         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
27665
27666 2010-04-10  Bruno Haible  <bruno@clisp.org>
27667
27668         vasnprintf test: Reduce code duplication.
27669         * tests/test-vasnprintf.c (test_function): New function, extracted from
27670         test_vasnprintf.
27671         (test_vasnprintf, test_asnprintf): Invoke it.
27672
27673 2010-04-10  Bruno Haible  <bruno@clisp.org>
27674
27675         strnlen: Fix warning in C++ mode on MacOS X.
27676         * lib/string.in.h (strnlen): Use the modern idiom.
27677         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
27678         defining strnlen as a macro already in <config.h>.
27679         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27680         REPLACE_STRNLEN.
27681         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
27682         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27683
27684 2010-04-08  James Youngman  <jay@gnu.org>
27685
27686         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
27687         the example.
27688
27689 2010-04-09  Jim Meyering  <meyering@redhat.com>
27690
27691         maint.mk: print better diagnostic when there is no $(_hv_file)
27692         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
27693         announce that when $(_hv_file) (aka help-version) does not exist.
27694
27695         init.sh: run tr in the "C" locale to avoid multibyte interpretation
27696         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
27697         not try to interpret its random input bytes.  Jarno Rajahalme reported
27698         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
27699         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
27700         (mktempd_): Likewise, just in case.
27701
27702         ftruncate: add two years to projected module removal date: 2012
27703         * m4/ftruncate.m4: Adjust comments.
27704
27705         ftruncate: mark module as obsolete; even MinGW provides it, now
27706         * modules/ftruncate (Status): Obsolete.
27707         (Notice): Say that.
27708         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
27709         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
27710
27711 2010-04-08  Bruno Haible  <bruno@clisp.org>
27712
27713         Fix side effects from tests-related modules.
27714         * modules/dprintf-posix (Comment): New section.
27715         * modules/fprintf-posix (Comment): Likewise.
27716         * modules/obstack-printf-posix (Comment): Likewise.
27717         * modules/printf-posix (Comment): Likewise.
27718         * modules/snprintf-posix (Comment): Likewise.
27719         * modules/sprintf-posix (Comment): Likewise.
27720         * modules/vasnprintf-posix (Comment): Likewise.
27721         * modules/vasprintf-posix (Comment): Likewise.
27722         * modules/vdprintf-posix (Comment): Likewise.
27723         * modules/vfprintf-posix (Comment): Likewise.
27724         * modules/vprintf-posix (Comment): Likewise.
27725         * modules/vsnprintf-posix (Comment): Likewise.
27726         * modules/vsprintf-posix (Comment): Likewise.
27727         * modules/xprintf-posix (Comment): Likewise.
27728         * modules/xvasprintf-posix (Comment): Likewise.
27729         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
27730         * modules/floorf-tests (Depends-on): Likewise.
27731         * modules/round-tests (Depends-on): Likewise.
27732         * modules/roundf-tests (Depends-on): Likewise.
27733         * modules/trunc-tests (Depends-on): Likewise.
27734         * modules/truncf-tests (Depends-on): Likewise.
27735         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
27736         'fprintf-posix' module is not present.
27737         * tests/test-floorf2.c (check): Likewise.
27738         * tests/test-trunc2.c (check): Likewise.
27739         * tests/test-truncf2.c (check): Likewise.
27740         * tests/test-round2.c (equal): Likewise.
27741         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27742
27743 2010-04-07  Karl Berry  <karl@gnu.org>
27744
27745         * config/srclist.txt,
27746         * config/srclistvars.sh,
27747         * config/srclist-update: doc fixes.
27748
27749 2010-04-07  Jim Meyering  <meyering@redhat.com>
27750
27751         maint.mk: add a PATH crosschecking syntax-check rule
27752         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
27753         Useful if you use a test like the one in help-version (coreutils,
27754         diffutils, grep, gzip) that ensures $(VERSION) matches what is
27755         printed by prog --version.
27756
27757 2010-04-06  Bruno Haible  <bruno@clisp.org>
27758
27759         Fix link error on mingw.
27760         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
27761         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
27762
27763 2010-04-06  Bruno Haible  <bruno@clisp.org>
27764
27765         Assume rmdir exists.
27766         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
27767
27768 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
27769
27770         doc: update users.txt
27771         * users.txt: Add gcal.
27772
27773 2010-04-06  Jim Meyering  <meyering@redhat.com>
27774
27775         init.sh: simply unset TMPDIR rather than risking env -i
27776         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
27777         although it probably works fine on all Unix-based systems, some
27778         systems (Cygwin?) cannot tolerate a totally cleared environment.
27779         Suggestion from Eric Blake.
27780
27781 2010-04-06  Jim Meyering  <meyering@redhat.com>
27782
27783         init.sh: portability fix: use env's POSIX-specified -i option not -u
27784         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
27785         than unportable env -u.  Solaris 5.11's env lacks support for -u.
27786
27787 2010-04-05  Bruno Haible  <bruno@clisp.org>
27788
27789         btowc: Work around Cygwin 1.7.2 bug.
27790         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
27791         does not map NUL to 0.
27792         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
27793
27794 2010-04-05  Bruno Haible  <bruno@clisp.org>
27795
27796         Make the multithread modules work on Cygwin 1.7.2.
27797         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
27798         imported symbols can be declared weak, so that it returns "no" on
27799         Cygwin 1.7.2.
27800
27801 2010-04-05  Bruno Haible  <bruno@clisp.org>
27802
27803         Use the module 'strncat'.
27804         * modules/unistr/u8-strncat (Depends-on): Add strncat.
27805
27806         Tests for module 'strncat'.
27807         * modules/strncat-tests: New file.
27808         * tests/test-strncat.c: New file.
27809
27810         New module 'strncat'.
27811         * lib/string.in.h (strncat): New declaration.
27812         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
27813         * m4/strncat.m4: New file, based on m4/memchr.m4.
27814         * modules/strncat: New file.
27815         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
27816         is declared.
27817         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
27818         REPLACE_STRNCAT.
27819         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
27820         REPLACE_STRNCAT.
27821         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
27822         module.
27823         * tests/test-string-c++.cc: Check signature of strncat.
27824
27825 2010-04-05  Jim Meyering  <meyering@redhat.com>
27826
27827         xstrtoumax-tests: convert to use init.sh
27828         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
27829         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27830         Use Exit, not exit.
27831         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27832
27833         xstrtoimax-tests: convert to use init.sh
27834         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
27835         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27836         Use Exit, not exit.
27837         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27838
27839 2010-04-05  Bruno Haible  <bruno@clisp.org>
27840
27841         sys_socket: Avoid #define replacements in C++ mode.
27842         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
27843         warning to the function if possible, rather than #defining the symbol
27844         to a dysfunctional alias.
27845
27846 2010-04-05  Bruno Haible  <bruno@clisp.org>
27847
27848         fseeko: Fix C++ test error on mingw.
27849         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
27850         gl_FUNC_FSEEKO.
27851         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
27852         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
27853         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
27854         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
27855
27856 2010-04-05  Bruno Haible  <bruno@clisp.org>
27857
27858         duplocale: Improve test output.
27859         * tests/test-duplocale.c (main): Print reason for skipped test.
27860
27861 2010-04-05  Bruno Haible  <bruno@clisp.org>
27862
27863         Assume rmdir exists.
27864         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
27865         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
27866
27867 2010-04-05  Bruno Haible  <bruno@clisp.org>
27868
27869         Fix link error on Solaris 8 with cc.
27870         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
27871
27872 2010-04-05  Bruno Haible  <bruno@clisp.org>
27873
27874         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
27875         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
27876
27877 2010-04-05  Bruno Haible  <bruno@clisp.org>
27878
27879         vasprintf: Update documentation.
27880         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
27881
27882 2010-04-05  Bruno Haible  <bruno@clisp.org>
27883
27884         ptsname: Improve test.
27885         * tests/test-ptsname.c (main): Also try the various master names of BSD
27886         systems.
27887
27888 2010-04-05  Bruno Haible  <bruno@clisp.org>
27889
27890         memchr: Avoid a possible C++ test error.
27891         * lib/string.in.h (memchr): Provide declaration if function is missing.
27892         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
27893         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
27894         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
27895         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
27896
27897 2010-04-05  Bruno Haible  <bruno@clisp.org>
27898
27899         strtok_r: Improve idiom.
27900         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
27901         AC_LIBOBJ is used.
27902
27903 2010-04-05  Bruno Haible  <bruno@clisp.org>
27904
27905         strdup: Improve idiom.
27906         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
27907         AC_LIBOBJ is used.
27908         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
27909         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
27910         when AC_LIBOBJ is used.
27911
27912 2010-04-05  Bruno Haible  <bruno@clisp.org>
27913
27914         mbsinit, mbrtowc, wcrtomb: Improve idioms.
27915         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
27916         don't set REPLACE_MBSINIT to 1.
27917         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
27918         don't set REPLACE_MBRTOWC to 1.
27919         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
27920         exist, don't set REPLACE_MBSRTOWCS to 1.
27921         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
27922         exist, don't set REPLACE_MBSNRTOWCS to 1.
27923         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
27924         don't set REPLACE_WCRTOMB to 1.
27925         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
27926         exist, don't set REPLACE_WCSRTOMBS to 1.
27927         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
27928         exist, don't set REPLACE_WCSNRTOMBS to 1.
27929
27930 2010-04-05  Bruno Haible  <bruno@clisp.org>
27931
27932         ldexpl: Improve idiom.
27933         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
27934         make sure to set HAVE_DECL_LDEXPL to 0.
27935
27936 2010-04-05  Jim Meyering  <meyering@redhat.com>
27937
27938         xstrtol-tests: convert to use init.sh
27939         * modules/xstrtol-tests (Files): Add tests/init.sh.
27940         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27941         Use Exit, not exit.
27942         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27943
27944         atexit-tests: convert to use init.sh
27945         * modules/atexit-tests (Files): Add tests/init.sh.
27946         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27947         Use Exit, not exit.
27948         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27949
27950         init.sh: fix typo
27951         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
27952
27953         init.sh: make it easier for a test script to write to the tty, ...
27954         when using automake's parallel-tests mode.
27955         * tests/init.sh (stderr_fileno_): Define overridable variable.
27956         (warn_): New function, to use it.
27957         (fail_, skip_, framework_failure_): Use warn_.
27958
27959 2010-04-04  Bruno Haible  <bruno@clisp.org>
27960
27961         btowc: Avoid warning.
27962         * lib/btowc.c: Include <stdlib.h>.
27963         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
27964
27965 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
27966             Bruno Haible  <bruno@clisp.org>
27967
27968         wchar: Port to NetBSD 1.5.
27969         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
27970         * lib/wctype.in.h (WEOF): Likewise.
27971
27972 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
27973             Bruno Haible  <bruno@clisp.org>
27974
27975         Port extended stdio to NetBSD 1.5.
27976         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
27977         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
27978         older.
27979
27980 2010-04-04  Bruno Haible  <bruno@clisp.org>
27981
27982         string: Remove unused substitution.
27983         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
27984         HAVE_DECL_STRERROR.
27985         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
27986
27987 2010-04-04  Bruno Haible  <bruno@clisp.org>
27988
27989         strtod: Avoid a possible C++ test error.
27990         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
27991         set REPLACE_STRTOD.
27992
27993 2010-04-04  Bruno Haible  <bruno@clisp.org>
27994
27995         strerror: Update documentation.
27996         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
27997
27998 2010-04-04  Bruno Haible  <bruno@clisp.org>
27999
28000         stdio: Fix some C++ test errors on Solaris 8 with GCC.
28001         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
28002         _GL_CXXALIAS_SYS_CAST.
28003
28004 2010-04-04  Bruno Haible  <bruno@clisp.org>
28005
28006         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28007         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
28008         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
28009         REPLACE_FREXPL to 1.
28010         * doc/posix-functions/frexpl.texi: Update documentation.
28011
28012 2010-04-04  Bruno Haible  <bruno@clisp.org>
28013
28014         math: Fix some C++ test errors on Solaris 8 and Cygwin.
28015         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
28016
28017 2010-04-04  Bruno Haible  <bruno@clisp.org>
28018
28019         Implement nanosleep for native Windows.
28020         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
28021
28022 2010-04-04  Bruno Haible  <bruno@clisp.org>
28023
28024         math: Fix some C++ test errors on Solaris 8.
28025         * lib/math.in.h (truncf, trunc): Use simpler idiom.
28026
28027 2010-04-04  Bruno Haible  <bruno@clisp.org>
28028
28029         math: Fix some C++ test errors on Cygwin.
28030         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
28031         truncl): Provide declaration if the system does not have it.
28032         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
28033         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
28034         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
28035         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
28036         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
28037         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
28038         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
28039         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
28040         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
28041         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
28042         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
28043         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
28044         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
28045         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
28046         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
28047         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
28048         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
28049         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
28050         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
28051         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
28052         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
28053         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
28054
28055 2010-04-04  Bruno Haible  <bruno@clisp.org>
28056
28057         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
28058         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
28059         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
28060         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
28061         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
28062         * m4/isinf.m4 (gl_ISINF): Likewise.
28063         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28064
28065 2010-04-04  Bruno Haible  <bruno@clisp.org>
28066
28067         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
28068         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
28069
28070 2010-04-04  Bruno Haible  <bruno@clisp.org>
28071
28072         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
28073         * modules/tmpfile (configure.ac): Update.
28074
28075         tmpfile: Fix C++ test error on mingw.
28076         * lib/stdio.in.h (tmpfile): New declaration.
28077         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
28078         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
28079         * modules/tmpfile (Depends-on): Add stdio.
28080         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
28081         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
28082         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
28083         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
28084         REPLACE_TMPFILE.
28085         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
28086
28087 2010-04-04  Bruno Haible  <bruno@clisp.org>
28088
28089         ioctl: Fix C++ test error on mingw.
28090         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
28091         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
28092         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
28093
28094 2010-04-03  Bruno Haible  <bruno@clisp.org>
28095
28096         wcwidth: Fix C++ test error on mingw.
28097         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
28098         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
28099         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
28100
28101 2010-04-03  Bruno Haible  <bruno@clisp.org>
28102
28103         nanosleep: Fix C++ test error on mingw.
28104         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
28105         * lib/time.in.h (nanosleep): Use modern idiom.
28106         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
28107         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
28108         REPLACE_NANOSLEEP to 1.
28109         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
28110         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
28111
28112 2010-04-03  Bruno Haible  <bruno@clisp.org>
28113
28114         strptime: Fix C++ test error on mingw.
28115         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
28116         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
28117         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
28118         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
28119         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
28120         not REPLACE_STRPTIME.
28121         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
28122         REPLACE_STRPTIME.
28123
28124 2010-04-03  Bruno Haible  <bruno@clisp.org>
28125
28126         timegm: Fix C++ test error on mingw.
28127         * lib/time.in.h (timegm): Use modern idiom.
28128         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
28129         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
28130         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
28131         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
28132
28133 2010-04-03  Bruno Haible  <bruno@clisp.org>
28134
28135         timegm: Assume declaration if function exists.
28136         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
28137         if it exists. Don't clobber ac_cv_func_timegm.
28138
28139 2010-04-03  Bruno Haible  <bruno@clisp.org>
28140
28141         time_r: Fix C++ test error on mingw.
28142         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
28143         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
28144         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
28145         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
28146         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
28147
28148 2010-04-03  Bruno Haible  <bruno@clisp.org>
28149
28150         time_r: Minor updates.
28151         * modules/time_r (Description): Mention the provided functions.
28152         * lib/time_r.c: Don't include <string.h>.
28153         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
28154         * doc/posix-functions/localtime_r.texi: Likewise.
28155
28156 2010-04-03  Bruno Haible  <bruno@clisp.org>
28157
28158         time: Fix regression introduced on 2010-03-08.
28159         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
28160         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
28161
28162 2010-04-03  Jim Meyering  <meyering@redhat.com>
28163
28164         maint.mk: don't silently disable project-specific syntax-check rules
28165         * top/maint.mk (_prohibit_regexp): Define, to help people realize
28166         that they need to convert their project-specific syntax-check rules
28167         to use the new _sc_search_regexp.
28168
28169 2010-04-03  Bruno Haible  <bruno@clisp.org>
28170
28171         fchdir: Fix regression introduced on 2010-03-08.
28172         * lib/unistd.in.h (fchdir): Fix declaration.
28173         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
28174         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
28175         REPLACE_FCHDIR.
28176         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
28177         REPLACE_FCHDIR.
28178
28179 2010-04-03  Bruno Haible  <bruno@clisp.org>
28180
28181         getpagesize: Fix C++ test error on mingw.
28182         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
28183         system does not declare the function.
28184         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
28185         declared.
28186         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28187         HAVE_DECL_GETPAGESIZE.
28188         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
28189
28190 2010-04-03  Bruno Haible  <bruno@clisp.org>
28191
28192         stdio: Make C++ tests work on mingw.
28193         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
28194         does not declare the function.
28195
28196 2010-04-03  Bruno Haible  <bruno@clisp.org>
28197
28198         ftello: Fix C++ test error on mingw.
28199         * lib/stdio.in.h (ftello): Use modern idiom.
28200         * lib/ftello.c (ftello): Renamed from rpl_ftello.
28201         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
28202         is missing and that it needs to be replaced.
28203         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
28204         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
28205         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
28206
28207 2010-04-03  Bruno Haible  <bruno@clisp.org>
28208
28209         fseeko: Fix C++ test error on mingw.
28210         * lib/stdio.in.h (fseeko): Use modern idiom.
28211         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
28212         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
28213         is missing and that it needs to be replaced.
28214         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
28215         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
28216         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
28217
28218 2010-04-03  Bruno Haible  <bruno@clisp.org>
28219
28220         mkstemp: Fix C++ test error on mingw.
28221         * lib/stdlib.in.h (mkstemp): Use modern idiom.
28222         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
28223         function is missing and that it needs to be replaced.
28224         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
28225         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
28226
28227 2010-04-03  Bruno Haible  <bruno@clisp.org>
28228
28229         stpncpy: Fix C++ test error on mingw.
28230         * lib/string.in.h (stpncpy): Use modern idiom.
28231         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
28232         function is missing and that it needs to be replaced.
28233         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28234         REPLACE_STPNCPY.
28235         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
28236
28237 2010-04-03  Bruno Haible  <bruno@clisp.org>
28238
28239         sys_stat: Fix C++ test error on mingw.
28240         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
28241         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
28242
28243 2010-04-03  Bruno Haible  <bruno@clisp.org>
28244
28245         pty: Update doc.
28246         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
28247
28248 2010-04-03  Bruno Haible  <bruno@clisp.org>
28249
28250         unistd: Fix C++ test error on mingw.
28251         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
28252
28253 2010-04-03  Bruno Haible  <bruno@clisp.org>
28254
28255         Update doc regarding mingw.
28256         * doc/glibc-functions/openpty.texi: Update regarding mingw.
28257         * doc/glibc-functions/login_tty.texi: Likewise.
28258         * doc/glibc-functions/forkpty.texi: Likewise.
28259
28260 2010-04-03  Bruno Haible  <bruno@clisp.org>
28261
28262         stdlib: Avoid compilation failure of c-strtold on mingw.
28263         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
28264
28265 2010-04-03  Bruno Haible  <bruno@clisp.org>
28266
28267         locale: Make C++ tests work on Cygwin and mingw.
28268         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
28269         cannot provide the function.
28270         Reported by Simon Josefsson.
28271
28272 2010-04-03  Bruno Haible  <bruno@clisp.org>
28273
28274         localename: Port to MacOS X 10.6.
28275         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
28276         memory layout of the locales in MacOS X 10.6 as well.
28277         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
28278
28279 2010-04-02  Bruno Haible  <bruno@clisp.org>
28280
28281         gnulib-tool: Ensure that long-running tests are executed last.
28282         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
28283         running tests after the one for the other tests.
28284
28285 2010-04-02  Bruno Haible  <bruno@clisp.org>
28286
28287         gnulib-tool: Ensure the tests in the main directory are executed first.
28288         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
28289         start with the current directory.
28290
28291 2010-04-02  Bruno Haible  <bruno@clisp.org>
28292
28293         Tests for module 'havelib', moved here from GNU gettext.
28294         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
28295         modifications.
28296         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
28297         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
28298         with modifications.
28299         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
28300         modifications.
28301         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
28302         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
28303         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
28304         with modifications.
28305         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
28306         with modifications.
28307         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
28308         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
28309         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
28310         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
28311         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
28312         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
28313         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
28314         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
28315         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
28316         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
28317         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
28318         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
28319         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
28320         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
28321         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
28322         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
28323         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
28324         with modifications.
28325         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
28326         with modifications.
28327         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
28328         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
28329         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
28330         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
28331         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
28332         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
28333         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
28334         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
28335         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
28336         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
28337         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
28338         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
28339         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
28340         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
28341         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
28342         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
28343         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
28344         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
28345         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
28346         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
28347         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
28348         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
28349         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
28350         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
28351         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
28352         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
28353         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
28354         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
28355         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
28356         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
28357         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
28358         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
28359         * tests/havelib/rpathx/rpathx.c: New file, from
28360         gettext/autoconf-lib-link.
28361         * tests/havelib/rpathx/Makefile.am: New file, from
28362         gettext/autoconf-lib-link.
28363         * tests/havelib/rpathx/configure.ac: New file, from
28364         gettext/autoconf-lib-link with modifications.
28365         * tests/havelib/rpathy/rpathy.c: New file, from
28366         gettext/autoconf-lib-link.
28367         * tests/havelib/rpathy/Makefile.am: New file, from
28368         gettext/autoconf-lib-link.
28369         * tests/havelib/rpathy/configure.ac: New file, from
28370         gettext/autoconf-lib-link with modifications.
28371         * tests/havelib/rpathz/rpathz.c: New file, from
28372         gettext/autoconf-lib-link.
28373         * tests/havelib/rpathz/Makefile.am: New file, from
28374         gettext/autoconf-lib-link.
28375         * tests/havelib/rpathz/configure.ac: New file, from
28376         gettext/autoconf-lib-link with modifications.
28377         * tests/havelib/rpathlx/usex.c: New file, from
28378         gettext/autoconf-lib-link.
28379         * tests/havelib/rpathlx/Makefile.am: New file, from
28380         gettext/autoconf-lib-link.
28381         * tests/havelib/rpathlx/configure.ac: New file, from
28382         gettext/autoconf-lib-link with modifications.
28383         * tests/havelib/rpathly/usey.c: New file, from
28384         gettext/autoconf-lib-link.
28385         * tests/havelib/rpathly/Makefile.am: New file, from
28386         gettext/autoconf-lib-link.
28387         * tests/havelib/rpathly/configure.ac: New file, from
28388         gettext/autoconf-lib-link with modifications.
28389         * tests/havelib/rpathlz/usez.c: New file, from
28390         gettext/autoconf-lib-link.
28391         * tests/havelib/rpathlz/Makefile.am: New file, from
28392         gettext/autoconf-lib-link.
28393         * tests/havelib/rpathlz/configure.ac: New file, from
28394         gettext/autoconf-lib-link with modifications.
28395         * tests/havelib/rpathlyx/usey.c: New file, from
28396         gettext/autoconf-lib-link.
28397         * tests/havelib/rpathlyx/Makefile.am: New file, from
28398         gettext/autoconf-lib-link.
28399         * tests/havelib/rpathlyx/configure.ac: New file, from
28400         gettext/autoconf-lib-link with modifications.
28401         * tests/havelib/rpathlzyx/usez.c: New file, from
28402         gettext/autoconf-lib-link.
28403         * tests/havelib/rpathlzyx/Makefile.am: New file, from
28404         gettext/autoconf-lib-link.
28405         * tests/havelib/rpathlzyx/configure.ac: New file, from
28406         gettext/autoconf-lib-link with modifications.
28407         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
28408         with modifications.
28409
28410 2010-04-02  Bruno Haible  <bruno@clisp.org>
28411
28412         gnulib-tool: Create distributed built sources also for the tests.
28413         * gnulib-tool (func_create_testdir): Also generate distributed built
28414         sources in the tests directory.
28415
28416 2010-04-02  Bruno Haible  <bruno@clisp.org>
28417
28418         gnulib-tool: Obey user's environment variables.
28419         * gnulib-tool (func_create_testdir): When creating built sources,
28420         respect the environment variables for autoconf, automake, etc. given by
28421         the user.
28422
28423 2010-04-02  Bruno Haible  <bruno@clisp.org>
28424
28425         gnulib-tool: Provide the value of --m4-base to modules.
28426         * gnulib-tool (func_import, func_create_testdir): Emit a definition
28427         of gl_m4_base.
28428
28429 2010-04-02  Eric Blake  <eblake@redhat.com>
28430
28431         maint.mk: fix some fallout
28432         * NEWS: Document the incompatible change, and its effect on cfg.mk.
28433         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
28434
28435 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
28436
28437         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
28438         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
28439         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
28440         (sc_cast_of_x_alloc_return_value): Likewise.
28441         (sc_cast_of_alloca_return_value): Likewise.
28442         (sc_space_tab): Likewise.
28443         (sc_prohibit_atoi_atof): Likewise.
28444         (sc_prohibit_magic_number_exit): Likewise.
28445         (sc_error_exit_success): Likewise.
28446         (sc_file_system): Likewise.
28447         (sc_prohibit_have_config_h): Likewise.
28448         (sc_require_config_h): Likewise.
28449         (sc_prohibit_HAVE_MBRTOWC): Likewise.
28450         (sc_obsolete_symbols): Likewise.
28451         (sc_changelog): Likewise.
28452         (sc_program_name): Likewise.
28453         (sc_the_the): Likewise.
28454         (sc_trailing_blank): Likewise.
28455         (sc_two_space_separator_in_usage): Likewise.
28456         (sc_useless_cpp_parens): Likewise.
28457         (sc_GPL_version): Likewise.
28458         (sc_GFDL_version): Likewise.
28459         (sc_texinfo_acronym): Likewise.
28460         (sc_prohibit_cvs_keyword): Likewise.
28461         (sc_prohibit_stat_st_blocks): Likewise.
28462         (sc_prohibit_S_IS_definition): Likewise.
28463         (sc_redundant_const): Likewise.
28464         (sc_makefile_TAB_only_indentation): Likewise.
28465         (sc_m4_quote_check): Likewise.
28466         (sc_makefile_path_separator_check): Likewise.
28467         (sc_copyright_check): Likewise.
28468         (sc_Wundef_boolean): Likewise.
28469         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
28470
28471         maint.mk: match 0 or more whitespace-before-function-call '('
28472         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
28473         that have zero or two-and-more spaces between the function name
28474         and the open parenthesis.
28475         (sc_error_message_warn_fatal): Likewise.
28476         (sc_error_message_uppercase): Likewise.
28477         (sc_error_message_period): Likewise.
28478
28479 2010-03-31  Eric Blake  <eblake@redhat.com>
28480
28481         maint.mk: check for [ as well as test
28482         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
28483         Based on a libvirt report by Matthias Bolte.
28484
28485         gnumakefile: don't squelch _version output
28486         * top/GNUmakefile (_version): Create one-shot dependency rather
28487         than using $(shell) when version must be regenerated.
28488         (_autoreconf): Run verbosely, by default.
28489
28490         sys_time: avoid compiler warnings
28491         * lib/sys_time.in.h (includes): Ensure gcc pragma is
28492         unconditional, fixing regression from 2010-03-29.
28493         Reported by Simon Josefsson.
28494
28495 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
28496
28497         maint.mk: s/_header_without_use/_sc_header_without_use/
28498         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
28499         (sc_prohibit_assert_without_use): Use the new name.
28500         (sc_prohibit_close_stream_without_use): Likewise.
28501         (sc_prohibit_getopt_without_use): Likewise.
28502         (sc_prohibit_quotearg_without_use): Likewise.
28503         (sc_prohibit_quote_without_use): Likewise.
28504         (sc_prohibit_long_options_without_use): Likewise.
28505         (sc_prohibit_inttostr_without_use): Likewise.
28506         (sc_prohibit_ignore_value_without_use): Likewise.
28507         (sc_prohibit_error_without_use): Likewise.
28508         (sc_prohibit_xalloc_without_use): Likewise.
28509         (sc_prohibit_hash_without_use): Likewise.
28510         (sc_prohibit_hash_pjw_without_use): Likewise.
28511         (sc_prohibit_safe_read_without_use): Likewise.
28512         (sc_prohibit_argmatch_without_use): Likewise.
28513         (sc_prohibit_canonicalize_without_use): Likewise.
28514         (sc_prohibit_root_dev_ino_without_use): Likewise.
28515         (sc_prohibit_openat_without_use): Likewise.
28516         (sc_prohibit_c_ctype_without_use): Likewise.
28517         (sc_prohibit_signal_without_use): Likewise.
28518         (sc_prohibit_intprops_without_use): Likewise.
28519
28520 2010-03-30  Eric Blake  <eblake@redhat.com>
28521
28522         maint: improve module indicators
28523         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
28524         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
28525         columns, and avoid extra macro expansion.
28526
28527         fdopendir: work around FreeBSD bug
28528         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
28529         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
28530         * modules/dirent (Makefile.am): Substitute it.
28531         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
28532         declaration.
28533         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
28534         fix.
28535         Reported by Christian Weisgerber <naddy@mips.inka.de>.
28536
28537 2010-03-29  Bruno Haible  <bruno@clisp.org>
28538
28539         Emit #pragma system_header after the inclusion guard, not before.
28540         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
28541         guard that spans the entire file, not before. This enables an
28542         optimization in GCC's preprocessor.
28543         * lib/ctype.in.h: Likewise.
28544         * lib/dirent.in.h: Likewise.
28545         * lib/errno.in.h: Likewise.
28546         * lib/float.in.h: Likewise.
28547         * lib/getopt.in.h: Likewise.
28548         * lib/iconv.in.h: Likewise.
28549         * lib/langinfo.in.h: Likewise.
28550         * lib/locale.in.h: Likewise.
28551         * lib/math.in.h: Likewise.
28552         * lib/netdb.in.h: Likewise.
28553         * lib/netinet_in.in.h: Likewise.
28554         * lib/pty.in.h: Likewise.
28555         * lib/sched.in.h: Likewise.
28556         * lib/se-selinux.in.h: Likewise.
28557         * lib/search.in.h: Likewise.
28558         * lib/spawn.in.h: Likewise.
28559         * lib/stdarg.in.h: Likewise.
28560         * lib/stdint.in.h: Likewise.
28561         * lib/string.in.h: Likewise.
28562         * lib/strings.in.h: Likewise.
28563         * lib/sys_file.in.h: Likewise.
28564         * lib/sys_ioctl.in.h: Likewise.
28565         * lib/sys_time.in.h: Likewise.
28566         * lib/sys_times.in.h: Likewise.
28567         * lib/sys_utsname.in.h: Likewise.
28568         * lib/sys_wait.in.h: Likewise.
28569         * lib/sysexits.in.h: Likewise.
28570         * lib/wctype.in.h: Likewise.
28571
28572 2010-03-28  James Youngman  <jay@gnu.org>
28573
28574         save-cwd: don't leak a file descriptor when the caller execs.
28575         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
28576         saved file descriptor.
28577         * modules/save-cwd (Depends-on): Depend on cloexec.
28578
28579 2010-03-29  Bruno Haible  <bruno@clisp.org>
28580
28581         Remove vestiges of fts-lgpl module.
28582         * lib/fts_.h: Assume GNULIB_FTS is 1.
28583         * lib/fts.c: Likewise.
28584         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
28585
28586 2010-03-28  Bruno Haible  <bruno@clisp.org>
28587
28588         Fix definition of tests witness macro.
28589         * gnulib-tool (func_import): Fix definition of witness macro.
28590
28591 2010-03-28  Bruno Haible  <bruno@clisp.org>
28592
28593         Fix ioctl's protoype on glibc systems.
28594         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
28595         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
28596         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
28597         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
28598         signature. If not, arrange to replace the ioctl function.
28599         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
28600         REPLACE_IOCTL.
28601         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
28602         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
28603         Reported by Ludovic Courtès <ludo@gnu.org>.
28604
28605 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
28606
28607         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
28608         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
28609         made it so grep -r --include=GLOB* ... did not work.
28610
28611 2010-03-26  Jim Meyering  <meyering@redhat.com>
28612             Eric Blake  <eblake@redhat.com>
28613
28614         maint.mk: prohibit use of test's -o and -a operators
28615         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
28616
28617 2010-03-28  Bruno Haible  <bruno@clisp.org>
28618
28619         Remove unused GNULIB_XYZ macro definitions.
28620         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
28621         invocation.
28622
28623 2010-03-28  Bruno Haible  <bruno@clisp.org>
28624
28625         Mark privileged tests modules.
28626         * modules/idpriv-drop-tests (Status): New section.
28627         * modules/idpriv-droptemp-tests (Status): New section.
28628
28629 2010-03-28  Bruno Haible  <bruno@clisp.org>
28630
28631         Split C++ tests into separate tests modules.
28632         * modules/dirent-c++-tests: New file, extracted from
28633         modules/dirent-tests.
28634         * modules/dirent-tests: Depend on it.
28635         * modules/fcntl-h-c++-tests: New file, extracted from
28636         modules/fcntl-h-tests.
28637         * modules/fcntl-h-tests: Depend on it.
28638         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
28639         * modules/glob-tests: Depend on it.
28640         * modules/iconv-h-c++-tests: New file, extracted from
28641         modules/iconv-h-tests.
28642         * modules/iconv-h-tests: Depend on it.
28643         * modules/langinfo-c++-tests: New file, extracted from
28644         modules/langinfo-tests.
28645         * modules/langinfo-tests: Depend on it.
28646         * modules/locale-c++-tests: New file, extracted from
28647         modules/locale-tests.
28648         * modules/locale-tests: Depend on it.
28649         * modules/math-c++-tests: New file, extracted from modules/math-tests.
28650         * modules/math-tests: Depend on it.
28651         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
28652         * modules/pty-tests: Depend on it.
28653         * modules/search-c++-tests: New file, extracted from
28654         modules/search-tests.
28655         * modules/search-tests: Depend on it.
28656         * modules/signal-c++-tests: New file, extracted from
28657         modules/signal-tests.
28658         * modules/signal-tests: Depend on it.
28659         * modules/spawn-c++-tests: New file, extracted from
28660         modules/spawn-tests.
28661         * modules/spawn-tests: Depend on it.
28662         * modules/stdio-c++-tests: New file, extracted from
28663         modules/stdio-tests.
28664         * modules/stdio-tests: Depend on it.
28665         * modules/stdlib-c++-tests: New file, extracted from
28666         modules/stdlib-tests.
28667         * modules/stdlib-tests: Depend on it.
28668         * modules/string-c++-tests: New file, extracted from
28669         modules/string-tests.
28670         * modules/string-tests: Depend on it.
28671         * modules/sys_ioctl-c++-tests: New file, extracted from
28672         modules/sys_ioctl-tests.
28673         * modules/sys_ioctl-tests: Depend on it.
28674         * modules/sys_select-c++-tests: New file, extracted from
28675         modules/sys_select-tests.
28676         * modules/sys_select-tests: Depend on it.
28677         * modules/sys_socket-c++-tests: New file, extracted from
28678         modules/sys_socket-tests.
28679         * modules/sys_socket-tests: Depend on it.
28680         * modules/sys_stat-c++-tests: New file, extracted from
28681         modules/sys_stat-tests.
28682         * modules/sys_stat-tests: Depend on it.
28683         * modules/sys_time-c++-tests: New file, extracted from
28684         modules/sys_time-tests.
28685         * modules/sys_time-tests: Depend on it.
28686         * modules/time-c++-tests: New file, extracted from modules/time-tests.
28687         * modules/time-tests: Depend on it.
28688         * modules/unistd-c++-tests: New file, extracted from
28689         modules/unistd-tests.
28690         * modules/unistd-tests: Depend on it.
28691         * modules/wchar-c++-tests: New file, extracted from
28692         modules/wchar-tests.
28693         * modules/wchar-tests: Depend on it.
28694         * modules/wctype-c++-tests: New file, extracted from
28695         modules/wctype-tests.
28696         * modules/wctype-tests: Depend on it.
28697         Reported by Simon Josefsson.
28698
28699 2010-03-28  Bruno Haible  <bruno@clisp.org>
28700
28701         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
28702         * gnulib-tool (func_exists_module): New function, extracted from
28703         func_verify_module.
28704         (func_verify_module): Use it.
28705         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
28706         'foo' only if 'foo' exists.
28707         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
28708         module.
28709
28710 2010-03-28  Bruno Haible  <bruno@clisp.org>
28711
28712         gnulib-tool: Add support for special categories of tests.
28713         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
28714         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
28715         (func_usage): Document them.
28716         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
28717         inc_unportable_tests, inc_all_tests): New variables.
28718         (func_acceptable): Consider these variables.
28719         (func_modules_transitive_closure): Make it work when the 'Status' field
28720         consists of multiple words.
28721         (func_import): Store and restore the values of inc_cxx_tests,
28722         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
28723         inc_all_tests in gnulib-comp.m4.
28724         (func_create_testdir): Set inc_all_tests to true.
28725         * doc/gnulib.texi (Extra tests modules): New section.
28726         Suggested by Jim Meyering.
28727
28728 2010-03-28  Bruno Haible  <bruno@clisp.org>
28729
28730         ansi-c++-opt: Allow turning off the C++ build by default.
28731         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
28732         gl_CXX_CHOICE_DEFAULT_NO is defined.
28733         Requested by Eric Blake.
28734
28735 2010-03-28  Bruno Haible  <bruno@clisp.org>
28736
28737         unistd: Avoid #define replacements in C++ mode.
28738         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
28739         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
28740         setsockopt, shutdown, select): In C++, attach a warning to the function
28741         if possible, rather than #defining the symbol to a dysfunctional alias.
28742         Reported by John W. Eaton <jwe@gnu.org>.
28743
28744 2010-03-28  Bruno Haible  <bruno@clisp.org>
28745
28746         Fix link errors on mingw.
28747         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
28748         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
28749         $(LIBSOCKET).
28750         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
28751         $(LIBSOCKET).
28752
28753 2010-03-28  Bruno Haible  <bruno@clisp.org>
28754             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28755
28756         lib-ignore: Determine different options for different compilers.
28757         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
28758         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
28759         Add comments.
28760         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
28761         * NEWS: Mention the change.
28762
28763 2010-03-27  Bruno Haible  <bruno@clisp.org>
28764
28765         Remove unused GNULIB_XYZ macro definitions.
28766         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
28767         * modules/fseek (configure.ac): Likewise.
28768         * modules/ioctl (configure.ac): Likewise.
28769         * modules/open (configure.ac): Likewise.
28770         * modules/stdlib-safer (configure.ac): Likewise.
28771
28772 2010-03-27  Bruno Haible  <bruno@clisp.org>
28773
28774         Add a remark about certain modules.
28775         * modules/malloc (Comment): New section.
28776         * modules/realloc (Comment): Likewise.
28777         * modules/sigpipe (Comment): Likewise.
28778
28779 2010-03-27  Bruno Haible  <bruno@clisp.org>
28780
28781         Resolve conflict between the two kinds of module indicators.
28782         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
28783         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
28784         * modules/canonicalize (configure.ac): Invoke
28785         gl_MODULE_INDICATOR_FOR_TESTS.
28786         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
28787         GNULIB_XYZ.
28788         * tests/test-dirent-c++.cc: Likewise.
28789         * tests/test-dirent-safer.c: Likewise.
28790         * tests/test-dup2.c: Likewise.
28791         * tests/test-fchdir.c: Likewise.
28792         * tests/test-fcntl-h-c++.cc: Likewise.
28793         * tests/test-getopt.c: Likewise.
28794         * tests/test-getopt.h: Likewise.
28795         * tests/test-langinfo-c++.cc: Likewise.
28796         * tests/test-locale-c++.cc: Likewise.
28797         * tests/test-math-c++.cc: Likewise.
28798         * tests/test-pty-c++.cc: Likewise.
28799         * tests/test-search-c++.cc: Likewise.
28800         * tests/test-signal-c++.cc: Likewise.
28801         * tests/test-spawn-c++.cc: Likewise.
28802         * tests/test-stdio-c++.cc: Likewise.
28803         * tests/test-stdlib-c++.cc: Likewise.
28804         * tests/test-string-c++.cc: Likewise.
28805         * tests/test-sys_ioctl-c++.cc: Likewise.
28806         * tests/test-sys_select-c++.cc: Likewise.
28807         * tests/test-sys_socket-c++.cc: Likewise.
28808         * tests/test-sys_stat-c++.cc: Likewise.
28809         * tests/test-sys_time-c++.cc: Likewise.
28810         * tests/test-time-c++.cc: Likewise.
28811         * tests/test-unistd-c++.cc: Likewise.
28812         * tests/test-wchar-c++.cc: Likewise.
28813         * tests/uninorm/test-u8-nfc.c: Likewise.
28814         * tests/uninorm/test-u8-nfd.c: Likewise.
28815         * tests/uninorm/test-u8-nfkc.c: Likewise.
28816         * tests/uninorm/test-u8-nfkd.c: Likewise.
28817         * tests/uninorm/test-u16-nfc.c: Likewise.
28818         * tests/uninorm/test-u16-nfd.c: Likewise.
28819         * tests/uninorm/test-u16-nfkc.c: Likewise.
28820         * tests/uninorm/test-u16-nfkd.c: Likewise.
28821         * tests/uninorm/test-u32-nfc.c: Likewise.
28822         * tests/uninorm/test-u32-nfc-big.c: Likewise.
28823         * tests/uninorm/test-u32-nfd.c: Likewise.
28824         * tests/uninorm/test-u32-nfd-big.c: Likewise.
28825         * tests/uninorm/test-u32-nfkc.c: Likewise.
28826         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
28827         * tests/uninorm/test-u32-nfkd.c: Likewise.
28828         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
28829         * tests/uninorm/test-u32-normalize-big.c: Likewise.
28830
28831 2010-03-27  Bruno Haible  <bruno@clisp.org>
28832
28833         Distinguish two kinds of module indicators.
28834         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
28835         gl_MODULE_INDICATOR.
28836         (gl_MODULE_INDICATOR): New macro.
28837         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
28838         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
28839         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
28840         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
28841         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
28842         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
28843         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
28844         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
28845         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
28846         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
28847         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
28848         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
28849         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
28850         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
28851         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
28852         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
28853         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
28854         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
28855         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
28856         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
28857         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
28858         * modules/cloexec (configure.ac): Likewise.
28859         * modules/getopt-gnu (configure.ac): Likewise.
28860         * modules/uninorm/u8-normalize (configure.ac): Likewise.
28861         * modules/uninorm/u16-normalize (configure.ac): Likewise.
28862         * modules/uninorm/u32-normalize (configure.ac): Likewise.
28863         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
28864
28865 2010-03-27  Bruno Haible  <bruno@clisp.org>
28866
28867         New module description field 'Comment'.
28868         * gnulib-tool: New option --extract-comment.
28869         (func_usage): Document it.
28870         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
28871         (func_get_comment): New function.
28872         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
28873
28874 2010-03-27  Bruno Haible  <bruno@clisp.org>
28875
28876         Addendum to 2010-02-07 commit.
28877         * gnulib-tool (func_usage): Document --extract-applicability option.
28878
28879 2010-03-27  Bruno Haible  <bruno@clisp.org>
28880
28881         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
28882         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
28883         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
28884         rather than link errors.
28885
28886 2010-03-27  Bruno Haible  <bruno@clisp.org>
28887
28888         Avoid side effects from tests-related modules on the compilation of lib.
28889         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
28890         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
28891         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
28892         parameter. Emit into AM_CPPFLAGS a definition of the designated C
28893         macro.
28894         (func_import): Define a witness macro. Assign it a value that depends
28895         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
28896         tests-related modules.
28897         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
28898         Reported by Jim Meyering.
28899
28900 2010-03-27  Bruno Haible  <bruno@clisp.org>
28901
28902         Factorize common .m4 code.
28903         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
28904         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
28905         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
28906         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
28907         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
28908         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
28909         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
28910         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
28911         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
28912         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
28913         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
28914         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
28915         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
28916         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
28917         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
28918         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
28919         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
28920         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
28921         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
28922         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
28923         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
28924         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
28925         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
28926         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
28927         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
28928         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
28929         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
28930         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
28931         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
28932         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
28933         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
28934         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
28935
28936 2010-03-27  Bruno Haible  <bruno@clisp.org>
28937
28938         Fix a compilation error on Cygwin with g++ >= 4.3.
28939         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
28940         if it is undefined or if we alias it to chmod.
28941         (lstat): Don't warn about the use of this function if it is undefined
28942         or if we alias it to stat.
28943         Reported by Simon Josefsson.
28944
28945 2010-03-27  Bruno Haible  <bruno@clisp.org>
28946
28947         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
28948         * modules/getlogin (configure.ac): Update.
28949
28950         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
28951         * modules/getlogin_r (configure.ac): Update.
28952
28953         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
28954         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
28955         * modules/inet_ntop (configure.ac): Update.
28956
28957         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
28958         * modules/inet_pton (configure.ac): Update.
28959
28960         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
28961         * modules/mbslen (configure.ac): Update.
28962
28963         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
28964         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
28965         * modules/forkpty (configure.ac): Update.
28966         * modules/openpty (configure.ac): Update.
28967
28968 2010-03-26  Simon Josefsson  <simon@josefsson.org>
28969
28970         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
28971         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
28972
28973 2010-03-25  Eric Blake  <eblake@redhat.com>
28974
28975         maint: use pragma consistently across replacement headers
28976         * lib/ctype.in.h (system_header): Hoist for consistent placement.
28977         * lib/dirent.in.h (system_header): Likewise.
28978         * lib/errno.in.h (system_header): Likewise.
28979         * lib/float.in.h (system_header): Likewise.
28980         * lib/getopt.in.h (system_header): Likewise.
28981         * lib/iconv.in.h (system_header): Likewise.
28982         * lib/inttypes.in.h (system_header): Likewise.
28983         * lib/langinfo.in.h (system_header): Likewise.
28984         * lib/locale.in.h (system_header): Likewise.
28985         * lib/math.in.h (system_header): Likewise.
28986         * lib/netdb.in.h (system_header): Likewise.
28987         * lib/netinet_in.in.h (system_header): Likewise.
28988         * lib/pty.in.h (system_header): Likewise.
28989         * lib/sched.in.h (system_header): Likewise.
28990         * lib/se-selinux.in.h (system_header): Likewise.
28991         * lib/search.in.h (system_header): Likewise.
28992         * lib/spawn.in.h (system_header): Likewise.
28993         * lib/stdarg.in.h (system_header): Likewise.
28994         * lib/stdint.in.h (system_header): Likewise.
28995         * lib/string.in.h (system_header): Likewise.
28996         * lib/strings.in.h (system_header): Likewise.
28997         * lib/sys_file.in.h (system_header): Likewise.
28998         * lib/sys_ioctl.in.h (system_header): Likewise.
28999         * lib/sys_socket.in.h (system_header): Likewise.
29000         * lib/sys_times.in.h (system_header): Likewise.
29001         * lib/sys_utsname.in.h (system_header): Likewise.
29002         * lib/sys_wait.in.h (system_header): Likewise.
29003         * lib/sysexits.in.h (system_header): Likewise.
29004         * lib/unistd.in.h (system_header): Likewise.
29005         * lib/wctype.in.h (system_header): Likewise.
29006
29007         arpa/inet: fix mingw compilation warning
29008         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
29009         Reported by Matthew Bolte.
29010
29011 2010-03-25  Bruno Haible  <bruno@clisp.org>
29012
29013         Avoid collision between gnulib wrapper and libintl wrapper.
29014         * lib/printf.c (printf): Don't define if a printf wrapper is already
29015         defined in intl/printf.c.
29016         Reported by Michel Boaventura <michel@michelboaventura.com>.
29017
29018 2010-03-25  Bruno Haible  <bruno@clisp.org>
29019
29020         Use ANSI C.
29021         * lib/readutmp.h (getutent): Provide ANSI C prototype.
29022
29023 2010-03-25  Bruno Haible  <bruno@clisp.org>
29024
29025         Minor formatting changes.
29026         * lib/acosl.c: Insert space before function argument list.
29027         * lib/argz.c: Likewise.
29028         * lib/asinl.c: Likewise.
29029         * lib/expl.c: Likewise.
29030         * lib/gen-uni-tables.c: Likewise.
29031         * lib/gettext.h: Likewise.
29032         * lib/glthread/lock.h: Likewise.
29033         * lib/tanl.c: Likewise.
29034         * lib/uniname/uniname.c: Likewise.
29035         * tests/test-idpriv-drop.c: Likewise.
29036         * tests/test-idpriv-droptemp.c: Likewise.
29037         * tests/test-lock.c: Likewise.
29038         * tests/test-tls.c: Likewise.
29039         * lib/argp-help.c: Insert space before function-like macro argument
29040         list.
29041         * lib/memcmp.c: Likewise.
29042         * tests/test-base64.c: Likewise.
29043         * lib/localename.c: Insert space before sizeof's argument list.
29044         * lib/safe-alloc.h: Likewise.
29045         * lib/file-set.h: Insert space before macro argument list.
29046         * tests/test-argp.c: Likewise.
29047         * lib/argp-namefrob.h: Insert space before function parameter list.
29048         * lib/getaddrinfo.c: Likewise.
29049         * lib/netdb.in.h: Likewise.
29050         * lib/parse-duration.h: Likewise.
29051         * lib/parse-duration.c: Likewise.
29052         * lib/poll.c: Likewise.
29053         * lib/select.c: Likewise.
29054         * lib/trim.h: Likewise.
29055         * tests/test-usleep.c: Likewise.
29056         * lib/ldexpl.c: Insert space before function parameter list and before
29057         function argument list.
29058         * lib/logl.c: Likewise.
29059         * lib/sqrtl.c: Likewise.
29060         * lib/trim.c: Likewise.
29061         * lib/cosl.c: Use GNU style indentation. Insert space before function
29062         argument list.
29063         * lib/sinl.c: Likewise.
29064         * lib/tsearch.c: Insert space after 'for'.
29065         Reported by Jim Meyering.
29066
29067 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
29068
29069         * maint.mk (sc_Wundef_boolean): Check for the presence of the
29070         config header before grepping, as it's not present before
29071         autoreconf/configure are run.  Reported by Simon Josefsson.
29072
29073 2010-03-23  Bruno Haible  <bruno@clisp.org>
29074
29075         pt_chown: Make it work with automake < 1.11.
29076         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
29077         Reported by Simon Josefsson.
29078
29079 2010-03-23  Bruno Haible  <bruno@clisp.org>
29080
29081         pt_chown: Don't depend on GPLed modules.
29082         * lib/pt_chown.c: Don't include idpriv.h.
29083         (main): Don't drop privileges.
29084         * modules/pt_chown (Depends-on): Remove idpriv-drop.
29085         Reported by Simon Josefsson.
29086
29087 2010-03-24  Simon Josefsson  <simon@josefsson.org>
29088
29089         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
29090         suggestions from karl@freefriends.org (Karl Berry).
29091
29092 2010-03-22  Eric Blake  <eblake@redhat.com>
29093
29094         gethostname: further tweaks
29095         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
29096         are overriding gethostname.
29097         Suggested by Bruno Haible.
29098
29099 2010-03-21  Bruno Haible  <bruno@clisp.org>
29100
29101         Fix comments.
29102         * lib/forkpty.c (rpl_forkpty): Fix comment.
29103         * lib/openpty.c (rpl_openpty): Likewise.
29104         Reported by Eric Blake.
29105
29106 2010-03-22  Eric Blake  <eblake@redhat.com>
29107
29108         gethostname: fix build on mingw
29109         * lib/unistd.in.h (includes): Work around fact that mingw
29110         <winsock2.h> re-includes <unistd.h>, by avoiding any
29111         redeclarations if we are being included by <winsock2.h>.
29112         Reported by Matthias Bolte.
29113
29114 2010-03-21  Bruno Haible  <bruno@clisp.org>
29115
29116         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
29117         * lib/forkpty.c (forkpty): New replacement function, from glibc with
29118         modifications.
29119         * lib/pty.in.h (forkpty): Update declaration. Add comments.
29120         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
29121         provide the replacement.
29122         * modules/forkpty (Depends-on): Add openpty, login_tty.
29123         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
29124         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
29125         * doc/glibc-functions/forkpty.texi: More supported platforms.
29126         * config/srclist.txt: Add forkpty.c (commented).
29127
29128 2010-03-21  Bruno Haible  <bruno@clisp.org>
29129
29130         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
29131         (Makefile.am): Verify that PTY_LIB is defined.
29132
29133         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
29134
29135 2010-03-21  Bruno Haible  <bruno@clisp.org>
29136
29137         Tests for module 'login_tty'.
29138         * modules/login_tty-tests: New file.
29139         * tests/test-login_tty.c: New file.
29140
29141         New module 'login_tty'.
29142         * lib/login_tty.c: New file.
29143         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
29144         * modules/login_tty: New file.
29145         * doc/glibc-functions/login_tty.texi: Mention the new module.
29146
29147 2010-03-21  Bruno Haible  <bruno@clisp.org>
29148
29149         login_tty: Documentation.
29150         * doc/glibc-functions/login_tty.texi: New file.
29151         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
29152
29153 2010-03-21  Bruno Haible  <bruno@clisp.org>
29154
29155         pty: Consistent macro naming.
29156         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
29157         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
29158         * modules/pty (configure.ac): Update.
29159
29160 2010-03-21  Bruno Haible  <bruno@clisp.org>
29161
29162         Tests for openpty: Make stricter.
29163         * tests/test-openpty.c (main): Add test of canonical processing and
29164         erase.
29165         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
29166
29167         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
29168         * lib/openpty.c (openpty): New replacement function.
29169         * lib/pty.in.h: Include <termios.h>.
29170         (openpty): Update declaration. Add comments.
29171         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
29172         is not declared, arrange to provide the replacement. Check for _getpty
29173         and posix_openpt.
29174         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
29175         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
29176         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
29177         * modules/pty-tests (test_pty_c___LDADD): New variable.
29178         * doc/glibc-functions/openpty.texi: More supported platforms.
29179
29180 2010-03-21  Bruno Haible  <bruno@clisp.org>
29181
29182         setenv: Tweaks.
29183         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
29184         the test program.
29185         * doc/posix-functions/setenv.texi: Update platforms list.
29186
29187 2010-03-21  Bruno Haible  <bruno@clisp.org>
29188
29189         New module 'unlockpt'.
29190         * lib/unlockpt.c: New file, from glibc with modifications.
29191         * m4/unlockpt.m4: New file.
29192         * modules/unlockpt: New file.
29193         * lib/stdlib.in.h (unlockpt): New declaration.
29194         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
29195         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
29196         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
29197         HAVE_UNLOCKPT.
29198         * doc/posix-functions/unlockpt.texi: Mention the new module.
29199         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
29200         * config/srclist.txt: Add unlockpt.c (commented).
29201
29202 2010-03-21  Jim Meyering  <meyering@redhat.com>
29203
29204         maint.mk: prohibit inclusion of "intprops.h" without use
29205         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
29206
29207 2010-03-21  Bruno Haible  <bruno@clisp.org>
29208
29209         New module 'grantpt'.
29210         * lib/grantpt.c: New file, from glibc with modifications.
29211         * m4/grantpt.m4: New file.
29212         * modules/grantpt: New file.
29213         * lib/stdlib.in.h (grantpt): New declaration.
29214         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
29215         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
29216         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
29217         HAVE_GRANTPT.
29218         * doc/posix-functions/grantpt.texi: Mention the new module.
29219         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
29220         * config/srclist.txt: Add grantpt.c (commented).
29221
29222 2010-03-21  Bruno Haible  <bruno@clisp.org>
29223
29224         New module 'pt_chown'.
29225         * lib/pt_chown.c: New file, from glibc with modifications.
29226         * lib/pty-private.h: New file, from glibc with modifications.
29227         * modules/pt_chown: New file.
29228         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
29229
29230 2010-03-21  Bruno Haible  <bruno@clisp.org>
29231
29232         Tests for module 'ptsname'.
29233         * modules/ptsname-tests: New file.
29234         * tests/test-ptsname.c: New file.
29235
29236         New module 'ptsname'.
29237         * lib/ptsname.c: New file, from glibc with modifications.
29238         * m4/ptsname.m4: New file.
29239         * modules/ptsname: New file.
29240         * lib/stdlib.in.h (ptsname): New declaration.
29241         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
29242         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
29243         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
29244         HAVE_PTSNAME.
29245         * doc/posix-functions/ptsname.texi: Mention the new module.
29246         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
29247         * config/srclist.txt: Add ptsname.c (commented).
29248
29249 2010-03-21  Bruno Haible  <bruno@clisp.org>
29250
29251         Tests for module 'ttyname_r'.
29252         * modules/ttyname_r-tests: New file.
29253         * tests/test-ttyname_r.c: New file.
29254
29255         New module 'ttyname_r'.
29256         * lib/ttyname_r.c: New file.
29257         * m4/ttyname_r.m4: New file.
29258         * modules/ttyname_r: New file.
29259         * lib/unistd.in.h (ttyname_r): New declaration.
29260         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
29261         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
29262         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
29263         HAVE_TTYNAME_R.
29264         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
29265         * doc/posix-functions/ttyname_r.texi: Mention the new module.
29266
29267 2010-03-20  Bruno Haible  <bruno@clisp.org>
29268
29269         signal: Undefine macro definitions in C++ mode.
29270         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
29271         sigfillset): Undefine macro definitions from the system header in C++
29272         mode.
29273         Reported by John W. Eaton <jwe@gnu.org>.
29274
29275 2010-03-20  Bruno Haible  <bruno@clisp.org>
29276
29277         Ensure no #include statements inside extern "C" { ... }.
29278         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
29279         contain #include statements.
29280         * lib/time.in.h: Likewise.
29281
29282 2010-03-20  Bruno Haible  <bruno@clisp.org>
29283
29284         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
29285         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
29286         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
29287         Reported by John W. Eaton <jwe@gnu.org>.
29288
29289 2010-03-20  Bruno Haible  <bruno@clisp.org>
29290
29291         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
29292         Reported by Jim Meyering.
29293
29294 2010-03-20  Bruno Haible  <bruno@clisp.org>
29295
29296         pipe: Set errno upon failure.
29297         * lib/pipe.h: Specify that when -1 is returned, errno is set.
29298         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
29299         errno value in error message.
29300
29301 2010-03-20  Bruno Haible  <bruno@clisp.org>
29302             Jim Meyering  <meyering@redhat.com>
29303
29304         lchown: Avoid "unused variable" warning.
29305         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
29306
29307 2010-03-20  Bruno Haible  <bruno@clisp.org>
29308
29309         Work around unlink() bug on MacOS X 10.5.6.
29310         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
29311         attempting to unlink a parent directory.
29312         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
29313         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
29314         activate for the replacement function.
29315         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
29316
29317 2010-03-20  Bruno Haible  <bruno@clisp.org>
29318
29319         Fix link errors on Solaris 8.
29320         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
29321         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
29322
29323 2010-03-19  Jim Meyering  <meyering@redhat.com>
29324
29325         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
29326         The _LIBC implementation of build_range_exp correctly honors the
29327         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
29328         However, the non-_LIBC implementation would ignore that syntax-bit
29329         flag and return REG_ERANGE unconditionally.
29330         This change makes it honor that flag.
29331         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
29332         Make two pointer parameters "const".
29333         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
29334         (parse_bracket_exp): Update caller.
29335
29336         regex.m4: correct the reversed range endpoint ([b-a]) test
29337         * m4/regex.m4: When requiring that [b-a] evoke failure,
29338         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
29339         test pass once again for x86-based systems.
29340
29341 2010-03-19  Bruno Haible  <bruno@clisp.org>
29342
29343         scandir: Fix link error on Solaris 8.
29344         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
29345         macros.
29346
29347 2010-03-19  Bruno Haible  <bruno@clisp.org>
29348
29349         getusershell: Fix documentation.
29350         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
29351         module.
29352         * doc/glibc-functions/setusershell.texi: Likewise.
29353
29354         getusershell: Provide declaration, missing on Solaris 9.
29355         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
29356         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
29357         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
29358         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
29359         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29360         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
29361         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
29362         HAVE_GETUSERSHELL.
29363         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
29364
29365 2010-03-19  Bruno Haible  <bruno@clisp.org>
29366
29367         wctype: Provide iswblank function.
29368         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
29369         exists and is fine.
29370         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
29371         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
29372         * tests/test-wctype.c (main): Re-enable the iswblank tests.
29373         * doc/posix-functions/iswblank.texi: Update.
29374
29375 2010-03-19  Bruno Haible  <bruno@clisp.org>
29376
29377         Tests of module 'pty' in C++ mode.
29378         * modules/pty-tests: New file.
29379         * tests/test-pty-c++.cc: New file.
29380         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29381
29382 2010-03-19  Eric Blake  <eblake@redhat.com>
29383
29384         logb: fix documentation
29385         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
29386         1.5 declaration bug.
29387
29388         forkpty, openpty: prefer glibc's const-safe prototype
29389         * lib/forkpty.c (rpl_forkpty): New file.
29390         * lib/openpty.c (rpl_openpty): Likewise.
29391         * modules/forkpty (Files): Distribute it.
29392         * modules/openpty (Files): Likewise.
29393         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
29394         check...
29395         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
29396         replacement for for non-const BSD signature.
29397         * modules/pty (Makefile.am): Substitute witnesses.
29398         * lib/pty.in.h (forkpty, openpty): Declare replacements.
29399         * tests/test-forkpty.c: Update signature check.
29400         * tests/test-openpty.c: Likewise.
29401         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
29402         * doc/glibc-functions/openpty.texi (openpty): Likewise.
29403
29404         forkpty, openpty: split functions into new modules
29405         * modules/pty (Makefile.am): Substitute new witnesses.
29406         (Libraries): Move library detection...
29407         * modules/forkpty: ...into new module.
29408         * modules/openpty: Another new module.
29409         * modules/pty-tests: Rename and split...
29410         * modules/forkpty-tests: ...to this...
29411         * modules/openpty-tests: ...and this.
29412         * tests/test-pty.c: Rename and split...
29413         * tests/test-forkpty.c: ...to this...
29414         * tests/test-openpty.c: ...and this.
29415         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
29416         (gl_PTY): Split library searching...
29417         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
29418         (gl_FORKPTY, gl_OPENPTY): New macros.
29419         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
29420         * NEWS: Mention the split.
29421         * MODULES.html.sh (Misc): Document the modules.
29422         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
29423         * doc/glibc-functions/openpty.texi (openpty): Likewise.
29424
29425         pty: improve replacement header
29426         * lib/pty.in.h: New file.
29427         * modules/pty (Files): Ship it.
29428         (Makefile.am): Always build replacement.
29429         * m4/pty.m4: Rename...
29430         * m4/pty_h.m4: ...to this.
29431         (gl_PTY): Modernize setting of witness macros; update check of
29432         forkpty to take proper advantage of cache.
29433         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
29434
29435         getopt: avoid compiler warning
29436         * lib/getopt.c (attribute_hidden): Remove unused macro.
29437
29438 2010-03-18  Bruno Haible  <bruno@clisp.org>
29439
29440         Fix link errors on Solaris 8.
29441         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
29442         * modules/search-tests (test_search_c___LDADD): Likewise.
29443         * modules/signal-tests (test_signal_c___LDADD): Likewise.
29444         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
29445         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
29446         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
29447         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
29448         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
29449         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
29450
29451 2010-03-18  Bruno Haible  <bruno@clisp.org>
29452
29453         Fix bug introduced on 2010-03-14.
29454         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
29455         (gl_SPAWN_H): Require it.
29456         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
29457         Reported by Simon Josefsson.
29458
29459 2010-03-18  Bruno Haible  <bruno@clisp.org>
29460
29461         Fix typo introduced on 2009-12-31.
29462         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
29463         posix_spawn_file_actions_adddup2.
29464
29465 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
29466         and Eric Blake  <eblake@redhat.com>
29467
29468         test-vc-list-files-git: make more robust
29469         * tests/test-vc-list-files-git.sh: Unset problematic environment
29470         variables.  Chain commands together.
29471
29472 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
29473
29474         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
29475         `AC_CHECK_DECL' invocation.
29476
29477 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
29478
29479         * lib/inttostr.c (inttostr): Make sure the invocation of verify
29480         appears before executable statements. Suggested by Petr Sumbera
29481         <Petr.Sumbera@Sun.COM>.
29482
29483 2010-03-14  Bruno Haible  <bruno@clisp.org>
29484
29485         * tests/test-flock.c (test_exclusive): Comment out a test that causes
29486         portability problems. Instead use a simpler test.
29487         (main): Check that invalid arguments are rejected only on Linux.
29488
29489 2010-03-14  Bruno Haible  <bruno@clisp.org>
29490
29491         Fix bug introduced on 2009-12-31.
29492         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
29493         gl_PREREQ_SYS_H_WINSOCK2 always.
29494         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
29495         SYS_SOCKET_H variable.
29496         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
29497         Update comments.
29498         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
29499         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
29500         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
29501         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
29502         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
29503
29504 2010-03-14  Bruno Haible  <bruno@clisp.org>
29505
29506         Fix values returned by sinl, cosl.
29507         * lib/trigl.h: Add specification comments.
29508         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
29509         that combines the values from the precomputed table with the values of
29510         the Chebyshev polynomials.
29511
29512 2010-03-14  Bruno Haible  <bruno@clisp.org>
29513
29514         Fix compilation error when modules 'posix_spawn[p]' are not used.
29515         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
29516         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
29517
29518 2010-03-14  Bruno Haible  <bruno@clisp.org>
29519
29520         Fix compilation error on mingw when module 'time_r' is not used.
29521         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
29522         is 1.
29523         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
29524         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
29525         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
29526         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
29527
29528 2010-03-14  Bruno Haible  <bruno@clisp.org>
29529
29530         Fix compilation error with Sun C.
29531         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
29532         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
29533         instead of GCC specific ULONG_LONG_MAX.
29534         * lib/xstrtoll.c: Likewise.
29535         * lib/xstrtoull.c: Likewise.
29536
29537 2010-03-13  Bruno Haible  <bruno@clisp.org>
29538
29539         Allow the user to disable C++ code and tests.
29540         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
29541         (gl_PROG_ANSI_CXX): Require it.
29542
29543 2010-03-13  Bruno Haible  <bruno@clisp.org>
29544
29545         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
29546         cases.
29547
29548 2010-03-13  Bruno Haible  <bruno@clisp.org>
29549
29550         Test that gnulib does not break the standard C++ headers.
29551         * tests/test-locale-c++2.cc: New file.
29552         * modules/locale-tests (Files): Add it.
29553         (Makefile.am): Compile it for test-locale-c++.
29554         * tests/test-math-c++2.cc: New file.
29555         * modules/math-tests (Files): Add it.
29556         (Makefile.am): Compile it for test-math-c++.
29557         * tests/test-signal-c++2.cc: New file.
29558         * modules/signal-tests (Files): Add it.
29559         (Makefile.am): Compile it for test-signal-c++.
29560         * tests/test-stdio-c++2.cc: New file.
29561         * modules/stdio-tests (Files): Add it.
29562         (Makefile.am): Compile it for test-stdio-c++.
29563         * tests/test-stdlib-c++2.cc: New file.
29564         * modules/stdlib-tests (Files): Add it.
29565         (Makefile.am): Compile it for test-stdlib-c++.
29566         * tests/test-string-c++2.cc: New file.
29567         * modules/string-tests (Files): Add it.
29568         (Makefile.am): Compile it for test-string-c++.
29569         * tests/test-time-c++2.cc: New file.
29570         * modules/time-tests (Files): Add it.
29571         (Makefile.am): Compile it for test-time-c++.
29572         Reported by John W. Eaton <jwe@gnu.org>.
29573
29574 2010-03-13  Bruno Haible  <bruno@clisp.org>
29575
29576         * gnulib-tool (func_usage): Clarify which options are available for
29577         --create-testdir and --create-megatestdir.
29578
29579 2010-03-13  Bruno Haible  <bruno@clisp.org>
29580
29581         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
29582         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
29583         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
29584         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
29585         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
29586         when appropriate.
29587         Reported by Jim Meyering.
29588
29589 2010-03-12  Simon Josefsson  <simon@josefsson.org>
29590
29591         * gnulib-tool (func_import): Explain origin of code.
29592
29593 2010-03-12  Bruno Haible  <bruno@clisp.org>
29594
29595         Fix problem with automake's definition of CXXLINK.
29596         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
29597         Reported by Simon Josefsson and Ludovic Courtès.
29598
29599 2010-03-12  Bruno Haible  <bruno@clisp.org>
29600
29601         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
29602         stable releases.
29603
29604 2010-03-11  Bruno Haible  <bruno@clisp.org>
29605
29606         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
29607         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
29608         whether the system provides one variant or multiple variants of the
29609         function.
29610         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
29611         C++ compilers.
29612         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
29613         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
29614         Reported by Jim Meyering.
29615
29616 2010-03-09  Simon Josefsson  <simon@josefsson.org>
29617
29618         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
29619
29620 2010-03-08  Bruno Haible  <bruno@clisp.org>
29621
29622         gnulib-tool: Add support for --libtool in --create-testdir.
29623         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
29624         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
29625
29626 2010-03-08  Eric Blake  <eblake@redhat.com>
29627
29628         gnulib-tool.texi: mention possibility of git submodule
29629         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
29630         submodules.
29631         * doc/.gitignore: Ignore another generated file.
29632
29633 2010-03-08  Karl Berry  <karl@gnu.org>
29634
29635         * doc/gnulib-tool.texi (VCS Issues): Mention third option
29636         of committing gnulib files while skipping others.
29637
29638 2010-03-07  Bruno Haible  <bruno@clisp.org>
29639
29640         Tests of module 'wctype' in C++ mode.
29641         * tests/test-wctype-c++.cc: New file.
29642         * modules/wctype-tests (Files): Add it and tests/signature.h.
29643         (Depends-on): Add ansi-c++-opt.
29644         (Makefile.am): Arrange to compile and run test-wctype-c++.
29645
29646         Tests of module 'wchar' in C++ mode.
29647         * tests/test-wchar-c++.cc: New file.
29648         * modules/wchar-tests (Files): Add it and tests/signature.h.
29649         (Depends-on): Add ansi-c++-opt.
29650         (Makefile.am): Arrange to compile and run test-wchar-c++.
29651         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
29652         gl_MODULE_INDICATOR.
29653
29654         Tests of module 'unistd' in C++ mode.
29655         * tests/test-unistd-c++.cc: New file.
29656         * modules/unistd-tests (Files): Add it and tests/signature.h.
29657         (Depends-on): Add ansi-c++-opt.
29658         (Makefile.am): Arrange to compile and run test-unistd-c++.
29659         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
29660         gl_MODULE_INDICATOR.
29661
29662         Tests of module 'time' in C++ mode.
29663         * tests/test-time-c++.cc: New file.
29664         * modules/time-tests (Files): Add it and tests/signature.h.
29665         (Depends-on): Add ansi-c++-opt.
29666         (Makefile.am): Arrange to compile and run test-time-c++.
29667         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29668
29669         Tests of module 'sys_time' in C++ mode.
29670         * tests/test-sys_time-c++.cc: New file.
29671         * modules/sys_time-tests (Files): Add it and tests/signature.h.
29672         (Depends-on): Add ansi-c++-opt.
29673         (Makefile.am): Arrange to compile and run test-sys_time-c++.
29674         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
29675         gl_MODULE_INDICATOR.
29676
29677         Tests of module 'sys_stat' in C++ mode.
29678         * tests/test-sys_stat-c++.cc: New file.
29679         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
29680         (Depends-on): Add ansi-c++-opt.
29681         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
29682         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
29683         gl_MODULE_INDICATOR.
29684
29685         Tests of module 'sys_socket' in C++ mode.
29686         * tests/test-sys_socket-c++.cc: New file.
29687         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
29688         (Depends-on): Add ansi-c++-opt.
29689         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
29690         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
29691         gl_MODULE_INDICATOR.
29692
29693         Tests of module 'sys_select' in C++ mode.
29694         * tests/test-sys_select-c++.cc: New file.
29695         * modules/sys_select-tests (Files): Add it and tests/signature.h.
29696         (Depends-on): Add ansi-c++-opt.
29697         (Makefile.am): Arrange to compile and run test-sys_select-c++.
29698         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
29699         gl_MODULE_INDICATOR.
29700
29701         Tests of module 'sys_ioctl' in C++ mode.
29702         * tests/test-sys_ioctl-c++.cc: New file.
29703         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
29704         (Depends-on): Add ansi-c++-opt.
29705         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
29706         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
29707         gl_MODULE_INDICATOR.
29708
29709         Tests of module 'string' in C++ mode.
29710         * tests/test-string-c++.cc: New file.
29711         * modules/string-tests (Files): Add it and tests/signature.h.
29712         (Depends-on): Add ansi-c++-opt.
29713         (Makefile.am): Arrange to compile and run test-string-c++.
29714         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
29715         gl_MODULE_INDICATOR.
29716
29717         Tests of module 'stdlib' in C++ mode.
29718         * tests/test-stdlib-c++.cc: New file.
29719         * modules/stdlib-tests (Files): Add it and tests/signature.h.
29720         (Depends-on): Add ansi-c++-opt.
29721         (Makefile.am): Arrange to compile and run test-stdlib-c++.
29722         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
29723         gl_MODULE_INDICATOR.
29724
29725         Tests of module 'stdio' in C++ mode.
29726         * tests/test-stdio-c++.cc: New file.
29727         * modules/stdio-tests (Files): Add it and tests/signature.h.
29728         (Depends-on): Add ansi-c++-opt.
29729         (Makefile.am): Arrange to compile and run test-stdio-c++.
29730         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
29731         gl_MODULE_INDICATOR.
29732
29733         Tests of module 'spawn' in C++ mode.
29734         * tests/test-spawn-c++.cc: New file.
29735         * modules/spawn-tests (Files): Add it and tests/signature.h.
29736         (Depends-on): Add ansi-c++-opt.
29737         (Makefile.am): Arrange to compile and run test-spawn-c++.
29738         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
29739         gl_MODULE_INDICATOR.
29740
29741         Tests of module 'signal' in C++ mode.
29742         * tests/test-signal-c++.cc: New file.
29743         * modules/signal-tests (Files): Add it and tests/signature.h.
29744         (Depends-on): Add ansi-c++-opt.
29745         (Makefile.am): Arrange to compile and run test-signal-c++.
29746         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
29747         gl_MODULE_INDICATOR.
29748
29749         Tests of module 'search' in C++ mode.
29750         * tests/test-search-c++.cc: New file.
29751         * modules/search-tests (Files): Add it and tests/signature.h.
29752         (Depends-on): Add ansi-c++-opt.
29753         (Makefile.am): Arrange to compile and run test-search-c++.
29754         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
29755         gl_MODULE_INDICATOR.
29756
29757         Tests of module 'math' in C++ mode.
29758         * tests/test-math-c++.cc: New file.
29759         * modules/math-tests (Files): Add it and tests/signature.h.
29760         (Depends-on): Add ansi-c++-opt.
29761         (Makefile.am): Arrange to compile and run test-math-c++.
29762         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29763
29764         Tests of module 'locale' in C++ mode.
29765         * tests/test-locale-c++.cc: New file.
29766         * modules/locale-tests (Files): Add it and tests/signature.h.
29767         (Depends-on): Add ansi-c++-opt.
29768         (Makefile.am): Arrange to compile and run test-locale-c++.
29769         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
29770         gl_MODULE_INDICATOR.
29771
29772         Tests of module 'langinfo' in C++ mode.
29773         * tests/test-langinfo-c++.cc: New file.
29774         * modules/langinfo-tests (Files): Add it and tests/signature.h.
29775         (Depends-on): Add ansi-c++-opt.
29776         (Makefile.am): Arrange to compile and run test-langinfo-c++.
29777         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
29778         gl_MODULE_INDICATOR.
29779
29780         Tests of module 'iconv-h' in C++ mode.
29781         * tests/test-iconv-h-c++.cc: New file.
29782         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
29783         (Depends-on): Add ansi-c++-opt.
29784         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
29785
29786         Tests of module 'glob' in C++ mode.
29787         * tests/test-glob-c++.cc: New file.
29788         * modules/glob-tests (Files): Add it.
29789         (Depends-on): Add ansi-c++-opt.
29790         (Makefile.am): Arrange to compile and run test-glob-c++.
29791
29792         Tests of module 'fcntl-h' in C++ mode.
29793         * tests/test-fcntl-h-c++.cc: New file.
29794         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
29795         (Depends-on): Add ansi-c++-opt.
29796         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
29797         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
29798         gl_MODULE_INDICATOR.
29799
29800         Tests of module 'dirent' in C++ mode.
29801         * tests/test-dirent-c++.cc: New file.
29802         * modules/dirent-tests (Files): Add it and tests/signature.h.
29803         (Depends-on): Add ansi-c++-opt.
29804         (Makefile.am): Arrange to compile and run test-dirent-c++.
29805         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
29806         gl_MODULE_INDICATOR.
29807
29808         New module 'ansi-c++-opt'.
29809         * modules/ansi-c++-opt: New file.
29810         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
29811
29812         Document C++ namespace mode.
29813         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
29814
29815         wctype: Avoid #define replacements in C++ mode.
29816         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
29817         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
29818         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
29819         In C++, define a namespaced alias symbol.
29820         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
29821         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
29822         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
29823         rule.
29824
29825         wchar: Avoid #define replacements in C++ mode.
29826         * lib/wchar.in.h: Include c++defs.h.
29827         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
29828         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
29829         symbol.
29830         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
29831         * modules/wchar (Depends-on): Add c++defs.
29832         (Makefile.am): Update wchar.h rule.
29833
29834         unistd: Avoid #define replacements in C++ mode.
29835         * lib/unistd.in.h: Include c++defs.h.
29836         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
29837         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
29838         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
29839         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
29840         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
29841         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
29842         symbol.
29843         (environ): Update.
29844         * modules/unistd (Depends-on): Add c++defs.
29845         (Makefile.am): Update unistd.h rule.
29846
29847         time: Avoid #define replacements in C++ mode.
29848         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
29849         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
29850         define a namespaced alias symbol.
29851         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
29852         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
29853         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
29854         * modules/time (Depends-on): Add c++defs, warn-on-use.
29855         (Makefile.am): Update time.h rule.
29856         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
29857         * modules/nanosleep (configure.ac): Likewise.
29858         * modules/strptime (configure.ac): Likewise.
29859         * modules/timegm (configure.ac): Likewise.
29860
29861         sys_time: Avoid #define replacements in C++ mode.
29862         * lib/sys_time.in.h: Include c++defs.h.
29863         (gettimeofday): In C++, define a namespaced alias symbol.
29864         * modules/sys_time (Depends-on): Add c++defs.
29865         (Makefile.am): Update sys/time.h rule.
29866
29867         sys_stat: Avoid #define replacements in C++ mode.
29868         * lib/sys_stat.in.h: Include c++defs.h.
29869         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
29870         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
29871         namespaced alias symbol.
29872         In C++, define a namespaced alias symbol.
29873         * modules/sys_stat (Depends-on): Add c++defs.
29874         (Makefile.am): Update sys/stat.h rule.
29875
29876         sys_socket: Avoid #define replacements in C++ mode.
29877         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
29878         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
29879         definitions also when the system has a <sys/socket.h>.
29880         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
29881         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
29882         In C++, define a namespaced alias symbol.
29883         * modules/sys_socket (Depends-on): Add c++defs.
29884         (Makefile.am): Update sys/socket.h rule.
29885
29886         sys_select: Avoid #define replacements in C++ mode.
29887         * lib/sys_select.in.h: Include c++defs.h. Enable the function
29888         definitions also when the system has a <sys/select.h>.
29889         (select): In C++, define a namespaced alias symbol.
29890         * modules/sys_select (Depends-on): Add c++defs.
29891         (Makefile.am): Update sys/select.h rule.
29892
29893         sys_ioctl: Avoid #define replacements in C++ mode.
29894         * lib/sys_ioctl.in.h: Include c++defs.h.
29895         (ioctl): In C++, define a namespaced alias symbol.
29896         * modules/sys_ioctl (Depends-on): Add c++defs.
29897         (Makefile.am): Update sys/ioctl.h rule.
29898
29899         string: Avoid #define replacements in C++ mode.
29900         * lib/string.in.h: Include c++defs.h.
29901         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
29902         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
29903         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
29904         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
29905         strsignal, strverscmp): In C++, define a namespaced alias symbol.
29906         * modules/string (Depends-on): Add c++defs.
29907         (Makefile.am): Update string.h rule.
29908
29909         stdlib: Avoid #define replacements in C++ mode.
29910         * lib/stdlib.in.h: Include c++defs.h.
29911         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
29912         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
29913         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
29914         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
29915         symbol.
29916         * modules/stdlib (Depends-on): Add c++defs.
29917         (Makefile.am): Update stdlib.h rule.
29918
29919         stdio: Avoid #define replacements in C++ mode.
29920         * lib/stdio.in.h: Include c++defs.h.
29921         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
29922         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
29923         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
29924         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
29925         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
29926         namespaced alias symbol.
29927         * modules/stdio (Depends-on): Add c++defs.
29928         (Makefile.am): Update stdio.h rule.
29929
29930         spawn: Avoid #define replacements in C++ mode.
29931         * lib/spawn.in.h: Include c++defs.h.
29932         (posix_spawn, posix_spawnp, posix_spawnattr_init,
29933         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
29934         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
29935         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
29936         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
29937         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
29938         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
29939         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
29940         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
29941         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
29942         In C++, define a namespaced alias symbol.
29943         * modules/spawn (Depends-on): Add c++defs.
29944         (Makefile.am): Update spawn.h rule.
29945
29946         signal: Avoid #define replacements in C++ mode.
29947         * lib/signal.in.h: Include c++defs.h.
29948         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
29949         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
29950         namespaced alias symbol.
29951         * modules/signal (Depends-on): Add c++defs.
29952         (Makefile.am): Update signal.h rule.
29953
29954         search: Avoid #define replacements in C++ mode.
29955         * lib/search.in.h: Include c++defs.h.
29956         (_gl_search_compar_fn, _gl_search_action_fn): New types.
29957         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
29958         symbol.
29959         * modules/search (Depends-on): Add c++defs.
29960         (Makefile.am): Update search.h rule.
29961
29962         math: Avoid #define replacements in C++ mode.
29963         * lib/math.in.h: Include c++defs.h.
29964         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
29965         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
29966         trunc, truncl): In C++, define a namespaced alias symbol.
29967         * modules/math (Depends-on): Add c++defs.
29968         (Makefile.am): Update math.h rule.
29969
29970         locale: Avoid #define replacements in C++ mode.
29971         * lib/locale.in.h: Include c++defs.h.
29972         (duplocale): In C++, define a namespaced alias symbol.
29973         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
29974         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
29975         * modules/locale (Depends-on): Add c++defs.
29976         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
29977
29978         langinfo: Avoid #define replacements in C++ mode.
29979         * lib/langinfo.in.h: Include c++defs.h.
29980         (nl_langinfo): In C++, define a namespaced alias symbol.
29981         * modules/langinfo (Depends-on): Add c++defs.
29982         (Makefile.am): Update langinfo.h rule.
29983
29984         iconv-h: Avoid #define replacements in C++ mode.
29985         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
29986         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
29987         symbol.
29988         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
29989         whenever iconv is present.
29990         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
29991         (Makefile.am): Update iconv.h rule.
29992
29993         glob: Avoid #define replacements in C++ mode.
29994         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
29995         (_gl_glob_errfunc_fn): New type.
29996         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
29997         symbol.
29998         * modules/glob (Depends-on): Add c++defs, warn-on-use.
29999         (Makefile.am): Update glob.h rule.
30000
30001         fcntl-h: Avoid #define replacements in C++ mode.
30002         * lib/fcntl.in.h: Include c++defs.h.
30003         (fcntl, open, openat): In C++, define a namespaced alias symbol.
30004         * modules/fcntl-h (Depends-on): Add c++defs.
30005         (Makefile.am): Update fcntl.h rule.
30006
30007         dirent: Avoid #define replacements in C++ mode.
30008         * lib/dirent.in.h: Include c++defs.h.
30009         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
30010         namespaced alias symbol.
30011         (dirfd): Update declaration.
30012         * modules/dirent (Depends-on): Add c++defs.
30013         (Makefile.am): Update dirent.h rule.
30014
30015         ctype: Make it usable in C++ code.
30016         * lib/ctype.in.h: Include c++defs.h.
30017         (isblank): Declare as extern "C".
30018         * modules/ctype (Depends-on): Add c++defs.
30019         (Makefile.am): Update ctype.h rule.
30020
30021         New module 'c++defs'.
30022         * modules/c++defs: New file.
30023         * build-aux/c++defs.h: New file.
30024         Reported by John W. Eaton <jwe@gnu.org>.
30025
30026 2010-03-07  Bruno Haible  <bruno@clisp.org>
30027
30028         logb: Provide missing declaration for Cygwin.
30029         * lib/math.in.h (logb): New declaration.
30030         * m4/logb.m4: New file.
30031         * modules/logb (Files): Add m4/logb.m4.
30032         (Depends-on): Add math.
30033         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
30034         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
30035         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
30036         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
30037         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
30038
30039 2010-03-07  Bruno Haible  <bruno@clisp.org>
30040
30041         Fix test-cond link error.
30042         * tests/test-cond.c: Include <stdio.h>.
30043
30044 2010-03-07  Bruno Haible  <bruno@clisp.org>
30045
30046         Fix test-dirent-safer link error.
30047         * modules/dirent-safer-tests (Makefile.am): Define
30048         test_dirent_safer_LDADD.
30049
30050 2010-03-07  Bruno Haible  <bruno@clisp.org>
30051
30052         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
30053         among default module list.
30054
30055 2010-03-07  Bruno Haible  <bruno@clisp.org>
30056
30057         Fix link error on platforms with GNU libiconv.
30058         * modules/unistr/u8-strcoll-tests (Makefile): Define
30059         test_u8_strcoll_LDADD.
30060         * modules/unistr/u16-strcoll-tests (Makefile): Define
30061         test_u16_strcoll_LDADD.
30062         * modules/unistr/u32-strcoll-tests (Makefile): Define
30063         test_u32_strcoll_LDADD.
30064
30065 2010-03-07  Bruno Haible  <bruno@clisp.org>
30066
30067         Use POSIX declarations for socket functions.
30068         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
30069         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
30070         rpl_sendto): Change declaration to match POSIX.
30071         * lib/connect.c (rpl_connect): Likewise.
30072         * lib/accept.c (rpl_accept): Likewise.
30073         * lib/bind.c (rpl_bind): Likewise.
30074         * lib/getpeername.c (rpl_getpeername): Likewise.
30075         * lib/getsockname.c (rpl_getsockname): Likewise.
30076         * lib/recv.c (rpl_recv): Likewise.
30077         * lib/send.c (rpl_send): Likewise.
30078         * lib/recvfrom.c (rpl_recvfrom): Likewise.
30079         * lib/sendto.c (rpl_sendto): Likewise.
30080
30081 2010-03-06  Bruno Haible  <bruno@clisp.org>
30082
30083         Clarify access, euidaccess, faccessat.
30084         * doc/posix-functions/faccessat.texi: Mention security problem under
30085         "Other problems", not "Portability problems".
30086         * doc/posix-functions/access.texi: Likewise. Mention a related security
30087         problem.
30088         * doc/glibc-functions/euidaccess.texi: Mention security problems.
30089         * lib/euidaccess.c: Add comments about platforms.
30090         * lib/unistd.in.h (access, euidaccess): Add warnings.
30091
30092 2010-03-07  Bruno Haible  <bruno@clisp.org>
30093
30094         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
30095         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
30096         (POSIX_SPAWN_SETSCHEDULER): Likewise.
30097         (POSIX_SPAWN_USEVFORK): Define in a way that works when
30098         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
30099         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
30100         declare when POSIX_SPAWN_SETSCHEDULER is zero.
30101         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
30102         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
30103         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
30104         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
30105         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
30106         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
30107         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
30108         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
30109         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
30110         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
30111         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
30112         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
30113         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
30114         Likewise.
30115         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
30116         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
30117         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
30118         Likewise.
30119         * tests/test-spawn.c (main): Make it work when
30120         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
30121
30122 2010-03-07  Bruno Haible  <bruno@clisp.org>
30123
30124         Fix incorrect Makefile.am generation in German locale.
30125         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30126         Execute sed command with character range in C locale.
30127
30128 2010-03-06  Bruno Haible  <bruno@clisp.org>
30129
30130         Tests for module 'iconv-h'.
30131         * modules/iconv-h-tests: New file.
30132         * tests/test-iconv-h.c: New file.
30133
30134         New module 'iconv-h'.
30135         * modules/iconv-h: New file.
30136         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
30137         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
30138         (configure.ac): Remove gl_ICONV_H.
30139         (Makefile.am): Remove rule for iconv.h.
30140
30141 2010-03-06  Bruno Haible  <bruno@clisp.org>
30142
30143         More consistent naming of *.m4 files.
30144         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
30145         * modules/wctype (Files): Update.
30146
30147         More consistent naming of *.m4 files.
30148         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
30149         * modules/wchar (Files): Update.
30150
30151 2010-03-06  Jim Meyering  <meyering@redhat.com>
30152
30153         euidaccess: relax license to LGPLv2+
30154         * modules/euidaccess (License): Relax to LGPLv2+.
30155
30156 2010-03-06  Bruno Haible  <bruno@clisp.org>
30157
30158         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
30159         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
30160         (Makefile.am): Augment lib_SOURCES instead.
30161
30162 2010-03-04  Jim Meyering  <meyering@redhat.com>
30163
30164         utime: remove obsolete module
30165         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
30166         unnecessary for years, and has been marked as obsolete for 10 months.
30167         * modules/utime: Remove file.
30168         * lib/utime.c: Remove file.
30169         * m4/utime.m4: Remove file.
30170         * m4/utimes-null.m4: Remove file.
30171         * doc/posix-functions/utime.texi (utime): Remove reference to
30172         the module.  Move the sole "fixed by gnulib" item into the
30173         "problems not fixed by Gnulib" list.
30174         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
30175
30176 2010-03-05  Simon Josefsson  <simon@josefsson.org>
30177
30178         * modules/exit (License): Relax license to LGPLv2+.
30179         (Status): Mark as obsolete.
30180         * NEWS: Mention deprecated 'exit' module.
30181         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
30182         of now obsolete 'exit'.
30183
30184 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30185
30186         fts-lgpl: remove unused module
30187         * modules/fts-lgpl: Remove.
30188         * MODULES.html.sh (func_all_modules): Adjust.
30189         * check-module (find_included_lib_files): Adjust.
30190         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
30191
30192 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
30193
30194         copy-acl: enhance Solaris ACL error handling
30195         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
30196         * lib/set-mode-acl.c (qset_acl): Likewise.
30197
30198 2010-03-02  Bruno Haible  <bruno@clisp.org>
30199
30200         spawn: Don't override the system defined values on FreeBSD 8.
30201         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
30202         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
30203         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
30204         if HAVE_POSIX_SPAWN is 1.
30205         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
30206
30207 2010-03-01  Bruno Haible  <bruno@clisp.org>
30208
30209         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
30210         regarding Automake.
30211
30212 2010-02-25  Bruno Haible  <bruno@clisp.org>
30213
30214         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
30215         * gnulib-tool: Define 'echo' as a function only before the ksh alias
30216         setting, not afterwards.
30217         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
30218
30219 2010-02-24  Eric Blake  <eblake@redhat.com>
30220
30221         bootstrap, git-version-gen: use timestamp
30222         * build-aux/git-version-gen (scriptversion): Force UTC.
30223         * build-aux/bootstrap (scriptversion): New variable.
30224
30225         bootstrap: allow older git
30226         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
30227         older than 1.6.4.  Requested by the libvirt project.
30228
30229 2010-02-23  Eric Blake  <eblake@redhat.com>
30230
30231         warn-on-use: work with old autoconf
30232         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
30233         AS_VAR semantics of autoconf 2.60.
30234         Reported by Bruno Haible.
30235
30236         bootstrap: improve some comments
30237         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
30238         clarification comments.
30239
30240         gettimeofday: provide correct function
30241         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
30242         when replacement is declared, otherwise provide gettimeofday.
30243         Reported by Michael Goffioul.
30244
30245 2010-02-23  Jim Meyering  <meyering@redhat.com>
30246
30247         lib-ignore: relax license to "unlimited", not LGPLv2+
30248         * modules/lib-ignore (License): Relax to "unlimited".
30249
30250 2010-02-23  Jim Meyering  <meyering@redhat.com>
30251
30252         lib-ignore: relax license to LGPLv2+
30253         * modules/lib-ignore (License): Relax to LGPLv2+.
30254
30255 2010-02-22  Eric Blake  <eblake@redhat.com>
30256
30257         lseek: avoid bash 3.2 broken pipe bug
30258         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
30259         warning from bash 3.2.
30260         Reported by Ben Pfaff, with analysis from Bruno Haible.
30261
30262         bootstrap: support non-FSF copyright holder
30263         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
30264         bootstrap.conf override of COPYRIGHT_HOLDER.
30265         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
30266
30267         bootstrap: interoperate with gettext 0.14.1
30268         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
30269
30270         bootstrap: allow for alternate submodule location
30271         * build-aux/bootstrap (gnulib_path): New variable; use instead of
30272         hardcoding submodule location.
30273         (gnulib_mk): Allow direct use of Makefile.am.
30274
30275         bootstrap: use GNULIB_SRCDIR to reduce disk usage
30276         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
30277         rather than reconfiguring where the submodule points.
30278
30279         gettimeofday: restore support for platforms that lack function
30280         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
30281         replacement if function is missing.
30282         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
30283         * modules/sys_time (Makefile.am): Substitute it.
30284         * lib/sys_time.in.h (gettimeofday): Check it.
30285         Reported by Michael Goffioul.
30286
30287 2010-02-21  Bruno Haible  <bruno@clisp.org>
30288
30289         * lib/stdio.in.h (obstack_printf): Fix typo.
30290
30291 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
30292
30293         vc-list-files: use bzr ls's -R option
30294         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
30295         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
30296
30297 2010-02-21  Jim Meyering  <meyering@redhat.com>
30298
30299         init.sh: fix EXEEXT shims to work also for names like test-prog
30300         * tests/init.sh: Re-exec a better shell, when needed.
30301         If the current shell lacks support for posix $(...), an init.sh-using
30302         test will now try to find a shell that supports that.  If EXEEXT is
30303         nonempty, we also require support for hyphen-in-alias-name and shell
30304         substitutions like ${var#glob}.  Failure to find such a shell results
30305         in a skipped test.
30306
30307 2010-02-21  Bruno Haible  <bruno@clisp.org>
30308
30309         Really work around around "broken pipe" error message from bash 3.2.
30310         * gnulib-tool (func_reset_sigpipe): Remove function.
30311         (echo): In bash 3.2, define to a function that uses printf.
30312         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
30313
30314 2010-02-20  Bruno Haible  <bruno@clisp.org>
30315
30316         Restore support for automake 1.9.6 with autoconf 2.61.
30317         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
30318         Reported by James Youngman <jay@gnu.org>.
30319
30320 2010-02-20  Bruno Haible  <bruno@clisp.org>
30321
30322         Improve *printf warning condition.
30323         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
30324         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
30325         and the function is overridden due to SIGPIPE emulation.
30326
30327 2010-02-20  Bruno Haible  <bruno@clisp.org>
30328
30329         * lib/stdio.in.h: Tweak comments.
30330
30331 2010-02-19  Bruno Haible  <bruno@clisp.org>
30332
30333         Make it easier to find modules. New gnulib-tool option '--find'.
30334         * gnulib-tool: New option --find.
30335         (func_usage): Document it.
30336         (func_sanitize_modulelist): New function, extracted from
30337         func_all_modules.
30338         (func_all_modules): Invoke it.
30339         * doc/gnulib-tool.texi (Which modules?): New node.
30340
30341 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
30342
30343         * lib/sys_select.in.h: Provide select replacement even if
30344         sys/select.h exists on a system, for Interix.
30345
30346 2010-02-18  Jim Meyering  <meyering@redhat.com>
30347
30348         init.sh: don't use $(...) just yet
30349         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
30350         to accommodate e.g., Solaris' /bin/sh.
30351
30352 2010-02-17  Bruno Haible  <bruno@clisp.org>
30353
30354         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
30355         Reported by Ludovic Courtès <ludo@gnu.org>.
30356
30357 2010-02-16  Simon Josefsson  <simon@josefsson.org>
30358
30359         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
30360         linking with -lintl.
30361
30362 2010-02-17  Simon Josefsson  <simon@josefsson.org>
30363
30364         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
30365         if not provided by the system's netdb.h.  Reported by
30366         ludo@gnu.org (Ludovic Courtès).
30367
30368 2010-02-15  Jim Meyering  <meyering@redhat.com>
30369
30370         init.sh: improve portability and efficiency
30371         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
30372         "dummy" in a for loop.
30373         Use '!', not '^' to select the complement of a character set used
30374         in a "case" statement.
30375         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
30376         Suggestions from Eric Blake.
30377
30378         init.sh: automatically accommodate programs with the .exe suffix
30379         Automatically arrange for an invocation of "prog" to execute the
30380         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
30381         may use the simpler "prog", yet still work when built on a system
30382         that requires specifying the added suffix.
30383         Do this by constructing a function named "prog" that invokes
30384         "prog.exe" for each .exe file in selected directories.
30385         * tests/init.sh (find_exe_basenames_): New function.
30386         (create_exe_shim_functions_): New function.
30387         (path_prepend_): Use it.
30388
30389         maint.mk: mark syntax-check sc_*.m rules as .PHONY
30390         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
30391         "make -t syntax-check" doesn't create a ton of sc_*.m files.
30392
30393 2010-02-14  Jim Meyering  <meyering@redhat.com>
30394
30395         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
30396         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
30397         (sc_prohibit_hash_pjw_without_use): New rule.
30398
30399         maint.mk: allow the default upload destination dir to be overridden
30400         * top/maint.mk (upload_dest_dir_): Define with a default that
30401         preserves the status quo.
30402         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
30403         Reported by Peter Simons.
30404
30405         maint.mk: prohibit inclusion of "hash.h" without_use
30406         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
30407
30408 2010-02-10  Jim Meyering  <meyering@redhat.com>
30409
30410         maint.mk: prohibit inclusion of "ignore-value.h" without_use
30411         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
30412
30413 2010-02-09  Eric Blake  <ebb9@byu.net>
30414         and Bruno Haible  <bruno@clisp.org>
30415
30416         obstack-printf-posix: ensure declaration
30417         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
30418         extracted from gl_FUNC_OBSTACK_PRINTF.
30419         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
30420         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
30421         Likewise.
30422         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
30423         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
30424         0.
30425
30426 2010-02-08  Bruno Haible  <bruno@clisp.org>
30427
30428         gnulib-tool: Fix typo in 2010-02-07 commit.
30429         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
30430         Reported by Eric Blake.
30431
30432 2010-02-07  Bruno Haible  <bruno@clisp.org>
30433
30434         gnulib-tool: Fix up caching patches.
30435         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
30436         option --no-cache. Use associative arrays when supported by the shell.
30437         (sed_comments): New variable.
30438         (modcache): Renamed from do_cache.
30439         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
30440         abbreviate unnecessarily.
30441         (have_associative): New variable.
30442         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
30443         way also for ksh and zsh.
30444         (func_init_sed_convert_to_cache_statements): New function, extracted
30445         from func_cache_lookup_module. Add support for associative arrays.
30446         Don't set the c_MODULE_cached variable here. Ignore all lines before
30447         the first field header. Remove only the final newline, not all trailing
30448         newlines. Support empty fields correctly. Limit the use of 'eval' to
30449         assignments.
30450         (func_get_description, func_get_status, func_get_notice,
30451         func_get_applicability, func_get_filelist, func_get_dependencies,
30452         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
30453         func_get_automake_snippet, func_get_include_directive,
30454         func_get_link_directive, func_get_license, func_get_maintainer):
30455         Update documentation. List the unoptimized code first. Add support for
30456         associative arrays. Limit the use of 'eval' to assignments.
30457         (func_get_applicability): Undo stylistic pessimisations.
30458         (func_get_automake_snippet, func_get_include_directive): Reduce code
30459         duplication.
30460         (func_modules_transitive_closure, func_modules_add_dummy,
30461         func_modules_notice, func_modules_to_filelist, func_add_file,
30462         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
30463         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
30464         func_create_testdir, func_create_megatestdir): Update documentation.
30465
30466 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30467
30468         * gnulib-tool (func_cache_lookup_module): Store the module name
30469         belonging to the cache variable; error out if two different
30470         module names map to the same cache variable name.
30471
30472 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30473
30474         gnulib-tool: Make caching optional.
30475         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
30476         Update matching short versions of --no-changelog.
30477         (func_usage): Update.
30478         (sed_extract_cache_prog): Renamed from ...
30479         (sed_extract_prog): ... this; revert to old extraction script.
30480         (func_get_description, func_get_status)
30481         (func_get_notice, func_get_applicability, func_get_filelist)
30482         (func_get_dependencies, func_get_autoconf_early_snippet)
30483         (func_get_autoconf_snippet, func_get_automake_snippet)
30484         (func_get_include_directive, func_get_link_directive)
30485         (func_get_license, func_get_maintainer): If $do_cache is false,
30486         use old, non-caching extraction scripts.
30487         Suggestion by Bruno Haible.
30488
30489 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30490
30491         gnulib-tool: cache module metainformation.
30492         * gnulib-tool (sed_extract_prog): Match newline before each
30493         header, and rewrite header to a shell variable suffix.
30494         (func_cache_var, func_cache_lookup_module): New functions,
30495         to turn a module name into a cache variable prefix, and to
30496         look up and cache module metainformation.
30497         (func_get_description, func_get_status)
30498         (func_get_notice, func_get_applicability, func_get_filelist)
30499         (func_get_dependencies, func_get_autoconf_early_snippet)
30500         (func_get_autoconf_snippet, func_get_automake_snippet)
30501         (func_get_include_directive, func_get_link_directive)
30502         (func_get_license, func_get_maintainer): Use
30503         func_cache_lookup_module.
30504
30505 2010-02-07  Bruno Haible  <bruno@clisp.org>
30506
30507         fnctl: Fix missing dependency.
30508         * modules/fcntl (Depends-on): Add getdtablesize.
30509         Reported by John W. Eaton <jwe@gnu.org>.
30510
30511 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
30512
30513         Argp: fix recognition of short alias options.
30514
30515         * lib/argp-parse.c (convert_options): Fix improper use of
30516         `|' between character values.
30517         * tests/test-argp.c (group1_option): New alias option
30518         --read (-r).
30519         (group1_parser): Special handling for 'r'.
30520         (test15): New test case.
30521         (test_fun): Add test15.
30522         * tests/test-argp-2.sh: Update expected --help and --usage
30523         outputs.
30524
30525 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
30526
30527         * tests/test-argp.c: Fix indentation.
30528
30529 2010-02-04  Eric Blake  <ebb9@byu.net>
30530
30531         gettimeofday: expose type of second argument
30532         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
30533         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
30534         * tests/test-gettimeofday.c: Use it to silence warning.
30535         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
30536         the issue.
30537
30538 2010-02-03  Jim Meyering  <meyering@redhat.com>
30539
30540         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
30541         * lib/regcomp.c (TYPE_SIGNED): Define.
30542         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
30543
30544         regcomp.c: avoid a new -Wshadow warning
30545         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
30546
30547 2010-02-01  Jim Meyering  <meyering@redhat.com>
30548
30549         removing useless parentheses in cpp #define directives
30550         For motivation, see commit c0221df4, "define STREQ(a,b)
30551         consistently, removing useless parentheses"
30552         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
30553         * lib/mountlist.c (MNT_IGNORE): Likewise.
30554         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
30555
30556 2010-02-01  Eric Blake  <ebb9@byu.net>
30557
30558         sys_time: use link-warning
30559         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
30560         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
30561         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
30562         * modules/sys_time (Depends-on): Add warn-on-use.
30563         (Makefile.am): Always build replacement.
30564         (configure.ac): Update substitutions.
30565         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
30566         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
30567         bother with SYS_TIME_H.
30568         * modules/gettimeofday (configure.ac): Declare indicator.
30569         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
30570         in use.
30571
30572         closein-tests: silence compiler warning
30573         * tests/test-closein.c (main): Ignore fread result.
30574         * modules/closein-tests (Depends-on): Add ignore-value.
30575
30576         tests: silence warning about system return
30577         * tests/test-areadlink-with-size.c (main): Ignore system result.
30578         * tests/test-areadlink.c (main): Likewise.
30579         * tests/test-areadlinkat-with-size.c (main): Likewise.
30580         * tests/test-areadlinkat.c (main): Likewise.
30581         * tests/test-canonicalize-lgpl.c (main): Likewise.
30582         * tests/test-canonicalize.c (main): Likewise.
30583         * tests/test-chown.c (main): Likewise.
30584         * tests/test-fchownat.c (main): Likewise.
30585         * tests/test-fdutimensat.c (main): Likewise.
30586         * tests/test-fstatat.c (main): Likewise.
30587         * tests/test-futimens.c (main): Likewise.
30588         * tests/test-lchown.c (main): Likewise.
30589         * tests/test-link.c (main): Likewise.
30590         * tests/test-linkat.c (main): Likewise.
30591         * tests/test-lstat.c (main): Likewise.
30592         * tests/test-mkdir.c (main): Likewise.
30593         * tests/test-mkdirat.c (main): Likewise.
30594         * tests/test-mkfifo.c (main): Likewise.
30595         * tests/test-mkfifoat.c (main): Likewise.
30596         * tests/test-mknod.c (main): Likewise.
30597         * tests/test-readlink.c (main): Likewise.
30598         * tests/test-remove.c (main): Likewise.
30599         * tests/test-rename.c (main): Likewise.
30600         * tests/test-renameat.c (main): Likewise.
30601         * tests/test-rmdir.c (main): Likewise.
30602         * tests/test-symlink.c (main): Likewise.
30603         * tests/test-symlinkat.c (main): Likewise.
30604         * tests/test-unlink.c (main): Likewise.
30605         * tests/test-unlinkat.c (main): Likewise.
30606         * tests/test-utimens.c (main): Likewise.
30607         * tests/test-utimensat.c (main): Likewise.
30608         * modules/areadlink-tests (Depends-on): Add ignore-value.
30609         * modules/areadlink-with-size-tests (Depends-on): Likewise.
30610         * modules/areadlinkat-tests (Depends-on): Likewise.
30611         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
30612         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
30613         * modules/canonicalize-tests (Depends-on): Likewise.
30614         * modules/chown-tests (Depends-on): Likewise.
30615         * modules/fdutimensat-tests (Depends-on): Likewise.
30616         * modules/futimens-tests (Depends-on): Likewise.
30617         * modules/lchown-tests (Depends-on): Likewise.
30618         * modules/link-tests (Depends-on): Likewise.
30619         * modules/linkat-tests (Depends-on): Likewise.
30620         * modules/lstat-tests (Depends-on): Likewise.
30621         * modules/mkdir-tests (Depends-on): Likewise.
30622         * modules/mkfifo-tests (Depends-on): Likewise.
30623         * modules/mkfifoat-tests (Depends-on): Likewise.
30624         * modules/mknod-tests (Depends-on): Likewise.
30625         * modules/openat-tests (Depends-on): Likewise.
30626         * modules/readlink-tests (Depends-on): Likewise.
30627         * modules/remove-tests (Depends-on): Likewise.
30628         * modules/rename-tests (Depends-on): Likewise.
30629         * modules/renameat-tests (Depends-on): Likewise.
30630         * modules/rmdir-tests (Depends-on): Likewise.
30631         * modules/symlink-tests (Depends-on): Likewise.
30632         * modules/symlinkat-tests (Depends-on): Likewise.
30633         * modules/unlink-tests (Depends-on): Likewise.
30634         * modules/utimens-tests (Depends-on): Likewise.
30635         * modules/utimensat-tests (Depends-on): Likewise.
30636
30637 2010-01-31  Bruno Haible  <bruno@clisp.org>
30638
30639         Perform the same test for many <math.h> functions.
30640         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
30641         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
30642         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
30643         of gl_MATHFUNC.
30644         * modules/acos (configure.ac): Likewise.
30645         * modules/asin (configure.ac): Likewise.
30646         * modules/atan (configure.ac): Likewise.
30647         * modules/atan2 (configure.ac): Likewise.
30648         * modules/cbrt (configure.ac): Likewise.
30649         * modules/copysign (configure.ac): Likewise.
30650         * modules/cos (configure.ac): Likewise.
30651         * modules/cosh (configure.ac): Likewise.
30652         * modules/erf (configure.ac): Likewise.
30653         * modules/erfc (configure.ac): Likewise.
30654         * modules/exp (configure.ac): Likewise.
30655         * modules/fmod (configure.ac): Likewise.
30656         * modules/hypot (configure.ac): Likewise.
30657         * modules/j0 (configure.ac): Likewise.
30658         * modules/j1 (configure.ac): Likewise.
30659         * modules/jn (configure.ac): Likewise.
30660         * modules/lgamma (configure.ac): Likewise.
30661         * modules/log (configure.ac): Likewise.
30662         * modules/log10 (configure.ac): Likewise.
30663         * modules/log1p (configure.ac): Likewise.
30664         * modules/pow (configure.ac): Likewise.
30665         * modules/remainder (configure.ac): Likewise.
30666         * modules/sin (configure.ac): Likewise.
30667         * modules/sinh (configure.ac): Likewise.
30668         * modules/tan (configure.ac): Likewise.
30669         * modules/tanh (configure.ac): Likewise.
30670         * modules/y0 (configure.ac): Likewise.
30671         * modules/y1 (configure.ac): Likewise.
30672         * modules/yn (configure.ac): Likewise.
30673         Suggested by Paolo Bonzini.
30674
30675 2010-01-31  Bruno Haible  <bruno@clisp.org>
30676
30677         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
30678
30679 2010-01-31  Bruno Haible  <bruno@clisp.org>
30680
30681         Work around getdelim() bug on FreeBSD 8.0.
30682         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
30683         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
30684         not work.
30685         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
30686         is 1.
30687         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
30688         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
30689         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
30690         a non-zero size.
30691         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
30692
30693 2010-01-31  Bruno Haible  <bruno@clisp.org>
30694
30695         Work around getline() bug on FreeBSD 8.0.
30696         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
30697         and a non-zero size.
30698         * tests/test-getline.c (main): Likewise.
30699         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
30700         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
30701
30702 2010-01-28  Eric Blake  <ebb9@byu.net>
30703
30704         regex: fix build failure
30705         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
30706         platforms.
30707
30708 2010-01-28  Jim Meyering  <meyering@redhat.com>
30709
30710         regex: do not ignore memory allocation failure
30711         * lib/regex_internal.c (create_cd_newstate): Detect
30712         re_node_set_init_copy failure.   Extracted from glibc commit
30713         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30714
30715         regex: sync more white-space changes from libc
30716         * lib/regex_internal.c: White-space only changes.
30717         * lib/regexec.c: Likewise.
30718
30719         regex: add many uses of __attribute_warn_unused_result__
30720         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
30721         * lib/regexec.c: Likewise.
30722         Extracted from a messy glibc commit.
30723
30724         regcomp.c: spelling and merge-artifact from glibc
30725         * lib/regcomp.c: Merge remainder of glibc's
30726         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30727
30728         regcomp.c: sync white-space changes from glibc
30729         * lib/regcomp.c: Merge to accommodate white space
30730         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30731
30732         regcomp.c: do not ignore internal return values
30733         * lib/regcomp.c: Do not ignore internal return values.
30734         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
30735         but without its white-space changes and spelling fixes.
30736
30737         regex_internal.h: define __attribute_warn_unused_result__
30738         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
30739
30740         maint: add a syntax-check rule to check for vulnerable Makefile.in
30741         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
30742
30743 2010-01-27  Jim Meyering  <meyering@redhat.com>
30744
30745         ncftpput-ftp: clean up spaces
30746         * build-aux/ncftpput-ftp: Make Copyright line consistent.
30747         Remove trailing blanks.
30748
30749 2010-01-27  Simon Josefsson  <simon@josefsson.org>
30750
30751         * build-aux/git-version-gen: Fix copyright statement.
30752         * build-aux/gnupload: Likewise.
30753         * tests/test-arcfour.c: Likewise.
30754         * tests/test-arctwo.c: Likewise.
30755         * tests/test-count-one-bits.c: Likewise.
30756         * tests/test-crc.c: Likewise.
30757         * tests/test-des.c: Likewise.
30758         * tests/test-gc-arcfour.c: Likewise.
30759         * tests/test-gc-arctwo.c: Likewise.
30760         * tests/test-gc-des.c: Likewise.
30761         * tests/test-gc-hmac-md5.c: Likewise.
30762         * tests/test-gc-hmac-sha1.c: Likewise.
30763         * tests/test-gc-md2.c: Likewise.
30764         * tests/test-gc-md4.c: Likewise.
30765         * tests/test-gc-md5.c: Likewise.
30766         * tests/test-gc-pbkdf2-sha1.c: Likewise.
30767         * tests/test-gc-rijndael.c: Likewise.
30768         * tests/test-gc-sha1.c: Likewise.
30769         * tests/test-gc.c: Likewise.
30770         * tests/test-gethostname.c: Likewise.
30771         * tests/test-gettimeofday.c: Likewise.
30772         * tests/test-hash.c: Likewise.
30773         * tests/test-hmac-md5.c: Likewise.
30774         * tests/test-hmac-sha1.c: Likewise.
30775         * tests/test-md2.c: Likewise.
30776         * tests/test-md4.c: Likewise.
30777         * tests/test-md5.c: Likewise.
30778         * tests/test-memchr.c: Likewise.
30779         * tests/test-memchr2.c: Likewise.
30780         * tests/test-memcmp.c: Likewise.
30781         * tests/test-memmem.c: Likewise.
30782         * tests/test-memrchr.c: Likewise.
30783         * tests/test-rawmemchr.c: Likewise.
30784         * tests/test-read-file.c: Likewise.
30785         * tests/test-rijndael.c: Likewise.
30786         * tests/test-sockets.c: Likewise.
30787         * tests/test-strchrnul.c: Likewise.
30788         * tests/test-strstr.c: Likewise.
30789         * tests/test-strtod.c: Likewise.
30790         * build-aux/ncftpput-ftp: Likewise.
30791
30792 2010-01-26  Eric Blake  <ebb9@byu.net>
30793
30794         ignore-value: update recommended header name
30795         * modules/ignore-value (Include): Only use <> for headers that
30796         exist in glibc.
30797
30798 2010-01-26  Jim Meyering  <meyering@redhat.com>
30799
30800         test-userspec.c: avoid compiler warnings
30801         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
30802         and "initialization discards qualifiers..." warnings.
30803         Put the first "uid" in its own scope, and make char* members "const".
30804
30805 2010-01-25  Bruno Haible  <bruno@clisp.org>
30806
30807         gnulib-tool: Make warning diagnostics consistent.
30808         * gnulib-tool (func_warning): New function.
30809         Use it everywhere where gnulib-tool produces output to stderr and it is
30810         not a fatal error.
30811
30812 2010-01-25  Bruno Haible  <bruno@clisp.org>
30813
30814         Fix test dependencies.
30815         * modules/xstrtol-tests (Depends-on): Add inttypes.
30816         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
30817
30818 2010-01-25 Pádraig Brady <P@draigBrady.com>
30819
30820         syntax-check: detect incorrect boolean macro values in config.h
30821         * modules/maintainer-makefile (configure.ac): Parameterize the location
30822         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
30823         The logic is from Eric Blake and the location indicated by Jim Meyering.
30824         Note the more natural CONFIG_HEADER name is prohibited by automake
30825         for backwards compatibility reasons.
30826         * top/maint.mk (sc_Wundef_boolean): New rule.
30827
30828 2010-01-25  Jim Meyering  <meyering@redhat.com>
30829
30830         bootstrap: detect MacOS 10.6's shasum, too
30831         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
30832         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
30833
30834 2010-01-23  Jim Meyering  <meyering@redhat.com>
30835
30836         xstrtoll: new module
30837         * modules/xstrtoll: New file.
30838         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
30839         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
30840         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
30841         ./configure fails if you use this module and lack "long long".
30842         * modules/xstrtoll-tests: New module.
30843         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
30844         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
30845         new init.sh-based test framework.
30846
30847 2010-01-24  Bruno Haible  <bruno@clisp.org>
30848
30849         Tests for module 'yn'.
30850         * modules/yn-tests: New file.
30851         * tests/test-yn.c: New file.
30852
30853         Tests for module 'y1'.
30854         * modules/y1-tests: New file.
30855         * tests/test-y1.c: New file.
30856
30857         Tests for module 'y0'.
30858         * modules/y0-tests: New file.
30859         * tests/test-y0.c: New file.
30860
30861         Tests for module 'tanh'.
30862         * modules/tanh-tests: New file.
30863         * tests/test-tanh.c: New file.
30864
30865         Tests for module 'tan'.
30866         * modules/tan-tests: New file.
30867         * tests/test-tan.c: New file.
30868
30869         Tests for module 'sqrt'.
30870         * modules/sqrt-tests: New file.
30871         * tests/test-sqrt.c: New file.
30872
30873         Tests for module 'sinh'.
30874         * modules/sinh-tests: New file.
30875         * tests/test-sinh.c: New file.
30876
30877         Tests for module 'sin'.
30878         * modules/sin-tests: New file.
30879         * tests/test-sin.c: New file.
30880
30881         Tests for module 'rint'.
30882         * modules/rint-tests: New file.
30883         * tests/test-rint.c: New file.
30884
30885         Tests for module 'remainder'.
30886         * modules/remainder-tests: New file.
30887         * tests/test-remainder.c: New file.
30888
30889         Tests for module 'pow'.
30890         * modules/pow-tests: New file.
30891         * tests/test-pow.c: New file.
30892
30893         Tests for module 'nextafter'.
30894         * modules/nextafter-tests: New file.
30895         * tests/test-nextafter.c: New file.
30896
30897         Tests for module 'modf'.
30898         * modules/modf-tests: New file.
30899         * tests/test-modf.c: New file.
30900
30901         Tests for module 'logb'.
30902         * modules/logb-tests: New file.
30903         * tests/test-logb.c: New file.
30904
30905         Tests for module 'log1p'.
30906         * modules/log1p-tests: New file.
30907         * tests/test-log1p.c: New file.
30908
30909         Tests for module 'log10'.
30910         * modules/log10-tests: New file.
30911         * tests/test-log10.c: New file.
30912
30913         Tests for module 'log'.
30914         * modules/log-tests: New file.
30915         * tests/test-log.c: New file.
30916
30917         Tests for module 'lgamma'.
30918         * modules/lgamma-tests: New file.
30919         * tests/test-lgamma.c: New file.
30920
30921         Tests for module 'ldexp'.
30922         * modules/ldexp-tests: New file.
30923         * tests/test-ldexp.c: New file.
30924
30925         Tests for module 'jn'.
30926         * modules/jn-tests: New file.
30927         * tests/test-jn.c: New file.
30928
30929         Tests for module 'j1'.
30930         * modules/j1-tests: New file.
30931         * tests/test-j1.c: New file.
30932
30933         Tests for module 'j0'.
30934         * modules/j0-tests: New file.
30935         * tests/test-j0.c: New file.
30936
30937         Tests for module 'hypot'.
30938         * modules/hypot-tests: New file.
30939         * tests/test-hypot.c: New file.
30940
30941         Tests for module 'fmod'.
30942         * modules/fmod-tests: New file.
30943         * tests/test-fmod.c: New file.
30944
30945         Tests for module 'fabs'.
30946         * modules/fabs-tests: New file.
30947         * tests/test-fabs.c: New file.
30948
30949         Tests for module 'exp'.
30950         * modules/exp-tests: New file.
30951         * tests/test-exp.c: New file.
30952
30953         Tests for module 'erfc'.
30954         * modules/erfc-tests: New file.
30955         * tests/test-erfc.c: New file.
30956
30957         Tests for module 'erf'.
30958         * modules/erf-tests: New file.
30959         * tests/test-erf.c: New file.
30960
30961         Tests for module 'cosh'.
30962         * modules/cosh-tests: New file.
30963         * tests/test-cosh.c: New file.
30964
30965         Tests for module 'cos'.
30966         * modules/cos-tests: New file.
30967         * tests/test-cos.c: New file.
30968
30969         Tests for module 'copysign'.
30970         * modules/copysign-tests: New file.
30971         * tests/test-copysign.c: New file.
30972
30973         Tests for module 'cbrt'.
30974         * modules/cbrt-tests: New file.
30975         * tests/test-cbrt.c: New file.
30976
30977         Tests for module 'atan2'.
30978         * modules/atan2-tests: New file.
30979         * tests/test-atan2.c: New file.
30980
30981         Tests for module 'atan'.
30982         * modules/atan-tests: New file.
30983         * tests/test-atan.c: New file.
30984
30985         Tests for module 'asin'.
30986         * modules/asin-tests: New file.
30987         * tests/test-asin.c: New file.
30988
30989         Tests for module 'acos'.
30990         * modules/acos-tests: New file.
30991         * tests/test-acos.c: New file.
30992
30993 2010-01-24  Bruno Haible  <bruno@clisp.org>
30994
30995         Fix tests for common <math.h> functions.
30996         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
30997         code snippet that references the function pointer, rather than merely
30998         calling the function. Substitute the FUNC_LIBM variable.
30999         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
31000         * modules/acos (configure.ac): Likewise.
31001         * modules/asin (configure.ac): Likewise.
31002         * modules/atan (configure.ac): Likewise.
31003         * modules/atan2 (configure.ac): Likewise.
31004         * modules/cbrt (configure.ac): Likewise.
31005         * modules/copysign (configure.ac): Likewise.
31006         * modules/cos (configure.ac): Likewise.
31007         * modules/cosh (configure.ac): Likewise.
31008         * modules/erf (configure.ac): Likewise.
31009         * modules/erfc (configure.ac): Likewise.
31010         * modules/exp (configure.ac): Likewise.
31011         * modules/fabs (configure.ac): Likewise.
31012         * modules/fmod (configure.ac): Likewise.
31013         * modules/hypot (configure.ac): Likewise.
31014         * modules/j0 (configure.ac): Likewise.
31015         * modules/j1 (configure.ac): Likewise.
31016         * modules/jn (configure.ac): Likewise.
31017         * modules/ldexp (configure.ac): Likewise.
31018         * modules/lgamma (configure.ac): Likewise.
31019         * modules/log (configure.ac): Likewise.
31020         * modules/log10 (configure.ac): Likewise.
31021         * modules/log1p (configure.ac): Likewise.
31022         * modules/logb (configure.ac): Likewise.
31023         * modules/modf (configure.ac): Likewise.
31024         * modules/nextafter (configure.ac): Likewise.
31025         * modules/pow (configure.ac): Likewise.
31026         * modules/remainder (configure.ac): Likewise.
31027         * modules/rint (configure.ac): Likewise.
31028         * modules/sin (configure.ac): Likewise.
31029         * modules/sinh (configure.ac): Likewise.
31030         * modules/tan (configure.ac): Likewise.
31031         * modules/tanh (configure.ac): Likewise.
31032         * modules/y0 (configure.ac): Likewise.
31033         * modules/y1 (configure.ac): Likewise.
31034         * modules/yn (configure.ac): Likewise.
31035
31036 2010-01-24  Bruno Haible  <bruno@clisp.org>
31037
31038         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
31039         * tests/test-acosl.c (x): New variable.
31040         (main): Store argument in x and fetch it from x.
31041         * tests/test-asinl.c (x): New variable.
31042         (main): Store argument in x and fetch it from x.
31043         * tests/test-atanl.c (x): New variable.
31044         (main): Store argument in x and fetch it from x.
31045         * tests/test-cosl.c (x): New variable.
31046         (main): Store argument in x and fetch it from x.
31047         * tests/test-expl.c (x): New variable.
31048         (main): Store argument in x and fetch it from x.
31049         * tests/test-logl.c (x): New variable.
31050         (main): Store argument in x and fetch it from x.
31051         * tests/test-sinl.c (x): New variable.
31052         (main): Store argument in x and fetch it from x.
31053         * tests/test-sqrtl.c (x): New variable.
31054         (main): Store argument in x and fetch it from x.
31055         * tests/test-tanl.c (x): New variable.
31056         (main): Store argument in x and fetch it from x.
31057
31058 2010-01-24  Bruno Haible  <bruno@clisp.org>
31059
31060         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
31061         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
31062         assignments to the initial TESTS_ENVIRONMENT.
31063         * doc/gnulib.texi (Unit test modules): Document it.
31064         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
31065         TESTS_ENVIRONMENT.
31066         * modules/btowc-tests (Makefile.am): Likewise.
31067         * modules/c-stack-tests (Makefile.am): Likewise.
31068         * modules/c-strcase-tests (Makefile.am): Likewise.
31069         * modules/copy-file-tests (Makefile.am): Likewise.
31070         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
31071         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
31072         * modules/mbrtowc-tests (Makefile.am): Likewise.
31073         * modules/mbscasecmp-tests (Makefile.am): Likewise.
31074         * modules/mbscasestr-tests (Makefile.am): Likewise.
31075         * modules/mbschr-tests (Makefile.am): Likewise.
31076         * modules/mbscspn-tests (Makefile.am): Likewise.
31077         * modules/mbsinit-tests (Makefile.am): Likewise.
31078         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
31079         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
31080         * modules/mbspbrk-tests (Makefile.am): Likewise.
31081         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
31082         * modules/mbsrchr-tests (Makefile.am): Likewise.
31083         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
31084         * modules/mbsspn-tests (Makefile.am): Likewise.
31085         * modules/mbsstr-tests (Makefile.am): Likewise.
31086         * modules/nl_langinfo-tests (Makefile.am): Likewise.
31087         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
31088         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
31089         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
31090         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
31091         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
31092         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
31093         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
31094         * modules/wcrtomb-tests (Makefile.am): Likewise.
31095         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
31096         * modules/wcsrtombs-tests (Makefile.am): Likewise.
31097         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
31098         assignments from TESTS_ENVIRONMENT.
31099         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
31100         augmentation.
31101         * modules/argp-version-etc-tests (Makefile.am): Likewise.
31102         * modules/atexit-tests (Makefile.am): Likewise.
31103         * modules/binary-io-tests (Makefile.am): Likewise.
31104         * modules/closein-tests (Makefile.am): Likewise.
31105         * modules/dprintf-posix-tests (Makefile.am): Likewise.
31106         * modules/exclude-tests (Makefile.am): Likewise.
31107         * modules/fflush-tests (Makefile.am): Likewise.
31108         * modules/fpending-tests (Makefile.am): Likewise.
31109         * modules/fprintf-posix-tests (Makefile.am): Likewise.
31110         * modules/freadahead-tests (Makefile.am): Likewise.
31111         * modules/freadptr-tests (Makefile.am): Likewise.
31112         * modules/freadseek-tests (Makefile.am): Likewise.
31113         * modules/fseek-tests (Makefile.am): Likewise.
31114         * modules/fseeko-tests (Makefile.am): Likewise.
31115         * modules/ftell-tests (Makefile.am): Likewise.
31116         * modules/ftello-tests (Makefile.am): Likewise.
31117         * modules/idpriv-drop-tests (Makefile.am): Likewise.
31118         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
31119         * modules/lseek-tests (Makefile.am): Likewise.
31120         * modules/parse-duration-tests (Makefile.am): Likewise.
31121         * modules/perror-tests (Makefile.am): Likewise.
31122         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
31123         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
31124         * modules/pipe-tests (Makefile.am): Likewise.
31125         * modules/pread-tests (Makefile.am): Likewise.
31126         * modules/printf-posix-tests (Makefile.am): Likewise.
31127         * modules/select-tests (Makefile.am): Likewise.
31128         * modules/sigpipe-tests (Makefile.am): Likewise.
31129         * modules/tsearch-tests (Makefile.am): Likewise.
31130         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
31131         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
31132         * modules/uniname/uniname-tests (Makefile.am): Likewise.
31133         * modules/uniwidth/width-tests (Makefile.am): Likewise.
31134         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
31135         * modules/version-etc-tests (Makefile.am): Likewise.
31136         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
31137         * modules/vprintf-posix-tests (Makefile.am): Likewise.
31138         * modules/xalloc-die-tests (Makefile.am): Likewise.
31139         * modules/xprintf-posix-tests (Makefile.am): Likewise.
31140         * modules/xstrtoimax-tests (Makefile.am): Likewise.
31141         * modules/xstrtol-tests (Makefile.am): Likewise.
31142         * modules/xstrtoumax-tests (Makefile.am): Likewise.
31143         * modules/yesno-tests (Makefile.am): Likewise.
31144         Suggested by Jim Meyering.
31145
31146 2010-01-24  Bruno Haible  <bruno@clisp.org>
31147
31148         More documentation.
31149         * doc/gnulib.texi (Writing modules): New chapter.
31150         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
31151         the new chapter.
31152
31153 2010-01-24  Jim Meyering  <meyering@redhat.com>
31154
31155         maint.mk: do not prepend "./" after filtering
31156         * top/maint.mk (_prepend_srcdir_prefix): New variable
31157         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
31158         "./" when $(srcdir) is ".".
31159
31160         define STREQ(a,b) consistently, removing useless parentheses
31161         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
31162         since the only risk is that "a" or "b" contains an unparenthesized
31163         comma, but if either did that, STREQ would have 3 or more arguments.
31164         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
31165         * lib/fts.c (STREQ): Remove unnecessary parentheses.
31166         * lib/hash-triple.c (STREQ): Likewise.
31167         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
31168         * lib/getugroups.c (STREQ): Likewise.
31169
31170 2010-01-23  Jim Meyering  <meyering@redhat.com>
31171
31172         maint.mk: fix syntax-check in a non-srcdir build directory
31173         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
31174         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
31175
31176 2010-01-22  Jim Meyering  <meyering@redhat.com>
31177
31178         userspec: add unit tests
31179         * tests/test-userspec.c: New file.
31180         * modules/userspec-tests: Likewise.
31181
31182 2010-01-21  Jim Meyering  <meyering@redhat.com>
31183
31184         maint.mk: handle source file names containing "." robustly
31185         * top/maint.mk (_dot_escaped_srcdir): Define.
31186         (VC_LIST): Use it in LHS of sed substitution.
31187
31188 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
31189
31190         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
31191         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
31192         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
31193         from a non-srcdir build.
31194
31195 2010-01-20  Eric Blake  <ebb9@byu.net>
31196
31197         warn-on-use: use instead of link-warning
31198         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
31199         * modules/unistd (Depends-on, Makefile.am): Likewise.
31200         * modules/arpa_inet (Depends-on): Replace link-warning with
31201         warn-on-use.
31202         (Makefile.am): Update rules accordingly.
31203         * modules/ctype (Depends-on, Makefile.am): Likewise.
31204         * modules/dirent (Depends-on, Makefile.am): Likewise.
31205         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
31206         * modules/inttypes (Depends-on, Makefile.am): Likewise.
31207         * modules/langinfo (Depends-on, Makefile.am): Likewise.
31208         * modules/locale (Depends-on, Makefile.am): Likewise.
31209         * modules/math (Depends-on, Makefile.am): Likewise.
31210         * modules/search (Depends-on, Makefile.am): Likewise.
31211         * modules/signal (Depends-on, Makefile.am): Likewise.
31212         * modules/spawn (Depends-on, Makefile.am): Likewise.
31213         * modules/stdlib (Depends-on, Makefile.am): Likewise.
31214         * modules/string (Depends-on, Makefile.am): Likewise.
31215         * modules/strings (Depends-on, Makefile.am): Likewise.
31216         * modules/sys_file (Depends-on, Makefile.am): Likewise.
31217         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
31218         * modules/sys_select (Depends-on, Makefile.am): Likewise.
31219         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
31220         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
31221         * modules/sys_times (Depends-on, Makefile.am): Likewise.
31222         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
31223         * modules/wchar (Depends-on, Makefile.am): Likewise.
31224         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
31225         should be poisoned.
31226         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
31227         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
31228         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
31229         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31230         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31231         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31232         * m4/math_h.m4 (gl_MATH_H): Likewise.
31233         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31234         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
31235         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
31236         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
31237         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
31238         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
31239         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
31240         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
31241         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
31242         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31243         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
31244         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
31245         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31246         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
31247         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
31248         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
31249         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
31250         GL_LINK_WARNING.
31251         * lib/ctype.in.h: Likewise.
31252         * lib/dirent.in.h: Likewise.
31253         * lib/fcntl.in.h: Likewise.
31254         * lib/inttypes.in.h: Likewise.
31255         * lib/langinfo.in.h: Likewise.
31256         * lib/locale.in.h: Likewise.
31257         * lib/math.in.h: Likewise.
31258         * lib/search.in.h: Likewise.
31259         * lib/signal.in.h: Likewise.
31260         * lib/spawn.in.h: Likewise.
31261         * lib/stdio.in.h: Likewise.
31262         * lib/stdlib.in.h: Likewise.
31263         * lib/string.in.h: Likewise.
31264         * lib/strings.in.h: Likewise.
31265         * lib/sys_file.in.h: Likewise.
31266         * lib/sys_ioctl.in.h: Likewise.
31267         * lib/sys_select.in.h: Likewise.
31268         * lib/sys_socket.in.h: Likewise.
31269         * lib/sys_stat.in.h: Likewise.
31270         * lib/sys_times.in.h: Likewise.
31271         * lib/sys_utsname.in.h: Likewise.
31272         * lib/unistd.in.h: Likewise.
31273         * lib/wchar.in.h: Likewise.
31274
31275 2010-01-20  Bruno Haible  <bruno@clisp.org>
31276
31277         Avoid duplicate -lm.
31278         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
31279         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
31280         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
31281         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
31282         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
31283         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
31284         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
31285         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
31286         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
31287         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
31288         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
31289         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
31290         Reported by Paolo Bonzini.
31291
31292 2010-01-19  Bruno Haible  <bruno@clisp.org>
31293
31294         langinfo, nl_langinfo: Relicense under LGPLv2+.
31295         * modules/langinfo (License): Change to LGPLv2+.
31296         * modules/nl_langinfo (License): Likewise.
31297         Patch by David Lutterkort <lutter@redhat.com>.
31298
31299 2010-01-19  Bruno Haible  <bruno@clisp.org>
31300
31301         Avoid compilation error with cc on OSF/1 5.1.
31302         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
31303         statement, not before.
31304         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31305
31306 2010-01-18  Bruno Haible  <bruno@clisp.org>
31307
31308         Avoid a link error due to the __printf__ symbol.
31309         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
31310         and 2.6.x.
31311         (__format__, __printf__): Remove definitions.
31312         * lib/argp-fmtstream.h: Likewise.
31313         * lib/argp.h: Likewise.
31314         * lib/error.h: Likewise.
31315         * lib/vasnprintf.h: Likewise.
31316         * lib/xprintf.h: Likewise.
31317         * lib/xvasprintf.h: Likewise.
31318         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31319
31320 2010-01-18  Bruno Haible  <bruno@clisp.org>
31321
31322         Tests for module 'tanl'.
31323         * modules/tanl-tests: New file.
31324         * tests/test-tanl.c: New file.
31325
31326         Tests for module 'sqrtl'.
31327         * modules/sqrtl-tests: New file.
31328         * tests/test-sqrtl.c: New file.
31329
31330         Tests for module 'sinl'.
31331         * modules/sinl-tests: New file.
31332         * tests/test-sinl.c: New file.
31333
31334         Tests for module 'logl'.
31335         * modules/logl-tests: New file.
31336         * tests/test-logl.c: New file.
31337
31338         Tests for module 'expl'.
31339         * modules/expl-tests: New file.
31340         * tests/test-expl.c: New file.
31341
31342         Tests for module 'cosl'.
31343         * modules/cosl-tests: New file.
31344         * tests/test-cosl.c: New file.
31345
31346         Tests for module 'atanl'.
31347         * modules/atanl-tests: New file.
31348         * tests/test-atanl.c: New file.
31349
31350         Tests for module 'asinl'.
31351         * modules/asinl-tests: New file.
31352         * tests/test-asinl.c: New file.
31353
31354         Tests for module 'acosl'.
31355         * modules/acosl-tests: New file.
31356         * tests/test-acosl.c: New file.
31357
31358         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
31359         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
31360         tanl): Use the standard gnulib idiom.
31361         * lib/cosl.c: Don't include trigl.c and sincosl.c.
31362         * lib/sinl.c: Likewise.
31363         * lib/tanl.c: Don't include trigl.c.
31364         (kernel_tanl): Make static.
31365         * lib/sincosl.c: Include trigl.h first.
31366         * lib/trigl.c: Likewise.
31367         * m4/acosl.m4: New file.
31368         * m4/asinl.m4: New file.
31369         * m4/atanl.m4: New file.
31370         * m4/cosl.m4: New file.
31371         * m4/expl.m4: New file.
31372         * m4/logl.m4: New file.
31373         * m4/sinl.m4: New file.
31374         * m4/sqrtl.m4: New file.
31375         * m4/tanl.m4: New file.
31376         * m4/mathl.m4: Remove file.
31377         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
31378         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
31379         Don't initialize GNULIB_MATHL.
31380         * modules/acosl: New file.
31381         * modules/asinl: New file.
31382         * modules/atanl: New file.
31383         * modules/cosl: New file.
31384         * modules/expl: New file.
31385         * modules/logl: New file.
31386         * modules/sinl: New file.
31387         * modules/sqrtl: New file.
31388         * modules/tanl: New file.
31389         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
31390         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
31391         substitute GNULIB_MATHL.
31392         * modules/mathl: Rewritten.
31393         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
31394         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
31395         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
31396         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
31397         * doc/posix-functions/expl.texi: Mention the 'expl' module.
31398         * doc/posix-functions/logl.texi: Mention the 'logl' module.
31399         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
31400         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
31401         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
31402
31403 2010-01-18  Bruno Haible  <bruno@clisp.org>
31404
31405         sqrt: Make gl_FUNC_SQRT requirable.
31406         * m4/sqrt.m4: New file.
31407         * modules/sqrt (Files): Add it.
31408         (configure.ac): Invoke gl_FUNC_SQRT.
31409
31410 2010-01-18  Bruno Haible  <bruno@clisp.org>
31411
31412         New modules for common <math.h> functions.
31413         * m4/mathfunc.m4: New file.
31414         * modules/acos: New file.
31415         * modules/asin: New file.
31416         * modules/atan: New file.
31417         * modules/atan2: New file.
31418         * modules/cbrt: New file.
31419         * modules/copysign: New file.
31420         * modules/cos: New file.
31421         * modules/cosh: New file.
31422         * modules/erf: New file.
31423         * modules/erfc: New file.
31424         * modules/exp: New file.
31425         * modules/fabs: New file.
31426         * modules/fmod: New file.
31427         * modules/hypot: New file.
31428         * modules/j0: New file.
31429         * modules/j1: New file.
31430         * modules/jn: New file.
31431         * modules/ldexp: New file.
31432         * modules/lgamma: New file.
31433         * modules/log: New file.
31434         * modules/log10: New file.
31435         * modules/log1p: New file.
31436         * modules/logb: New file.
31437         * modules/modf: New file.
31438         * modules/nextafter: New file.
31439         * modules/pow: New file.
31440         * modules/remainder: New file.
31441         * modules/rint: New file.
31442         * modules/sin: New file.
31443         * modules/sinh: New file.
31444         * modules/sqrt: New file.
31445         * modules/tan: New file.
31446         * modules/tanh: New file.
31447         * modules/y0: New file.
31448         * modules/y1: New file.
31449         * modules/yn: New file.
31450         * doc/posix-functions/acos.texi: Mention the 'acos' module.
31451         * doc/posix-functions/asin.texi: Mention the 'asin' module.
31452         * doc/posix-functions/atan.texi: Mention the 'atan' module.
31453         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
31454         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
31455         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
31456         * doc/posix-functions/cos.texi: Mention the 'cos' module.
31457         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
31458         * doc/posix-functions/erf.texi: Mention the 'erf' module.
31459         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
31460         * doc/posix-functions/exp.texi: Mention the 'exp' module.
31461         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
31462         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
31463         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
31464         * doc/posix-functions/j0.texi: Mention the 'j0' module.
31465         * doc/posix-functions/j1.texi: Mention the 'j1' module.
31466         * doc/posix-functions/jn.texi: Mention the 'jn' module.
31467         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
31468         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
31469         * doc/posix-functions/log.texi: Mention the 'log' module.
31470         * doc/posix-functions/log10.texi: Mention the 'log10' module.
31471         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
31472         * doc/posix-functions/logb.texi: Mention the 'logb' module.
31473         * doc/posix-functions/modf.texi: Mention the 'modf' module.
31474         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
31475         * doc/posix-functions/pow.texi: Mention the 'pow' module.
31476         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
31477         * doc/posix-functions/rint.texi: Mention the 'rint' module.
31478         * doc/posix-functions/sin.texi: Mention the 'sin' module.
31479         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
31480         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
31481         * doc/posix-functions/tan.texi: Mention the 'tan' module.
31482         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
31483         * doc/posix-functions/y0.texi: Mention the 'y0' module.
31484         * doc/posix-functions/y1.texi: Mention the 'y1' module.
31485         * doc/posix-functions/yn.texi: Mention the 'yn' module.
31486
31487 2010-01-18  Jim Meyering  <meyering@redhat.com>
31488
31489         ignore-value: relax license to LGPLv2+
31490         * modules/ignore-value (License): Relax to LGPLv2+.
31491
31492         getdate: don't leak when TZ contains two or more '"'s
31493         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
31494         double quote in TZ after the first one.
31495
31496         readtokens: do not leak internal token_lengths buffer
31497         * lib/readtokens.c (readtokens): Free the local, lengths,
31498         when the supplied "token_lengths" parameter is NULL.
31499
31500 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31501
31502         Fix a couple of missing LIBTHREAD link failures on AIX.
31503         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
31504         $(LIBTHREAD).
31505         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
31506
31507         Link test-poll against INET_PTON_LIB.
31508         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
31509         for inet_pton on Solaris 10.
31510
31511 2010-01-17  Bruno Haible  <bruno@clisp.org>
31512
31513         unistdio/*-sprintf: Fix typo in module description.
31514         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
31515         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
31516         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
31517         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
31518         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
31519         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
31520         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
31521         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31522
31523 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31524
31525         gnulib-tool: fix filelist for AIX, HP-UX ksh.
31526         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
31527         variables in shell case patterns, for AIX and HP-UX ksh.
31528
31529         Split large sed scripts, for HP-UX sed.
31530         * modules/stdio: Split sed scripts around 50 sed commands,
31531         to avoid HP-UX limit of 99 commands, in the near future.
31532         * modules/string: Likewise.
31533         * modules/unistd: Likewise.
31534
31535         gnulib-tool: avoid writing in the current directory.
31536         * gnulib-tool (func_emit_lib_Makefile_am)
31537         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
31538         not in the current directory, so concurrent gnulib-tool
31539         instances do not interfere.
31540
31541 2010-01-16  Jim Meyering  <meyering@redhat.com>
31542
31543         doc: update users.txt
31544         * users.txt: Add grep.
31545         (diffutils, gzip): Update URLs.
31546
31547 2010-01-12  Bruno Haible  <bruno@clisp.org>
31548
31549         posix_spawn: Avoid test failure on Cygwin.
31550         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
31551         characters.
31552         Reported by Simon Josefsson.
31553
31554 2010-01-12  Bruno Haible  <bruno@clisp.org>
31555
31556         * tests/test-cond.c (main): When skipping the test, show the reason.
31557
31558 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31559
31560         * lib/striconv.c (str_cd_iconv): Avoid if before free.
31561
31562 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31563
31564         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
31565         VC_LIST_ALWAYS_EXCLUDE_REGEX.
31566
31567 2010-01-12  Eric Blake  <ebb9@byu.net>
31568
31569         build: guarantee AS_VAR_IF
31570         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
31571         (gl_AS_VAR_IF): Move...
31572         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
31573         Reported by Simon Josefsson.
31574
31575 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31576
31577         * lib/stdio.in.h: Fix typo.
31578
31579 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31580
31581         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
31582         libgpg-error.
31583
31584 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31585
31586         * tests/test-xalloc-die.sh: Use $EXEEXT.
31587
31588 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31589             Bruno Haible  <bruno@clisp.org>
31590
31591         getlogin, getlogin_r: Avoid test failure.
31592         * tests/test-getlogin.c: Include <stdio.h>.
31593         (main): Skip the test when the function fails because stdin is not a
31594         tty.
31595         * tests/test-getlogin_r.c: Include <stdio.h>.
31596         (main): Skip the test when the function fails because stdin is not a
31597         tty.
31598
31599 2010-01-11  Eric Blake  <ebb9@byu.net>
31600
31601         tests: avoid more large file warnings
31602         * tests/test-fflush.c: Avoid warning about ftell use.
31603         * tests/test-fseek.c: Avoid warning about fseek use.
31604
31605 2010-01-10  Bruno Haible  <bruno@clisp.org>
31606
31607         nproc: Work better on Linux when /proc and /sys are not mounted.
31608         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
31609         as lower bound when, on glibc/Linux systems,
31610         sysconf (_SC_NPROCESSORS_CONF) returns 1.
31611         Suggested by Pádraig Brady <P@draigbrady.com>.
31612         Reported by Dmitry V. Levin <ldv@altlinux.org>.
31613
31614         nproc: Refactor.
31615         * lib/nproc.c (num_processors_via_affinity_mask): New function,
31616         extracted from num_processors.
31617         (num_processors): Call it.
31618
31619 2010-01-11  Jim Meyering  <meyering@redhat.com>
31620
31621         utimecmp: avoid new warning from upcoming gcc-4.5.0
31622         * lib/utimecmp.c (BILLION): Define using #define rather than an
31623         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
31624
31625 2010-01-11  Eric Blake  <ebb9@byu.net>
31626
31627         math: add portability warnings for classification macros
31628         * modules/math (Depends-on): Add warn-on-use.
31629         (Makefile.am): Provide new substitutions.
31630         * m4/math_h.m4 (gl_MATH_H): Require inline.
31631         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
31632         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
31633         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
31634         implement warnings.
31635
31636         unistd: warn on use of environ without module
31637         * modules/unistd (Depends-on): Add warn-on-use.
31638         (Makefile.am): Provide new substitutions.
31639         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
31640         * lib/unistd.in.h (environ): Wrap with a warning helper function.
31641
31642         stdio: warn on suspicious uses
31643         * modules/stdio (Depends-on): Add warn-on-use.
31644         (Makefile.am): Provide new substitutions.
31645         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
31646         fseeko.
31647         * lib/stdio.in.h (gets): Always warn on use.
31648         (fseek, ftell): Adjust when warnings are issued, and honor
31649         _GL_NO_LARGE_FILES as a way to silence the warning.
31650         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
31651         any warning about large file offsets.
31652         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
31653         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
31654         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
31655         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
31656         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
31657         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
31658         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
31659         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
31660
31661         warn-on-use: new module
31662         * modules/warn-on-use: New file.
31663         * build-aux/warn-on-use.h: Likewise.
31664         * m4/warn-on-use.m4: Likewise.
31665         * MODULES.html.sh (Support for building): Mention it.
31666
31667 2010-01-10  Bruno Haible  <bruno@clisp.org>
31668
31669         Tests for module 'unistr/u32-strdup'.
31670         * modules/unistr/u32-strdup-tests: New file.
31671         * tests/unistr/test-u32-strdup.c: New file.
31672
31673         Tests for module 'unistr/u16-strdup'.
31674         * modules/unistr/u16-strdup-tests: New file.
31675         * tests/unistr/test-u16-strdup.c: New file.
31676
31677         Tests for module 'unistr/u8-strdup'.
31678         * modules/unistr/u8-strdup-tests: New file.
31679         * tests/unistr/test-u8-strdup.c: New file.
31680         * tests/unistr/test-strdup.h: New file.
31681
31682         Tests for module 'unistr/u32-strncmp'.
31683         * modules/unistr/u32-strncmp-tests: New file.
31684         * tests/unistr/test-u32-strncmp.c: New file.
31685
31686         Tests for module 'unistr/u16-strncmp'.
31687         * modules/unistr/u16-strncmp-tests: New file.
31688         * tests/unistr/test-u16-strncmp.c: New file.
31689
31690         Tests for module 'unistr/u8-strncmp'.
31691         * modules/unistr/u8-strncmp-tests: New file.
31692         * tests/unistr/test-u8-strncmp.c: New file.
31693         * tests/unistr/test-strncmp.h: New file.
31694
31695         Tests for module 'unistr/u32-strcoll'.
31696         * modules/unistr/u32-strcoll-tests: New file.
31697         * tests/unistr/test-u32-strcoll.c: New file.
31698
31699         Tests for module 'unistr/u16-strcoll'.
31700         * modules/unistr/u16-strcoll-tests: New file.
31701         * tests/unistr/test-u16-strcoll.c: New file.
31702
31703         Tests for module 'unistr/u8-strcoll'.
31704         * modules/unistr/u8-strcoll-tests: New file.
31705         * tests/unistr/test-u8-strcoll.c: New file.
31706
31707         Tests for module 'unistr/u32-strcmp'.
31708         * modules/unistr/u32-strcmp-tests: New file.
31709         * tests/unistr/test-u32-strcmp.c: New file.
31710         * tests/unistr/test-u32-strcmp.h: New file.
31711
31712         Tests for module 'unistr/u16-strcmp'.
31713         * modules/unistr/u16-strcmp-tests: New file.
31714         * tests/unistr/test-u16-strcmp.c: New file.
31715         * tests/unistr/test-u16-strcmp.h: New file.
31716
31717         Tests for module 'unistr/u8-strcmp'.
31718         * modules/unistr/u8-strcmp-tests: New file.
31719         * tests/unistr/test-u8-strcmp.c: New file.
31720         * tests/unistr/test-u8-strcmp.h: New file.
31721         * tests/unistr/test-strcmp.h: New file.
31722
31723         Tests for module 'unistr/u32-strncat'.
31724         * modules/unistr/u32-strncat-tests: New file.
31725         * tests/unistr/test-u32-strncat.c: New file.
31726
31727         Tests for module 'unistr/u16-strncat'.
31728         * modules/unistr/u16-strncat-tests: New file.
31729         * tests/unistr/test-u16-strncat.c: New file.
31730
31731         Tests for module 'unistr/u8-strncat'.
31732         * modules/unistr/u8-strncat-tests: New file.
31733         * tests/unistr/test-u8-strncat.c: New file.
31734         * tests/unistr/test-strncat.h: New file.
31735
31736         Tests for module 'unistr/u32-strcat'.
31737         * modules/unistr/u32-strcat-tests: New file.
31738         * tests/unistr/test-u32-strcat.c: New file.
31739
31740         Tests for module 'unistr/u16-strcat'.
31741         * modules/unistr/u16-strcat-tests: New file.
31742         * tests/unistr/test-u16-strcat.c: New file.
31743
31744         Tests for module 'unistr/u8-strcat'.
31745         * modules/unistr/u8-strcat-tests: New file.
31746         * tests/unistr/test-u8-strcat.c: New file.
31747         * tests/unistr/test-strcat.h: New file.
31748
31749         Tests for module 'unistr/u32-stpncpy'.
31750         * modules/unistr/u32-stpncpy-tests: New file.
31751         * tests/unistr/test-u32-stpncpy.c: New file.
31752
31753         Tests for module 'unistr/u16-stpncpy'.
31754         * modules/unistr/u16-stpncpy-tests: New file.
31755         * tests/unistr/test-u16-stpncpy.c: New file.
31756
31757         Tests for module 'unistr/u8-stpncpy'.
31758         * modules/unistr/u8-stpncpy-tests: New file.
31759         * tests/unistr/test-u8-stpncpy.c: New file.
31760         * tests/unistr/test-stpncpy.h: New file.
31761
31762         Tests for module 'unistr/u32-strncpy'.
31763         * modules/unistr/u32-strncpy-tests: New file.
31764         * tests/unistr/test-u32-strncpy.c: New file.
31765
31766         Tests for module 'unistr/u16-strncpy'.
31767         * modules/unistr/u16-strncpy-tests: New file.
31768         * tests/unistr/test-u16-strncpy.c: New file.
31769
31770         Tests for module 'unistr/u8-strncpy'.
31771         * modules/unistr/u8-strncpy-tests: New file.
31772         * tests/unistr/test-u8-strncpy.c: New file.
31773         * tests/unistr/test-strncpy.h: New file.
31774
31775         Tests for module 'unistr/u32-stpcpy'.
31776         * modules/unistr/u32-stpcpy-tests: New file.
31777         * tests/unistr/test-u32-stpcpy.c: New file.
31778
31779         Tests for module 'unistr/u16-stpcpy'.
31780         * modules/unistr/u16-stpcpy-tests: New file.
31781         * tests/unistr/test-u16-stpcpy.c: New file.
31782
31783         Tests for module 'unistr/u8-stpcpy'.
31784         * modules/unistr/u8-stpcpy-tests: New file.
31785         * tests/unistr/test-u8-stpcpy.c: New file.
31786         * tests/unistr/test-stpcpy.h: New file.
31787
31788         Tests for module 'unistr/u32-strcpy'.
31789         * modules/unistr/u32-strcpy-tests: New file.
31790         * tests/unistr/test-u32-strcpy.c: New file.
31791
31792         Tests for module 'unistr/u16-strcpy'.
31793         * modules/unistr/u16-strcpy-tests: New file.
31794         * tests/unistr/test-u16-strcpy.c: New file.
31795
31796         Tests for module 'unistr/u8-strcpy'.
31797         * modules/unistr/u8-strcpy-tests: New file.
31798         * tests/unistr/test-u8-strcpy.c: New file.
31799         * tests/unistr/test-strcpy.h: New file.
31800
31801         Tests for module 'unistr/u32-strnlen'.
31802         * modules/unistr/u32-strnlen-tests: New file.
31803         * tests/unistr/test-u32-strnlen.c: New file.
31804
31805         Tests for module 'unistr/u16-strnlen'.
31806         * modules/unistr/u16-strnlen-tests: New file.
31807         * tests/unistr/test-u16-strnlen.c: New file.
31808
31809         Tests for module 'unistr/u8-strnlen'.
31810         * modules/unistr/u8-strnlen-tests: New file.
31811         * tests/unistr/test-u8-strnlen.c: New file.
31812         * tests/unistr/test-strnlen.h: New file.
31813
31814         Tests for module 'unistr/u32-strlen'.
31815         * modules/unistr/u32-strlen-tests: New file.
31816         * tests/unistr/test-u32-strlen.c: New file.
31817
31818         Tests for module 'unistr/u16-strlen'.
31819         * modules/unistr/u16-strlen-tests: New file.
31820         * tests/unistr/test-u16-strlen.c: New file.
31821
31822         Tests for module 'unistr/u8-strlen'.
31823         * modules/unistr/u8-strlen-tests: New file.
31824         * tests/unistr/test-u8-strlen.c: New file.
31825
31826         Tests for module 'unistr/u32-prev'.
31827         * modules/unistr/u32-prev-tests: New file.
31828         * tests/unistr/test-u32-prev.c: New file.
31829
31830         Tests for module 'unistr/u16-prev'.
31831         * modules/unistr/u16-prev-tests: New file.
31832         * tests/unistr/test-u16-prev.c: New file.
31833
31834         Tests for module 'unistr/u8-prev'.
31835         * modules/unistr/u8-prev-tests: New file.
31836         * tests/unistr/test-u8-prev.c: New file.
31837
31838         Tests for module 'unistr/u32-next'.
31839         * modules/unistr/u32-next-tests: New file.
31840         * tests/unistr/test-u32-next.c: New file.
31841
31842         Tests for module 'unistr/u16-next'.
31843         * modules/unistr/u16-next-tests: New file.
31844         * tests/unistr/test-u16-next.c: New file.
31845
31846         Tests for module 'unistr/u8-next'.
31847         * modules/unistr/u8-next-tests: New file.
31848         * tests/unistr/test-u8-next.c: New file.
31849
31850         Tests for module 'unistr/u32-strmbtouc'.
31851         * modules/unistr/u32-strmbtouc-tests: New file.
31852         * tests/unistr/test-u32-strmbtouc.c: New file.
31853
31854         Tests for module 'unistr/u16-strmbtouc'.
31855         * modules/unistr/u16-strmbtouc-tests: New file.
31856         * tests/unistr/test-u16-strmbtouc.c: New file.
31857
31858         Tests for module 'unistr/u8-strmbtouc'.
31859         * modules/unistr/u8-strmbtouc-tests: New file.
31860         * tests/unistr/test-u8-strmbtouc.c: New file.
31861
31862         Tests for module 'unistr/u32-strmblen'.
31863         * modules/unistr/u32-strmblen-tests: New file.
31864         * tests/unistr/test-u32-strmblen.c: New file.
31865
31866         Tests for module 'unistr/u16-strmblen'.
31867         * modules/unistr/u16-strmblen-tests: New file.
31868         * tests/unistr/test-u16-strmblen.c: New file.
31869
31870         Tests for module 'unistr/u8-strmblen'.
31871         * modules/unistr/u8-strmblen-tests: New file.
31872         * tests/unistr/test-u8-strmblen.c: New file.
31873
31874         Tests for module 'unistr/u32-cpy-alloc'.
31875         * modules/unistr/u32-cpy-alloc-tests: New file.
31876         * tests/unistr/test-u32-cpy-alloc.c: New file.
31877
31878         Tests for module 'unistr/u16-cpy-alloc'.
31879         * modules/unistr/u16-cpy-alloc-tests: New file.
31880         * tests/unistr/test-u16-cpy-alloc.c: New file.
31881
31882         Tests for module 'unistr/u8-cpy-alloc'.
31883         * modules/unistr/u8-cpy-alloc-tests: New file.
31884         * tests/unistr/test-u8-cpy-alloc.c: New file.
31885         * tests/unistr/test-cpy-alloc.h: New file.
31886
31887         Tests for module 'unistr/u32-mbsnlen'.
31888         * modules/unistr/u32-mbsnlen-tests: New file.
31889         * tests/unistr/test-u32-mbsnlen.c: New file.
31890
31891         Tests for module 'unistr/u16-mbsnlen'.
31892         * modules/unistr/u16-mbsnlen-tests: New file.
31893         * tests/unistr/test-u16-mbsnlen.c: New file.
31894
31895         Tests for module 'unistr/u8-mbsnlen'.
31896         * modules/unistr/u8-mbsnlen-tests: New file.
31897         * tests/unistr/test-u8-mbsnlen.c: New file.
31898
31899         Tests for module 'unistr/u32-chr'.
31900         * modules/unistr/u32-chr-tests: New file.
31901         * tests/unistr/test-u32-chr.c: New file.
31902
31903         Tests for module 'unistr/u16-chr'.
31904         * modules/unistr/u16-chr-tests: New file.
31905         * tests/unistr/test-u16-chr.c: New file.
31906
31907         Tests for module 'unistr/u8-chr'.
31908         * modules/unistr/u8-chr-tests: New file.
31909         * tests/unistr/test-u8-chr.c: New file.
31910         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
31911
31912         Tests for module 'unistr/u32-cmp2'.
31913         * modules/unistr/u32-cmp2-tests: New file.
31914         * tests/unistr/test-u32-cmp2.c: New file.
31915
31916         Tests for module 'unistr/u16-cmp2'.
31917         * modules/unistr/u16-cmp2-tests: New file.
31918         * tests/unistr/test-u16-cmp2.c: New file.
31919
31920         Tests for module 'unistr/u8-cmp2'.
31921         * modules/unistr/u8-cmp2-tests: New file.
31922         * tests/unistr/test-u8-cmp2.c: New file.
31923         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
31924
31925         Tests for module 'unistr/u32-cmp'.
31926         * modules/unistr/u32-cmp-tests: New file.
31927         * tests/unistr/test-u32-cmp.c: New file.
31928
31929         Tests for module 'unistr/u16-cmp'.
31930         * modules/unistr/u16-cmp-tests: New file.
31931         * tests/unistr/test-u16-cmp.c: New file.
31932
31933         Tests for module 'unistr/u8-cmp'.
31934         * modules/unistr/u8-cmp-tests: New file.
31935         * tests/unistr/test-u8-cmp.c: New file.
31936         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
31937
31938         Tests for module 'unistr/u32-set'.
31939         * modules/unistr/u32-set-tests: New file.
31940         * tests/unistr/test-u32-set.c: New file.
31941
31942         Tests for module 'unistr/u16-set'.
31943         * modules/unistr/u16-set-tests: New file.
31944         * tests/unistr/test-u16-set.c: New file.
31945
31946         Tests for module 'unistr/u8-set'.
31947         * modules/unistr/u8-set-tests: New file.
31948         * tests/unistr/test-u8-set.c: New file.
31949         * tests/unistr/test-set.h: New file.
31950
31951         Tests for module 'unistr/u32-move'.
31952         * modules/unistr/u32-move-tests: New file.
31953         * tests/unistr/test-u32-move.c: New file.
31954
31955         Tests for module 'unistr/u16-move'.
31956         * modules/unistr/u16-move-tests: New file.
31957         * tests/unistr/test-u16-move.c: New file.
31958
31959         Tests for module 'unistr/u8-move'.
31960         * modules/unistr/u8-move-tests: New file.
31961         * tests/unistr/test-u8-move.c: New file.
31962         * tests/unistr/test-move.h: New file.
31963
31964         Tests for module 'unistr/u32-cpy'.
31965         * modules/unistr/u32-cpy-tests: New file.
31966         * tests/unistr/test-u32-cpy.c: New file.
31967
31968         Tests for module 'unistr/u16-cpy'.
31969         * modules/unistr/u16-cpy-tests: New file.
31970         * tests/unistr/test-u16-cpy.c: New file.
31971
31972         Tests for module 'unistr/u8-cpy'.
31973         * modules/unistr/u8-cpy-tests: New file.
31974         * tests/unistr/test-u8-cpy.c: New file.
31975         * tests/unistr/test-cpy.h: New file.
31976
31977 2010-01-09  Bruno Haible  <bruno@clisp.org>
31978
31979         Tests for module 'unistr/u32-uctomb'.
31980         * modules/unistr/u32-uctomb-tests: New file.
31981         * tests/unistr/test-u32-uctomb.c: New file.
31982
31983         Tests for module 'unistr/u16-uctomb'.
31984         * modules/unistr/u16-uctomb-tests: New file.
31985         * tests/unistr/test-u16-uctomb.c: New file.
31986
31987         Tests for module 'unistr/u8-uctomb'.
31988         * modules/unistr/u8-uctomb-tests: New file.
31989         * tests/unistr/test-u8-uctomb.c: New file.
31990
31991         Tests for module 'unistr/u32-mbtoucr'.
31992         * modules/unistr/u32-mbtoucr-tests: New file.
31993         * tests/unistr/test-u32-mbtoucr.c: New file.
31994
31995         Tests for module 'unistr/u16-mbtoucr'.
31996         * modules/unistr/u16-mbtoucr-tests: New file.
31997         * tests/unistr/test-u16-mbtoucr.c: New file.
31998
31999         Tests for module 'unistr/u8-mbtoucr'.
32000         * modules/unistr/u8-mbtoucr-tests: New file.
32001         * tests/unistr/test-u8-mbtoucr.c: New file.
32002
32003         Tests for module 'unistr/u32-mbtouc'.
32004         * modules/unistr/u32-mbtouc-tests: New file.
32005         * tests/unistr/test-u32-mbtouc.c: New file.
32006
32007         Tests for module 'unistr/u16-mbtouc'.
32008         * modules/unistr/u16-mbtouc-tests: New file.
32009         * tests/unistr/test-u16-mbtouc.c: New file.
32010
32011         Tests for module 'unistr/u8-mbtouc'.
32012         * modules/unistr/u8-mbtouc-tests: New file.
32013         * tests/unistr/test-u8-mbtouc.c: New file.
32014
32015         Tests for module 'unistr/u32-mbtouc-unsafe'.
32016         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
32017         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
32018         * tests/unistr/test-u32-mbtouc.h: New file.
32019
32020         Tests for module 'unistr/u16-mbtouc-unsafe'.
32021         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
32022         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
32023         * tests/unistr/test-u16-mbtouc.h: New file.
32024
32025         Tests for module 'unistr/u8-mbtouc-unsafe'.
32026         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
32027         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
32028         * tests/unistr/test-u8-mbtouc.h: New file.
32029
32030         Tests for module 'unistr/u32-mblen'.
32031         * modules/unistr/u32-mblen-tests: New file.
32032         * tests/unistr/test-u32-mblen.c: New file.
32033
32034         Tests for module 'unistr/u16-mblen'.
32035         * modules/unistr/u16-mblen-tests: New file.
32036         * tests/unistr/test-u16-mblen.c: New file.
32037
32038         Tests for module 'unistr/u8-mblen'.
32039         * modules/unistr/u8-mblen-tests: New file.
32040         * tests/unistr/test-u8-mblen.c: New file.
32041
32042         Tests for module 'unistr/u32-to-u16'.
32043         * modules/unistr/u32-to-u16-tests: New file.
32044         * tests/unistr/test-u32-to-u16.c: New file.
32045
32046         Tests for module 'unistr/u32-to-u8'.
32047         * modules/unistr/u32-to-u8-tests: New file.
32048         * tests/unistr/test-u32-to-u8.c: New file.
32049
32050         Tests for module 'unistr/u16-to-u32'.
32051         * modules/unistr/u16-to-u32-tests: New file.
32052         * tests/unistr/test-u16-to-u32.c: New file.
32053
32054         Tests for module 'unistr/u16-to-u8'.
32055         * modules/unistr/u16-to-u8-tests: New file.
32056         * tests/unistr/test-u16-to-u8.c: New file.
32057
32058         Tests for module 'unistr/u8-to-u32'.
32059         * modules/unistr/u8-to-u32-tests: New file.
32060         * tests/unistr/test-u8-to-u32.c: New file.
32061
32062         Tests for module 'unistr/u8-to-u16'.
32063         * modules/unistr/u8-to-u16-tests: New file.
32064         * tests/unistr/test-u8-to-u16.c: New file.
32065
32066         Tests for module 'unistr/u32-check'.
32067         * modules/unistr/u32-check-tests: New file.
32068         * tests/unistr/test-u32-check.c: New file.
32069
32070         Tests for module 'unistr/u16-check'.
32071         * modules/unistr/u16-check-tests: New file.
32072         * tests/unistr/test-u16-check.c: New file.
32073
32074         Tests for module 'unistr/u8-check'.
32075         * modules/unistr/u8-check-tests: New file.
32076         * tests/unistr/test-u8-check.c: New file.
32077
32078         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
32079         (category_equals): New function.
32080         (main): Add more tests.
32081         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
32082
32083         * tests/unictype/test-bidi_byname.c (main): Add more tests.
32084
32085 2010-01-10  Bruno Haible  <bruno@clisp.org>
32086
32087         unistr/u*-strcoll: Try harder to distinguish different strings.
32088         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
32089         compare s1 and s2 to see if they are different.
32090
32091 2010-01-10  Bruno Haible  <bruno@clisp.org>
32092
32093         unistr/u*-stpncpy: Fix the return value.
32094         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
32095         description of the return value consistent with stpncpy in glibc.
32096         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
32097         written non-NUL unit.
32098
32099 2010-01-10  Bruno Haible  <bruno@clisp.org>
32100
32101         unistr/u*-next: Add missing dependencies.
32102         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
32103         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
32104         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
32105
32106 2010-01-10  Bruno Haible  <bruno@clisp.org>
32107
32108         unistr/u8-mbsnlen: Fix return value for incomplete character.
32109         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
32110         u8_mblen.
32111         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
32112         Remove unistr/u8-mblen.
32113         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
32114         u16_mblen.
32115         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
32116         Remove unistr/u16-mblen.
32117
32118 2010-01-10  Bruno Haible  <bruno@clisp.org>
32119
32120         wchar: Fix compilation error when <wchar.h> is used from coreutils.
32121         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
32122         Reported by Brian Gough <bjg@gnu.org> and
32123         Chris Clayton <chris2553@googlemail.com> via
32124         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
32125
32126 2010-01-09  Bruno Haible  <bruno@clisp.org>
32127
32128         unistr/u16-to-u32: Reject invalid input.
32129         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
32130         u16_mbtouc.
32131         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
32132         Remove unistr/u16-mbtouc.
32133
32134         unistr/u16-to-u8: Reject invalid input.
32135         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
32136         u16_mbtouc.
32137         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
32138         Remove unistr/u16-mbtouc.
32139
32140         unistr/u8-to-u32: Reject invalid input.
32141         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
32142         u8_mbtouc.
32143         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
32144         Remove unistr/u8-mbtouc.
32145
32146         unistr/u8-to-u16: Reject invalid input.
32147         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
32148         u8_mbtouc.
32149         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
32150         Remove unistr/u8-mbtouc.
32151
32152 2010-01-09  Bruno Haible  <bruno@clisp.org>
32153
32154         Tests for module 'getlogin'.
32155         * modules/getlogin-tests: New file.
32156         * tests/test-getlogin.c: New file.
32157
32158         New module 'getlogin'.
32159         * lib/unistd.in.h (getlogin): New declaration.
32160         * lib/getlogin.c: New file.
32161         * m4/getlogin.m4: New file.
32162         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
32163         HAVE_GETLOGIN.
32164         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
32165         HAVE_GETLOGIN.
32166         * modules/getlogin: New file.
32167         * doc/posix-functions/getlogin.texi: Mention the new module.
32168         Reported by John W. Eaton <jwe@gnu.org>.
32169
32170 2010-01-09  Bruno Haible  <bruno@clisp.org>
32171
32172         getlogin_r: Support for native Windows.
32173         * lib/getlogin_r.c: Include <windows.h>
32174         (getlogin_r): Implement for native Windows.
32175         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
32176         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
32177         via John W. Eaton <jwe@gnu.org>.
32178
32179 2010-01-09  Bruno Haible  <bruno@clisp.org>
32180
32181         getlogin_r: Small fixes.
32182         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
32183         succeeds.
32184         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
32185         before testing whether getlogin_r is declared. No need to set
32186         HAVE_DECL_GETLOGIN_R to 1.
32187         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
32188
32189 2010-01-09  Bruno Haible  <bruno@clisp.org>
32190
32191         * lib/unistd.in.h (getlogin_r): Add comment.
32192
32193 2010-01-09  Bruno Haible  <bruno@clisp.org>
32194
32195         Tests for module 'getlogin_r'.
32196         * modules/getlogin_r-tests: New file.
32197         * tests/test-getlogin_r.c: New file.
32198
32199 2010-01-09  Jim Meyering  <meyering@redhat.com>
32200
32201         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
32202         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
32203         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
32204
32205 2010-01-08  Simon Josefsson  <simon@josefsson.org>
32206
32207         * lib/dup2.c (rpl_dup2): Improve comment.
32208
32209 2010-01-08  Eric Blake  <ebb9@byu.net>
32210
32211         maint.mk: allow packages to add makefile @@ exceptions
32212         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
32213         (sc_makefile_check): Rename...
32214         (sc_makefile_at_at_check): ...to this, and use hook.
32215
32216         dup2: work around mingw bug
32217         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
32218         Reported by Simon Josefsson.
32219
32220 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
32221
32222         glob: Fix C++ compilation.
32223         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
32224         C++.
32225
32226 2010-01-07  Bruno Haible  <bruno@clisp.org>
32227
32228         Fix indentation of wctype.in.h, broken since 2007-01-06.
32229         * lib/wctype.in.h: Fix indentation of preprocessor directives.
32230
32231 2010-01-07  Bruno Haible  <bruno@clisp.org>
32232
32233         mbslen: Avoid collision with system function.
32234         * lib/string.in.h [MirBSD]: Include <wchar.h>.
32235         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
32236         * m4/mbslen.m4: New file.
32237         * modules/mbslen (Files): Add it.
32238         (configure.ac): Invoke gl_MBSLEN.
32239         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
32240         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
32241         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
32242         via Ian Beckwith <ianb@erislabs.net>.
32243
32244 2010-01-07  Bruno Haible  <bruno@clisp.org>
32245
32246         dirent: Document the last fix.
32247         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
32248
32249 2010-01-07  Bruno Haible  <bruno@clisp.org>
32250
32251         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
32252         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
32253         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
32254         va_list are defined.
32255         * doc/posix-headers/stdio.texi: Document the bug of missing types.
32256         Reported by Eric Blake.
32257
32258 2010-01-07  Bruno Haible  <bruno@clisp.org>
32259
32260         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
32261         * modules/xlist (Depends-on): Add 'list',
32262         * modules/xoset (Depends-on): Add 'oset'.
32263         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32264
32265 2010-01-07  Bruno Haible  <bruno@clisp.org>
32266
32267         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
32268         * doc/posix-functions/strncasecmp.texi: Likewise.
32269
32270 2010-01-07  Bruno Haible  <bruno@clisp.org>
32271
32272         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
32273
32274 2010-01-07  John W. Eaton  <jwe@octave.org>
32275
32276         wctype: allow C++ use
32277         * lib/wctype.in.h: Add extern "C" block for C++.
32278
32279 2010-01-06  Eric Blake  <ebb9@byu.net>
32280
32281         maint.mk: detect incorrect GFDL usage
32282         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
32283
32284 2010-01-06  Jim Meyering  <meyering@redhat.com>
32285         and Eric Blake  <ebb9@byu.net>
32286
32287         maint.mk: ignore multi-line copyright in NEWS
32288         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
32289
32290 2010-01-06  Eric Blake  <ebb9@byu.net>
32291
32292         select: add missing dependency
32293         * modules/select-tests (Depends-on): Move sockets dependency...
32294         * modules/select (Depends-on): ...here.
32295         Reported by Ian Beckwith.
32296
32297         doc: regenerate INSTALL
32298         * doc/INSTALL: Reflect recent autoconf update.
32299         * doc/INSTALL.ISO: Likewise.
32300         * doc/INSTALL.UTF-8: Likewise.
32301
32302         pread: fix compilation on glibc
32303         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
32304         Reported by Ralf Wildenhues.
32305
32306         dirent: fix test failure
32307         * lib/dirent.in.h (includes): Guarantee ino_t.
32308         Reported by Ralf Wildenhues.
32309
32310 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
32311
32312         linkat, renameat: avoid bad free
32313         * lib/at-func2.c (at_func2): Fix typo.
32314         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
32315
32316 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32317
32318         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
32319         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
32320         to avoid failure of symlink test later.
32321
32322 2010-01-06  Eric Blake  <ebb9@byu.net>
32323
32324         stdio, unistd: guarantee ssize_t
32325         * lib/unistd.in.h (includes): Ensure that types required by POSIX
32326         2008 are exposed when needed.
32327         * lib/stdio.in.h (includes): Likewise.
32328         Reported by Ralf Wildenhues.
32329
32330 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
32331
32332         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
32333         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
32334         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
32335
32336 2010-01-06  Jim Meyering  <meyering@redhat.com>
32337
32338         readtokens: this module *does* require xalloc.h
32339         It uses only functions that were omitted by the old syntax-check rule.
32340         * lib/readtokens.c: Include "xalloc.h" once again.
32341         * modules/readtokens (Depends-on): Add xalloc.
32342         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
32343
32344 2010-01-05  Eric Blake  <ebb9@byu.net>
32345
32346         maint: support 'make announcement' from a VPATH build
32347         * top/maint.mk (announcement): Look for correct NEWS file.
32348
32349 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
32350
32351         utimens (fdutimens): ignore a negative FD, per contract
32352         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
32353         when we have a valid file descriptor.  Otherwise, using a brand
32354         new glibc (with just-patched futimens that now fails with EBADF)
32355         would cause this function to fail with ENOSYS.
32356         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
32357         See also http://bugzilla.redhat.com/552320.
32358
32359 2010-01-05  Eric Blake  <ebb9@byu.net>
32360
32361         strcase: document what it provides
32362         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
32363         gnulib module.
32364         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
32365         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
32366
32367 2010-01-05  Jim Meyering  <meyering@redhat.com>
32368
32369         maint: remove useless inclusions of "xalloc.h"
32370         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
32371         * lib/readtokens.c: Likewise.
32372         * lib/same.c: Likewise.
32373         * modules/getloadavg (Depends-on): Remove xalloc.
32374         * modules/readtokens: Likewise.
32375         * modules/same: Likewise.
32376
32377         maint.mk: include 4 more function names in alloca.h-checking regexp
32378         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
32379         regexp.  Before, we would give a false-positive (saying alloca.h
32380         is included unnecessarily) when the only uses involved omitted symbols.
32381
32382         xalloc.h: use consistent formatting
32383         * lib/xalloc.h: Move declarations to start in the first column.
32384
32385 2010-01-05  Eric Blake  <ebb9@byu.net>
32386
32387         mkdir: avoid xalloc
32388         * lib/mkdir.c (includes): Drop unused header.
32389         Reported by John W. Eaton.
32390
32391 2010-01-04  Jim Meyering  <meyering@redhat.com>
32392
32393         nl_langinfo: avoid configure-time syntax error
32394         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
32395         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
32396         the empty string.  Don't let that provoke a shell syntax error.
32397
32398         regcomp, regexec, fnmatch: avoid array bounds read error
32399         * lib/regcomp.c (build_equiv_class): From glibc:
32400         Use only the low 24 bits of a findidx return value as an index
32401         into the weights array.  Patch by Ulrich Drepper:
32402         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
32403         * lib/regexec.c (check_node_accept_bytes): Likewise.
32404         * lib/fnmatch_loop.c (FCT): Likewise.
32405
32406         regcomp: skip collseq lookup when there are no rules
32407         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
32408         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
32409
32410         regcomp: recognize ill-formed { } expressions
32411         * lib/regcomp.c (parse_dup_op): From glibc:
32412         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
32413
32414         regcomp: fix typo in comment
32415         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
32416         s/satisfy/satisfies/.
32417
32418         regcomp: sync from glibc: remove dead store
32419         * lib/regcomp.c (duplicate_node_closure): Remove useless
32420         search_duplicated_node call and dead store.
32421
32422         regcomp: sync from glibc; always use nl_langinfo
32423         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
32424         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
32425         * modules/regex (Depends-on): Add nl_langinfo.
32426
32427 2010-01-04  Eric Blake  <ebb9@byu.net>
32428
32429         fdopendir: fix configure test
32430         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
32431
32432 2010-01-01  Bruno Haible  <bruno@clisp.org>
32433
32434         wchar: Remove unused configure check.
32435         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
32436
32437 2010-01-01  Eric Blake  <ebb9@byu.net>
32438
32439         headers: make check of system header explicit
32440         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
32441         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
32442         ourselves.
32443         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
32444         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32445         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
32446         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
32447         internals.
32448         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
32449         missing.
32450         Suggested by Bruno Haible.
32451
32452 2010-01-01  Jim Meyering  <meyering@redhat.com>
32453
32454         ChangeLog: tweak to eliminate unnecessary copyright line
32455         * ChangeLog: Remove a copyright line that was mistakenly updated
32456         by today's update-copyright run.  Reported by Eric Blake.
32457
32458         test-update-copyright: don't let envvar setting cause test failure
32459         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
32460
32461 2010-01-01  Bruno Haible  <bruno@clisp.org>
32462
32463         localename: Avoid gcc warning.
32464         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
32465         function if it is not used.
32466
32467 2010-01-01  Jim Meyering  <meyering@redhat.com>
32468
32469         update nearly all FSF copyright year lists to include 2010
32470         Use the same procedure as for 2009, outlined in
32471         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
32472
32473         version-etc: set COPYRIGHT_YEAR to 2010
32474         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
32475
32476 2009-12-31  Eric Blake  <ebb9@byu.net>
32477
32478         doc: correct availability of cygwin 1.5.x getopt
32479         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
32480         variables.
32481         * doc/posix-functions/opterr.texi (opterr): Likewise.
32482         * doc/posix-functions/optind.texi (optind): Likewise.
32483         * doc/posix-functions/optopt.texi (optopt): Likewise.
32484         * doc/posix-functions/tzname.texi (tzname): Likewise.
32485
32486         openat: update maintainer
32487         * modules/openat (Maintainer): Add myself.
32488
32489         utimens: avoid shadowing warning
32490         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
32491         buffers into one, to avoid shadowing, as well as avoiding a
32492         redundant stat.
32493         Reported by Jim Meyering.
32494
32495         test-dup2: avoid compiler warning
32496         * tests/test-dup2.c (is_inheritable): Only define if used.
32497
32498 2010-01-01  Bruno Haible  <bruno@clisp.org>
32499
32500         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
32501         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
32502         defined, use wctomb instead of wcrtomb.
32503
32504 2010-01-01  Bruno Haible  <bruno@clisp.org>
32505
32506         iconv: Reject native Solaris iconv.
32507         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
32508         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
32509
32510 2009-12-31  Bruno Haible  <bruno@clisp.org>
32511
32512         * tests/test-signal.c (main): Remove test of 'SIG'.
32513
32514 2009-12-31  Bruno Haible  <bruno@clisp.org>
32515
32516         spawn: Fix incomplete fix.
32517         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
32518         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
32519         warnings for GNULIB_POSIXCHECK again.
32520         Reported by Eric Blake.
32521
32522 2009-12-31  Bruno Haible  <bruno@clisp.org>
32523
32524         Avoid namespace pollution on glibc systems.
32525         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
32526         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
32527         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
32528         glibc systems.
32529
32530 2009-12-31  Bruno Haible  <bruno@clisp.org>
32531
32532         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
32533         (gl_REPLACE_WCHAR_H): Turn into a no-op.
32534         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
32535         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
32536         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
32537         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
32538         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
32539
32540 2009-12-31  Bruno Haible  <bruno@clisp.org>
32541
32542         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
32543         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
32544         afterwards.
32545
32546 2009-12-31  Bruno Haible  <bruno@clisp.org>
32547
32548         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
32549         SYS_UTSNAME_H.
32550
32551 2009-12-31  Bruno Haible  <bruno@clisp.org>
32552
32553         spawn: Fix misapplied patch.
32554         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
32555         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
32556         warnings for GNULIB_POSIXCHECK.
32557
32558 2009-12-31  Bruno Haible  <bruno@clisp.org>
32559
32560         times: Update after sys_times changed.
32561         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
32562         * modules/times (Files): Add it.
32563         (configure.ac): Invoke gl_FUNC_TIMES.
32564
32565 2009-12-31  Bruno Haible  <bruno@clisp.org>
32566
32567         Use AC_C_INLINE where necessary.
32568         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
32569         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
32570         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
32571         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
32572         * m4/mbfile.m4 (gl_MBFILE): Likewise.
32573         * m4/mbiter.m4 (gl_MBITER): Likewise.
32574         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
32575         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
32576         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
32577         * modules/u64 (configure.ac): Likewise.
32578
32579 2009-12-31  Bruno Haible  <bruno@clisp.org>
32580
32581         Use AC_C_INLINE instead of module 'inline' where possible.
32582         * modules/inline (Description): Clarify purpose.
32583         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
32584         * modules/count-one-bits (Depends-on): Remove inline.
32585         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
32586         * modules/openat (Depends-on): Remove inline.
32587         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
32588         instead of depending on module 'inline'.
32589         * modules/filevercmp (Depends-on, configure.ac): Likewise.
32590         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
32591         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
32592         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
32593         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
32594         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
32595         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
32596         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
32597         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
32598         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
32599         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
32600         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
32601         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
32602         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
32603         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
32604         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
32605         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
32606         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
32607         Likewise.
32608         * modules/unictype/property-ascii-hex-digit (Depends-on,
32609         configure.ac): Likewise.
32610         * modules/unictype/property-bidi-arabic-digit (Depends-on,
32611         configure.ac): Likewise.
32612         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
32613         configure.ac): Likewise.
32614         * modules/unictype/property-bidi-block-separator (Depends-on,
32615         configure.ac): Likewise.
32616         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
32617         configure.ac): Likewise.
32618         * modules/unictype/property-bidi-common-separator (Depends-on,
32619         configure.ac): Likewise.
32620         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
32621         Likewise.
32622         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
32623         configure.ac): Likewise.
32624         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
32625         configure.ac): Likewise.
32626         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
32627         configure.ac): Likewise.
32628         * modules/unictype/property-bidi-european-digit (Depends-on,
32629         configure.ac): Likewise.
32630         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
32631         configure.ac): Likewise.
32632         * modules/unictype/property-bidi-left-to-right (Depends-on,
32633         configure.ac): Likewise.
32634         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
32635         configure.ac): Likewise.
32636         * modules/unictype/property-bidi-other-neutral (Depends-on,
32637         configure.ac): Likewise.
32638         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
32639         Likewise.
32640         * modules/unictype/property-bidi-segment-separator (Depends-on,
32641         configure.ac): Likewise.
32642         * modules/unictype/property-bidi-whitespace (Depends-on,
32643         configure.ac): Likewise.
32644         * modules/unictype/property-combining (Depends-on, configure.ac):
32645         Likewise.
32646         * modules/unictype/property-composite (Depends-on, configure.ac):
32647         Likewise.
32648         * modules/unictype/property-currency-symbol (Depends-on,
32649         configure.ac): Likewise.
32650         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
32651         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
32652         Likewise.
32653         * modules/unictype/property-default-ignorable-code-point (Depends-on,
32654         configure.ac): Likewise.
32655         * modules/unictype/property-deprecated (Depends-on, configure.ac):
32656         Likewise.
32657         * modules/unictype/property-diacritic (Depends-on, configure.ac):
32658         Likewise.
32659         * modules/unictype/property-extender (Depends-on, configure.ac):
32660         Likewise.
32661         * modules/unictype/property-format-control (Depends-on, configure.ac):
32662         Likewise.
32663         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
32664         Likewise.
32665         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
32666         Likewise.
32667         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
32668         Likewise.
32669         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
32670         Likewise.
32671         * modules/unictype/property-hyphen (Depends-on, configure.ac):
32672         Likewise.
32673         * modules/unictype/property-id-continue (Depends-on, configure.ac):
32674         Likewise.
32675         * modules/unictype/property-id-start (Depends-on, configure.ac):
32676         Likewise.
32677         * modules/unictype/property-ideographic (Depends-on, configure.ac):
32678         Likewise.
32679         * modules/unictype/property-ids-binary-operator (Depends-on,
32680         configure.ac): Likewise.
32681         * modules/unictype/property-ids-trinary-operator (Depends-on,
32682         configure.ac): Likewise.
32683         * modules/unictype/property-ignorable-control (Depends-on,
32684         configure.ac): Likewise.
32685         * modules/unictype/property-iso-control (Depends-on, configure.ac):
32686         Likewise.
32687         * modules/unictype/property-join-control (Depends-on, configure.ac):
32688         Likewise.
32689         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
32690         Likewise.
32691         * modules/unictype/property-line-separator (Depends-on, configure.ac):
32692         Likewise.
32693         * modules/unictype/property-logical-order-exception (Depends-on,
32694         configure.ac): Likewise.
32695         * modules/unictype/property-lowercase (Depends-on, configure.ac):
32696         Likewise.
32697         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
32698         * modules/unictype/property-non-break (Depends-on, configure.ac):
32699         Likewise.
32700         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
32701         Likewise.
32702         * modules/unictype/property-numeric (Depends-on, configure.ac):
32703         Likewise.
32704         * modules/unictype/property-other-alphabetic (Depends-on,
32705         configure.ac): Likewise.
32706         * modules/unictype/property-other-default-ignorable-code-point
32707         (Depends-on, configure.ac): Likewise.
32708         * modules/unictype/property-other-grapheme-extend (Depends-on,
32709         configure.ac): Likewise.
32710         * modules/unictype/property-other-id-continue (Depends-on,
32711         configure.ac): Likewise.
32712         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
32713         Likewise.
32714         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
32715         Likewise.
32716         * modules/unictype/property-other-math (Depends-on, configure.ac):
32717         Likewise.
32718         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
32719         Likewise.
32720         * modules/unictype/property-paired-punctuation (Depends-on,
32721         configure.ac): Likewise.
32722         * modules/unictype/property-paragraph-separator (Depends-on,
32723         configure.ac): Likewise.
32724         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
32725         Likewise.
32726         * modules/unictype/property-pattern-white-space (Depends-on,
32727         configure.ac): Likewise.
32728         * modules/unictype/property-private-use (Depends-on, configure.ac):
32729         Likewise.
32730         * modules/unictype/property-punctuation (Depends-on, configure.ac):
32731         Likewise.
32732         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
32733         Likewise.
32734         * modules/unictype/property-radical (Depends-on, configure.ac):
32735         Likewise.
32736         * modules/unictype/property-sentence-terminal (Depends-on,
32737         configure.ac): Likewise.
32738         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
32739         Likewise.
32740         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
32741         * modules/unictype/property-terminal-punctuation (Depends-on,
32742         configure.ac): Likewise.
32743         * modules/unictype/property-titlecase (Depends-on, configure.ac):
32744         Likewise.
32745         * modules/unictype/property-unassigned-code-value (Depends-on,
32746         configure.ac): Likewise.
32747         * modules/unictype/property-unified-ideograph (Depends-on,
32748         configure.ac): Likewise.
32749         * modules/unictype/property-uppercase (Depends-on, configure.ac):
32750         Likewise.
32751         * modules/unictype/property-variation-selector (Depends-on,
32752         configure.ac): Likewise.
32753         * modules/unictype/property-white-space (Depends-on, configure.ac):
32754         Likewise.
32755         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
32756         Likewise.
32757         * modules/unictype/property-xid-start (Depends-on, configure.ac):
32758         Likewise.
32759         * modules/unictype/property-zero-width (Depends-on, configure.ac):
32760         Likewise.
32761         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
32762         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
32763         Likewise.
32764
32765 2009-12-31  Bruno Haible  <bruno@clisp.org>
32766
32767         Remove unnecessary AC_C_INLINE invocation.
32768         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
32769         since 2009-08-21.
32770
32771 2009-12-31  Jim Meyering  <meyering@redhat.com>
32772
32773         maint.mk: don't require explicit gpg_key_ID in cfg.mk
32774         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
32775         With this change, we can all remove the gpg_key_ID = ... definition
32776         from our respective cfg.mk files.
32777
32778         maint.mk: create announcement template in ~/, not in /tmp
32779         * top/maint.mk (emit_upload_commands): Adjust.
32780         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
32781         Remove temporary file, .ci-msg.
32782
32783 2009-12-31  Eric Blake  <ebb9@byu.net>
32784
32785         link-warning: always build headers with link warnings
32786         * modules/arpa_inet (Makefile.am): Always build replacement
32787         header.
32788         * modules/ctype (Makefile.am): Likewise.
32789         * modules/dirent (Makefile.am): Likewise.
32790         * modules/inttypes (Makefile.am): Likewise.
32791         * modules/langinfo (Makefile.am): Likewise.
32792         * modules/locale (Makefile.am): Likewise.
32793         * modules/spawn (Makefile.am): Likewise.
32794         * modules/sys_file (Makefile.am): Likewise.
32795         * modules/sys_ioctl (Makefile.am): Likewise.
32796         * modules/sys_select (Makefile.am): Likewise.
32797         * modules/sys_socket (Makefile.am): Likewise.
32798         * modules/sys_times (Makefile.am): Likewise.
32799         * modules/sys_utsname (Makefile.am): Likewise.
32800         * modules/sys_wait (Makefile.am): Likewise.
32801         * modules/wchar (Makefile.am): Likewise.
32802         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
32803         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
32804         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
32805         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
32806         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
32807         Likewise.
32808         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
32809         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
32810         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
32811         Likewise.
32812         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
32813         Likewise.
32814         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
32815         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
32816         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
32817         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32818         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32819         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
32820         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
32821         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
32822         (gl_WCHAR_H_DEFAULTS): Likewise.
32823
32824 2009-12-31  Eric Blake  <ebb9@byu.net>
32825
32826         signal, spawn: use link warnings
32827         * lib/signal.in.h (sigset_t): Make unconditional.
32828         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
32829         (sigpending, sigprocmask, sigaction): Add link warnings.
32830         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
32831         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
32832         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
32833         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
32834         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
32835         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
32836         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
32837         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
32838         (posix_spawn_file_actions_destroy)
32839         (posix_spawn_file_actions_addopen)
32840         (posix_spawn_file_actions_addclose)
32841         (posix_spawn_file_actions_adddup2): Likewise.
32842         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
32843         * tests/test-signal.c (main): Enhance test.
32844
32845         spawn: improve wrapper support
32846         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
32847         (gl_SPAWN_H_DEFAULTS): New defaults.
32848         * modules/spawn (Makefile.am): Substitute them.
32849         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
32850         Only declare if missing or broken.
32851
32852         sys_times, sys_utsname: use include_next
32853         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
32854         header.
32855         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
32856         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
32857         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
32858         * modules/sys_times (Depends-on): Add include_next.
32859         (Makefile.am): Substitute additional values.
32860         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
32861         * lib/sys_times.in.h (includes): Include native header, if
32862         available.
32863         * lib/sys_utsname.in.h (includes): Likewise.
32864         * tests/test-sys_times.c (main): Enhance test.
32865
32866         fdutimensat: revert prior patch
32867         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
32868         utimens.h.
32869         Reported by Bruno Haible.
32870
32871 2009-12-30  Eric Blake  <ebb9@byu.net>
32872
32873         sys_wait: drop link-warning dependency
32874         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
32875         link-warning efforts.
32876         * lib/sys_wait.in.h: Likewise.
32877
32878         fdutimensat: remove bogus dependency
32879         * modules/fdutimensat (Depends-on): Drop inline.
32880
32881         unistd: fix typo
32882         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
32883
32884 2009-12-30  Bruno Haible  <bruno@clisp.org>
32885
32886         Fix compilation error with Solaris cc.
32887         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
32888         * lib/unicase/u16-is-invariant.c: Likewise.
32889         * lib/unicase/u32-is-invariant.c: Likewise.
32890         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
32891
32892 2009-12-30  Bruno Haible  <bruno@clisp.org>
32893
32894         Fix test crash.
32895         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
32896         locales.
32897         Reported by Simon Josefsson <simon@josefsson.org>.
32898
32899 2009-12-30  Bruno Haible  <bruno@clisp.org>
32900
32901         Fix compilation error on most platforms.
32902         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
32903         Reported by Simon Josefsson <simon@josefsson.org>
32904         and Nelson H. F. Beebe <beebe@math.utah.edu>.
32905
32906 2009-12-30  Eric Blake  <ebb9@byu.net>
32907
32908         futimens, utimensat: work around ntfs-3g bug
32909         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
32910         a ctime bug is present, and expand workaround to cover ntfs-3g.
32911         * lib/utimens.c (fdutimens, lutimens): Likewise.
32912         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
32913         (validate_timespec): Adjust return value.
32914         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
32915         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
32916         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
32917
32918 2009-12-29  Eric Blake  <ebb9@byu.net>
32919
32920         link-warning: make usage consistent
32921         * modules/ctype (Depends-on): Add link-warning.
32922         (Makefile.am): Update rules accordingly.
32923         * modules/langinfo (Depends-on, Makefile.am): Likewise.
32924         * modules/locale (Depends-on, Makefile.am): Likewise.
32925         * modules/sys_file (Makefile.am): Likewise.
32926         * modules/getopt-posix (Makefile.am): Delete unused link warning
32927         efforts.
32928         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
32929         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
32930         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
32931         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
32932
32933         stdio: remove unused variables
32934         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
32935         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
32936         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
32937
32938         tests: test more substitute headers
32939         * modules/ctype-tests: New file.
32940         * modules/dirent-tests: Likewise.
32941         * modules/spawn-tests: Likewise.
32942         * modules/sys_file-tests: Likewise.
32943         * modules/sys_ioctl-tests: Likewise.
32944         * modules/sys_wait-tests: Likewise.
32945         * tests/test-ctype.c: Likewise.
32946         * tests/test-dirent.c: Likewise.
32947         * tests/test-spawn.c: Likewise.
32948         * tests/test-sys_file.c: Likewise.
32949         * tests/test-sys_ioctl.c: Likewise.
32950         * tests/test-sys_wait.c: Likewise.
32951         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
32952         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
32953         whether or not flock is in use.
32954
32955         tests: remove License section from module
32956         * modules/arpa_inet-tests: Remove unneeded section.
32957         * modules/byteswap-tests: Likewise.
32958         * modules/ceilf-tests: Likewise.
32959         * modules/ceill-tests: Likewise.
32960         * modules/crypto/des-tests: Likewise.
32961         * modules/crypto/gc-arcfour-tests: Likewise.
32962         * modules/crypto/gc-arctwo-tests: Likewise.
32963         * modules/crypto/gc-des-tests: Likewise.
32964         * modules/crypto/gc-hmac-md5-tests: Likewise.
32965         * modules/crypto/gc-hmac-sha1-tests: Likewise.
32966         * modules/crypto/gc-md2-tests: Likewise.
32967         * modules/crypto/gc-md4-tests: Likewise.
32968         * modules/crypto/gc-md5-tests: Likewise.
32969         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
32970         * modules/crypto/gc-rijndael-tests: Likewise.
32971         * modules/crypto/gc-sha1-tests: Likewise.
32972         * modules/crypto/gc-tests: Likewise.
32973         * modules/crypto/md2-tests: Likewise.
32974         * modules/crypto/md4-tests: Likewise.
32975         * modules/fcntl-h-tests: Likewise.
32976         * modules/floorf-tests: Likewise.
32977         * modules/floorl-tests: Likewise.
32978         * modules/frexp-nolibm-tests: Likewise.
32979         * modules/frexp-tests: Likewise.
32980         * modules/frexpl-nolibm-tests: Likewise.
32981         * modules/frexpl-tests: Likewise.
32982         * modules/getaddrinfo-tests: Likewise.
32983         * modules/inttypes-tests: Likewise.
32984         * modules/isfinite-tests: Likewise.
32985         * modules/isinf-tests: Likewise.
32986         * modules/ldexpl-tests: Likewise.
32987         * modules/locale-tests: Likewise.
32988         * modules/math-tests: Likewise.
32989         * modules/netdb-tests: Likewise.
32990         * modules/netinet_in-tests: Likewise.
32991         * modules/printf-frexp-tests: Likewise.
32992         * modules/printf-frexpl-tests: Likewise.
32993         * modules/priv-set-tests: Likewise.
32994         * modules/random_r-tests: Likewise.
32995         * modules/round-tests: Likewise.
32996         * modules/roundf-tests: Likewise.
32997         * modules/roundl-tests: Likewise.
32998         * modules/search-tests: Likewise.
32999         * modules/select-tests: Likewise.
33000         * modules/signal-tests: Likewise.
33001         * modules/stdbool-tests: Likewise.
33002         * modules/stddef-tests: Likewise.
33003         * modules/stdint-tests: Likewise.
33004         * modules/stdio-tests: Likewise.
33005         * modules/stdlib-tests: Likewise.
33006         * modules/string-tests: Likewise.
33007         * modules/strings-tests: Likewise.
33008         * modules/sys_select-tests: Likewise.
33009         * modules/sys_socket-tests: Likewise.
33010         * modules/sys_stat-tests: Likewise.
33011         * modules/sys_time-tests: Likewise.
33012         * modules/sys_utsname-tests: Likewise.
33013         * modules/sysexits-tests: Likewise.
33014         * modules/time-tests: Likewise.
33015         * modules/trunc-tests: Likewise.
33016         * modules/truncf-tests: Likewise.
33017         * modules/truncl-tests: Likewise.
33018         * modules/tsearch-tests: Likewise.
33019         * modules/unistd-tests: Likewise.
33020         * modules/wchar-tests: Likewise.
33021         * modules/wctype-tests: Likewise.
33022
33023         tests: fix license on several tests
33024         * tests/test-des.c: Update to GPLv3+.
33025         * tests/test-flock.c: Likewise.
33026         * tests/test-fsync.c: Likewise.
33027         * tests/test-futimens.h: Likewise.
33028         * tests/test-gc-arcfour.c: Likewise.
33029         * tests/test-gc-arctwo.c: Likewise.
33030         * tests/test-gc-des.c: Likewise.
33031         * tests/test-gc-hmac-md5.c: Likewise.
33032         * tests/test-gc-hmac-sha1.c: Likewise.
33033         * tests/test-gc-md2.c: Likewise.
33034         * tests/test-gc-md4.c: Likewise.
33035         * tests/test-gc-md5.c: Likewise.
33036         * tests/test-gc-pbkdf2-sha1.c: Likewise.
33037         * tests/test-gc-rijndael.c: Likewise.
33038         * tests/test-gc-sha1.c: Likewise.
33039         * tests/test-gc.c: Likewise.
33040         * tests/test-getcwd.c: Likewise.
33041         * tests/test-link.c: Likewise.
33042         * tests/test-link.h: Likewise.
33043         * tests/test-lutimens.h: Likewise.
33044         * tests/test-md2.c: Likewise.
33045         * tests/test-md4.c: Likewise.
33046         * tests/test-mkdir.h: Likewise.
33047         * tests/test-rename.c: Likewise.
33048         * tests/test-rename.h: Likewise.
33049         * tests/test-safe-alloc.c: Likewise.
33050         * tests/test-utimens-common.h: Likewise.
33051         * tests/test-utimens.h: Likewise.
33052
33053         maint: sync license texts
33054         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
33055         * doc/gpl-3.0.texi: Revert copyright year update.
33056         * doc/lgpl-3.0.texi: Likewise.
33057
33058 2009-12-29  Jim Meyering  <meyering@redhat.com>
33059
33060         update nearly all FSF copyright year lists to include 2009
33061         The files named by the following are exempted:
33062             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
33063               test -f "$dst" && { echo "$dst"; continue; }
33064               test -d "$dst" || continue
33065               echo "$dst"/$(basename "$src")
33066             done > exempt
33067             git ls-files tests/unictype >> exempt
33068         In the remaining files, convert to all-interval notation if
33069         - there is already at least one year interval like 2000-2003
33070         - the file is maintained by me
33071         - the file is in lib/uni*/, where that style already prevails
33072         Otherwise, use update-copyright's default.
33073
33074 2009-12-29  Simon Josefsson  <simon@josefsson.org>
33075         and Eric Blake  <ebb9@byu.net>
33076
33077         tests: don't require debug system() to pass
33078         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
33079         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33080         * tests/test-unlink.h (test_unlink_func): Likewise.
33081         * tests/test-fstatat.c (main): ...into callers.
33082         * tests/test-lstat.c (main): Likewise.
33083         * tests/test-rmdir.c (main): Likewise.
33084         * tests/test-unlink.c (main): Likewise.
33085         * tests/test-unlinkat.c (main): Likewise.
33086         * tests/test-areadlink-with-size.c (main): Don't require a
33087         debug-only system call to pass, aiding cross-testing to mingw.
33088         * tests/test-areadlink.c (main): Likewise.
33089         * tests/test-areadlinkat-with-size.c (main): Likewise.
33090         * tests/test-areadlinkat.c (main): Likewise.
33091         * tests/test-canonicalize-lgpl.c (main): Likewise.
33092         * tests/test-canonicalize.c (main): Likewise.
33093         * tests/test-chown.c (main): Likewise.
33094         * tests/test-fchownat.c (main): Likewise.
33095         * tests/test-lchown.c (main): Likewise.
33096         * tests/test-fdutimensat.c (main): Likewise.
33097         * tests/test-futimens.c (main): Likewise.
33098         * tests/test-link.c (main): Likewise.
33099         * tests/test-linkat.c (main): Likewise.
33100         * tests/test-mkdir.c (main): Likewise.
33101         * tests/test-mkdirat.c (main): Likewise.
33102         * tests/test-mkfifo.c (main): Likewise.
33103         * tests/test-mkfifoat.c (main): Likewise.
33104         * tests/test-mknod.c (main): Likewise.
33105         * tests/test-readlink.c (main): Likewise.
33106         * tests/test-remove.c (main): Likewise.
33107         * tests/test-rename.c (main): Likewise.
33108         * tests/test-renameat.c (main): Likewise.
33109         * tests/test-symlink.c (main): Likewise.
33110         * tests/test-symlinkat.c (main): Likewise.
33111         * tests/test-utimens.c (main): Likewise.
33112         * tests/test-utimensat.c (main): Likewise.
33113
33114 2009-12-29  Simon Josefsson  <simon@josefsson.org>
33115
33116         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
33117         on $(UNUSED_PARAMETER_H) to avoid build failure.
33118
33119 2009-12-28  Jim Meyering  <meyering@redhat.com>
33120
33121         update-copyright: you may specify a max. line length other than 72
33122         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
33123
33124         maint: use consistent FSF copyright line syntax
33125         * lib/posixtm.c: Add missing comma in FSF copyright line.
33126         * lib/posixtm.h: Likewise.
33127         * lib/getugroups.c: Add missing ", Inc.".
33128
33129         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
33130         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
33131         FSF copyright line.  Remove trailing blanks.
33132
33133 2009-12-28  Eric Blake  <ebb9@byu.net>
33134
33135         test-dup2: reduce dependencies
33136         * modules/cloexec (Configure.ac): Set witness.
33137         * modules/dup2-tests (Depends-on): Drop cloexec.
33138         * tests/test-dup2.c (main): Skip portion of test if cloexec module
33139         not present.
33140         Suggested by Bruno Haible.
33141
33142 2009-12-26  Bruno Haible  <bruno@clisp.org>
33143
33144         Remove an unneeded dependency.
33145         * modules/fseterr (Depends-on): Remove dup2.
33146
33147 2009-12-26  Eric Blake  <ebb9@byu.net>
33148
33149         tests: use macros.h in more places
33150         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
33151         (ASSERT_STREAM): Provide default of stderr.
33152         * tests/test-dirent-safer.c: Include macros.h, using alternate
33153         stream for assertions.
33154         * tests/test-dup-safer.c: Likewise.
33155         * tests/test-freopen-safer.c: Likewise.
33156         * tests/test-getopt.c: Likewise.
33157         * tests/test-openat-safer.c: Likewise.
33158         * tests/test-pipe.c: Likewise.
33159         * tests/test-popen-safer.c: Likewise.
33160         * modules/dirent-safer-tests (Files): Include macros.h.
33161         * modules/unistd-safer-tests (Files): Likewise.
33162         * modules/freopen-safer-tests (Files): Likewise.
33163         * modules/getopt-posix-tests (Files): Likewise.
33164         * modules/openat-safer-tests (Files): Likewise.
33165         * modules/pipe-tests (Files): Likewise.
33166
33167 2009-12-26  Bruno Haible  <bruno@clisp.org>
33168
33169         javacomp: Portability fix.
33170         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
33171         that it also works on Solaris.
33172
33173 2009-12-26  Bruno Haible  <bruno@clisp.org>
33174
33175         localename: Fix storage allocation of gl_locale_name_thread's result.
33176         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
33177         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
33178         all platforms that have 'uselocale'.
33179         (gl_locale_name_thread_unsafe): New function, extracted from
33180         gl_locale_name_thread.
33181         (gl_locale_name_thread): Call struniq on all platforms that have
33182         'uselocale'.
33183         * tests/test-localename.c (test_locale_name_thread): Check that the
33184         resulting strings are permanently allocated.
33185         * modules/localename-tests (Depends-on): Add strdup.
33186
33187 2009-12-26  Bruno Haible  <bruno@clisp.org>
33188
33189         * tests/test-localename.c (categories): Fill in the strings.
33190
33191 2009-12-26  Jim Meyering  <meyering@redhat.com>
33192
33193         isdir: complete the removal of m4/isdir.m4
33194         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
33195
33196         isdir: clean up, since at least grep still uses it
33197         * lib/isdir.c: Include "isdir.h".
33198         (S_ISDIR): Remove now-unneeded definition.
33199         * modules/isdir (Files): Add lib/isdir.h.
33200         * lib/isdir.h: New file, with declaration.
33201         * m4/isdir.m4: Remove file -- unneeded.
33202
33203 2009-12-25  Bruno Haible  <bruno@clisp.org>
33204
33205         selinux-h: Make generated .h files standalone.
33206         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
33207         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
33208         * lib/se-selinux.in.h: Likewise.
33209         * modules/selinux-h (Depends-on): Add unused-parameter.
33210         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
33211         selinux/selinux.h and selinux/context.h.
33212         Suggested by Eric Blake.
33213
33214 2009-12-25  Bruno Haible  <bruno@clisp.org>
33215
33216         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
33217         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
33218         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
33219         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
33220         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
33221
33222 2009-12-24  Bruno Haible  <bruno@clisp.org>
33223
33224         openat: Fix warning.
33225         * lib/openat-proc.c: Include <unistd.h>.
33226
33227 2009-12-24  Bruno Haible  <bruno@clisp.org>
33228
33229         New module 'unused-parameter'.
33230         * build-aux/unused-parameter.h: New file, extracted from earlier
33231         gnulib-common.m4.
33232         * modules/unused-parameter: New file.
33233         * lib/unistr.h: Include unused-parameter.h.
33234         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
33235         _GL_UNUSED.
33236         * modules/unistr/base (Depends-on): Add unused-parameter.
33237
33238 2009-12-24  Bruno Haible  <bruno@clisp.org>
33239
33240         Add missing dependencies to 'extensions' module.
33241         * m4/extensions.m4: Add comment.
33242         * modules/accept4 (Depends-on): Add extensions.
33243         * modules/dup3 (Depends-on): Likewise.
33244         * modules/fcntl (Depends-on): Likewise.
33245         * modules/futimens (Depends-on): Likewise.
33246         * modules/mknod (Depends-on): Likewise.
33247         * modules/pipe2 (Depends-on): Likewise.
33248         * modules/stat-time (Depends-on): Likewise.
33249         * modules/strcasestr-simple (Depends-on): Likewise.
33250         * modules/strsignal (Depends-on): Likewise.
33251         * modules/utimensat (Depends-on): Likewise.
33252         * modules/localcharset (Depends-on): Likewise. Needed because of
33253         gl_FCNTL_O_FLAGS.
33254         * modules/wcrtomb (Depends-on): Likewise. Needed because of
33255         AC_TYPE_MBSTATE_T.
33256         * modules/wcsnrtombs (Depends-on): Likewise.
33257         * modules/wcsrtombs (Depends-on): Likewise.
33258
33259 2009-12-24  Bruno Haible  <bruno@clisp.org>
33260
33261         binary-io: Avoid gcc warning due to SET_BINARY.
33262         * lib/binary-io.h (SET_BINARY): Cast the result to void.
33263         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
33264
33265 2009-12-24  Bruno Haible  <bruno@clisp.org>
33266
33267         Avoid future namespace pollution on glibc systems.
33268         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
33269         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
33270         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
33271         glibc systems.
33272
33273 2009-12-24  Bruno Haible  <bruno@clisp.org>
33274
33275         Refactor common macros used in tests.
33276         * tests/macros.h: New file.
33277         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
33278         and/or <stdlib.h>, if appropriate.
33279         (ASSERT, SIZEOF): Remove macros.
33280         * tests/test-areadlink-with-size.c: Likewise.
33281         * tests/test-areadlinkat.c: Likewise.
33282         * tests/test-areadlinkat-with-size.c: Likewise.
33283         * tests/test-argmatch.c: Likewise.
33284         * tests/test-argv-iter.c: Likewise.
33285         * tests/test-array-mergesort.c: Likewise.
33286         * tests/test-array_list.c: Likewise.
33287         * tests/test-array_oset.c: Likewise.
33288         * tests/test-avltree_list.c: Likewise.
33289         * tests/test-avltree_oset.c: Likewise.
33290         * tests/test-avltreehash_list.c: Likewise.
33291         * tests/test-base64.c: Likewise.
33292         * tests/test-binary-io.c: Likewise.
33293         * tests/test-bitrotate.c: Likewise.
33294         * tests/test-btowc.c: Likewise.
33295         * tests/test-byteswap.c: Likewise.
33296         * tests/test-c-ctype.c: Likewise.
33297         * tests/test-c-stack.c: Likewise.
33298         * tests/test-c-strcasecmp.c: Likewise.
33299         * tests/test-c-strcasestr.c: Likewise.
33300         * tests/test-c-strncasecmp.c: Likewise.
33301         * tests/test-c-strstr.c: Likewise.
33302         * tests/test-canonicalize-lgpl.c: Likewise.
33303         * tests/test-canonicalize.c: Likewise.
33304         * tests/test-carray_list.c: Likewise.
33305         * tests/test-ceilf1.c: Likewise.
33306         * tests/test-ceilf2.c: Likewise.
33307         * tests/test-ceill.c: Likewise.
33308         * tests/test-chown.c: Likewise.
33309         * tests/test-cloexec.c: Likewise.
33310         * tests/test-copy-acl.c: Likewise.
33311         * tests/test-copy-file.c: Likewise.
33312         * tests/test-count-one-bits.c: Likewise.
33313         * tests/test-dprintf-posix.c: Likewise.
33314         * tests/test-dup2.c: Likewise.
33315         * tests/test-dup3.c: Likewise.
33316         * tests/test-duplocale.c: Likewise.
33317         * tests/test-fbufmode.c: Likewise.
33318         * tests/test-fchdir.c: Likewise.
33319         * tests/test-fchownat.c: Likewise.
33320         * tests/test-fcntl-safer.c: Likewise.
33321         * tests/test-fcntl.c: Likewise.
33322         * tests/test-fdopendir.c: Likewise.
33323         * tests/test-fdutimensat.c: Likewise.
33324         * tests/test-fflush2.c: Likewise.
33325         * tests/test-file-has-acl.c: Likewise.
33326         * tests/test-filevercmp.c: Likewise.
33327         * tests/test-flock.c: Likewise.
33328         * tests/test-floorf1.c: Likewise.
33329         * tests/test-floorf2.c: Likewise.
33330         * tests/test-floorl.c: Likewise.
33331         * tests/test-fnmatch.c: Likewise.
33332         * tests/test-fopen.h: Likewise.
33333         * tests/test-fpending.c: Likewise.
33334         * tests/test-fprintf-posix.c: Likewise.
33335         * tests/test-fpurge.c: Likewise.
33336         * tests/test-freadable.c: Likewise.
33337         * tests/test-freadahead.c: Likewise.
33338         * tests/test-freading.c: Likewise.
33339         * tests/test-freadptr.c: Likewise.
33340         * tests/test-freadptr2.c: Likewise.
33341         * tests/test-freadseek.c: Likewise.
33342         * tests/test-freopen.c: Likewise.
33343         * tests/test-frexp.c: Likewise.
33344         * tests/test-frexpl.c: Likewise.
33345         * tests/test-fseek.c: Likewise.
33346         * tests/test-fseeko.c: Likewise.
33347         * tests/test-fstatat.c: Likewise.
33348         * tests/test-fstrcmp.c: Likewise.
33349         * tests/test-fsync.c: Likewise.
33350         * tests/test-ftell.c: Likewise.
33351         * tests/test-ftello.c: Likewise.
33352         * tests/test-func.c: Likewise.
33353         * tests/test-futimens.c: Likewise.
33354         * tests/test-fwritable.c: Likewise.
33355         * tests/test-fwriting.c: Likewise.
33356         * tests/test-getcwd.c: Likewise.
33357         * tests/test-getdate.c: Likewise.
33358         * tests/test-getdelim.c: Likewise.
33359         * tests/test-getdtablesize.c: Likewise.
33360         * tests/test-getgroups.c: Likewise.
33361         * tests/test-getline.c: Likewise.
33362         * tests/test-getndelim2.c: Likewise.
33363         * tests/test-glob.c: Likewise.
33364         * tests/test-hash.c: Likewise.
33365         * tests/test-i-ring.c: Likewise.
33366         * tests/test-iconv-utf.c: Likewise.
33367         * tests/test-iconv.c: Likewise.
33368         * tests/test-idpriv-drop.c: Likewise.
33369         * tests/test-idpriv-droptemp.c: Likewise.
33370         * tests/test-inet_ntop.c: Likewise.
33371         * tests/test-inet_pton.c: Likewise.
33372         * tests/test-isblank.c: Likewise.
33373         * tests/test-isfinite.c: Likewise.
33374         * tests/test-isinf.c: Likewise.
33375         * tests/test-isnan.c: Likewise.
33376         * tests/test-isnand.h: Likewise.
33377         * tests/test-isnanf.h: Likewise.
33378         * tests/test-isnanl.h: Likewise.
33379         * tests/test-lchown.c: Likewise.
33380         * tests/test-ldexpl.c: Likewise.
33381         * tests/test-link.c: Likewise.
33382         * tests/test-linkat.c: Likewise.
33383         * tests/test-linked_list.c: Likewise.
33384         * tests/test-linkedhash_list.c: Likewise.
33385         * tests/test-localename.c: Likewise.
33386         * tests/test-lseek.c: Likewise.
33387         * tests/test-lstat.c: Likewise.
33388         * tests/test-mbmemcasecmp.c: Likewise.
33389         * tests/test-mbmemcasecoll.c: Likewise.
33390         * tests/test-mbrtowc.c: Likewise.
33391         * tests/test-mbscasecmp.c: Likewise.
33392         * tests/test-mbscasestr1.c: Likewise.
33393         * tests/test-mbscasestr2.c: Likewise.
33394         * tests/test-mbscasestr3.c: Likewise.
33395         * tests/test-mbscasestr4.c: Likewise.
33396         * tests/test-mbschr.c: Likewise.
33397         * tests/test-mbscspn.c: Likewise.
33398         * tests/test-mbsinit.c: Likewise.
33399         * tests/test-mbsncasecmp.c: Likewise.
33400         * tests/test-mbsnrtowcs.c: Likewise.
33401         * tests/test-mbspbrk.c: Likewise.
33402         * tests/test-mbspcasecmp.c: Likewise.
33403         * tests/test-mbsrchr.c: Likewise.
33404         * tests/test-mbsrtowcs.c: Likewise.
33405         * tests/test-mbsspn.c: Likewise.
33406         * tests/test-mbsstr1.c: Likewise.
33407         * tests/test-mbsstr2.c: Likewise.
33408         * tests/test-mbsstr3.c: Likewise.
33409         * tests/test-memchr.c: Likewise.
33410         * tests/test-memchr2.c: Likewise.
33411         * tests/test-memcmp.c: Likewise.
33412         * tests/test-memmem.c: Likewise.
33413         * tests/test-memrchr.c: Likewise.
33414         * tests/test-mkdir.c: Likewise.
33415         * tests/test-mkdirat.c: Likewise.
33416         * tests/test-mkfifo.c: Likewise.
33417         * tests/test-mkfifoat.c: Likewise.
33418         * tests/test-mknod.c: Likewise.
33419         * tests/test-nanosleep.c: Likewise.
33420         * tests/test-nl_langinfo.c: Likewise.
33421         * tests/test-obstack-printf.c: Likewise.
33422         * tests/test-open.c: Likewise.
33423         * tests/test-openat.c: Likewise.
33424         * tests/test-pipe-filter-gi1.c: Likewise.
33425         * tests/test-pipe-filter-gi2-main.c: Likewise.
33426         * tests/test-pipe-filter-ii1.c: Likewise.
33427         * tests/test-pipe-filter-ii2-main.c: Likewise.
33428         * tests/test-pipe2.c: Likewise.
33429         * tests/test-popen.h: Likewise.
33430         * tests/test-posixtm.c: Likewise.
33431         * tests/test-pread.c: Likewise.
33432         * tests/test-printf-frexp.c: Likewise.
33433         * tests/test-printf-frexpl.c: Likewise.
33434         * tests/test-printf-posix.c: Likewise.
33435         * tests/test-priv-set.c: Likewise.
33436         * tests/test-quotearg.c: Likewise.
33437         * tests/test-random_r.c: Likewise.
33438         * tests/test-rawmemchr.c: Likewise.
33439         * tests/test-rbtree_list.c: Likewise.
33440         * tests/test-rbtree_oset.c: Likewise.
33441         * tests/test-rbtreehash_list.c: Likewise.
33442         * tests/test-readlink.c: Likewise.
33443         * tests/test-remove.c: Likewise.
33444         * tests/test-rename.c: Likewise.
33445         * tests/test-renameat.c: Likewise.
33446         * tests/test-rmdir.c: Likewise.
33447         * tests/test-round1.c: Likewise.
33448         * tests/test-roundf1.c: Likewise.
33449         * tests/test-roundl.c: Likewise.
33450         * tests/test-safe-alloc.c: Likewise.
33451         * tests/test-sameacls.c: Likewise.
33452         * tests/test-set-mode-acl.c: Likewise.
33453         * tests/test-setenv.c: Likewise.
33454         * tests/test-sigaction.c: Likewise.
33455         * tests/test-signbit.c: Likewise.
33456         * tests/test-sleep.c: Likewise.
33457         * tests/test-snprintf-posix.c: Likewise.
33458         * tests/test-snprintf.c: Likewise.
33459         * tests/test-sprintf-posix.c: Likewise.
33460         * tests/test-stat-time.c: Likewise.
33461         * tests/test-stat.c: Likewise.
33462         * tests/test-strcasestr.c: Likewise.
33463         * tests/test-strchrnul.c: Likewise.
33464         * tests/test-strerror.c: Likewise.
33465         * tests/test-striconv.c: Likewise.
33466         * tests/test-striconveh.c: Likewise.
33467         * tests/test-striconveha.c: Likewise.
33468         * tests/test-strsignal.c: Likewise.
33469         * tests/test-strstr.c: Likewise.
33470         * tests/test-strtod.c: Likewise.
33471         * tests/test-strverscmp.c: Likewise.
33472         * tests/test-symlink.c: Likewise.
33473         * tests/test-symlinkat.c: Likewise.
33474         * tests/test-trunc1.c: Likewise.
33475         * tests/test-trunc2.c: Likewise.
33476         * tests/test-truncf1.c: Likewise.
33477         * tests/test-truncf2.c: Likewise.
33478         * tests/test-truncl.c: Likewise.
33479         * tests/test-uname.c: Likewise.
33480         * tests/test-unlink.c: Likewise.
33481         * tests/test-unlinkat.c: Likewise.
33482         * tests/test-unsetenv.c: Likewise.
33483         * tests/test-usleep.c: Likewise.
33484         * tests/test-utimens.c: Likewise.
33485         * tests/test-utimensat.c: Likewise.
33486         * tests/test-vasnprintf-posix.c: Likewise.
33487         * tests/test-vasnprintf-posix2.c: Likewise.
33488         * tests/test-vasnprintf.c: Likewise.
33489         * tests/test-vasprintf-posix.c: Likewise.
33490         * tests/test-vasprintf.c: Likewise.
33491         * tests/test-vdprintf-posix.c: Likewise.
33492         * tests/test-vfprintf-posix.c: Likewise.
33493         * tests/test-vprintf-posix.c: Likewise.
33494         * tests/test-vsnprintf-posix.c: Likewise.
33495         * tests/test-vsnprintf.c: Likewise.
33496         * tests/test-vsprintf-posix.c: Likewise.
33497         * tests/test-wcrtomb.c: Likewise.
33498         * tests/test-wcsnrtombs.c: Likewise.
33499         * tests/test-wcsrtombs.c: Likewise.
33500         * tests/test-wctype.c: Likewise.
33501         * tests/test-wcwidth.c: Likewise.
33502         * tests/test-xfprintf-posix.c: Likewise.
33503         * tests/test-xmemdup0.c: Likewise.
33504         * tests/test-xprintf-posix.c: Likewise.
33505         * tests/test-xvasprintf.c: Likewise.
33506         * tests/unicase/test-locale-language.c: Likewise.
33507         * tests/unicase/test-mapping-part1.h: Likewise.
33508         * tests/unicase/test-predicate-part1.h: Likewise.
33509         * tests/unicase/test-u8-casecmp.c: Likewise.
33510         * tests/unicase/test-u8-casecoll.c: Likewise.
33511         * tests/unicase/test-u8-casefold.c: Likewise.
33512         * tests/unicase/test-u8-is-cased.c: Likewise.
33513         * tests/unicase/test-u8-is-casefolded.c: Likewise.
33514         * tests/unicase/test-u8-is-lowercase.c: Likewise.
33515         * tests/unicase/test-u8-is-titlecase.c: Likewise.
33516         * tests/unicase/test-u8-is-uppercase.c: Likewise.
33517         * tests/unicase/test-u8-tolower.c: Likewise.
33518         * tests/unicase/test-u8-totitle.c: Likewise.
33519         * tests/unicase/test-u8-toupper.c: Likewise.
33520         * tests/unicase/test-u16-casecmp.c: Likewise.
33521         * tests/unicase/test-u16-casecoll.c: Likewise.
33522         * tests/unicase/test-u16-casefold.c: Likewise.
33523         * tests/unicase/test-u16-is-cased.c: Likewise.
33524         * tests/unicase/test-u16-is-casefolded.c: Likewise.
33525         * tests/unicase/test-u16-is-lowercase.c: Likewise.
33526         * tests/unicase/test-u16-is-titlecase.c: Likewise.
33527         * tests/unicase/test-u16-is-uppercase.c: Likewise.
33528         * tests/unicase/test-u16-tolower.c: Likewise.
33529         * tests/unicase/test-u16-totitle.c: Likewise.
33530         * tests/unicase/test-u16-toupper.c: Likewise.
33531         * tests/unicase/test-u32-casecmp.c: Likewise.
33532         * tests/unicase/test-u32-casecoll.c: Likewise.
33533         * tests/unicase/test-u32-casefold.c: Likewise.
33534         * tests/unicase/test-u32-is-cased.c: Likewise.
33535         * tests/unicase/test-u32-is-casefolded.c: Likewise.
33536         * tests/unicase/test-u32-is-lowercase.c: Likewise.
33537         * tests/unicase/test-u32-is-titlecase.c: Likewise.
33538         * tests/unicase/test-u32-is-uppercase.c: Likewise.
33539         * tests/unicase/test-u32-tolower.c: Likewise.
33540         * tests/unicase/test-u32-totitle.c: Likewise.
33541         * tests/unicase/test-u32-toupper.c: Likewise.
33542         * tests/unicase/test-ulc-casecmp.c: Likewise.
33543         * tests/unicase/test-ulc-casecoll.c: Likewise.
33544         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
33545         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
33546         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
33547         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
33548         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
33549         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
33550         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
33551         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
33552         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
33553         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
33554         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
33555         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
33556         * tests/unictype/test-bidi_byname.c: Likewise.
33557         * tests/unictype/test-bidi_name.c: Likewise.
33558         * tests/unictype/test-bidi_of.c: Likewise.
33559         * tests/unictype/test-bidi_test.c: Likewise.
33560         * tests/unictype/test-block_list.c: Likewise.
33561         * tests/unictype/test-block_of.c: Likewise.
33562         * tests/unictype/test-block_test.c: Likewise.
33563         * tests/unictype/test-categ_and.c: Likewise.
33564         * tests/unictype/test-categ_and_not.c: Likewise.
33565         * tests/unictype/test-categ_byname.c: Likewise.
33566         * tests/unictype/test-categ_name.c: Likewise.
33567         * tests/unictype/test-categ_none.c: Likewise.
33568         * tests/unictype/test-categ_of.c: Likewise.
33569         * tests/unictype/test-categ_or.c: Likewise.
33570         * tests/unictype/test-categ_test_withtable.c: Likewise.
33571         * tests/unictype/test-combining.c: Likewise.
33572         * tests/unictype/test-decdigit.c: Likewise.
33573         * tests/unictype/test-digit.c: Likewise.
33574         * tests/unictype/test-mirror.c: Likewise.
33575         * tests/unictype/test-numeric.c: Likewise.
33576         * tests/unictype/test-pr_byname.c: Likewise.
33577         * tests/unictype/test-pr_test.c: Likewise.
33578         * tests/unictype/test-predicate-part1.h: Likewise.
33579         * tests/unictype/test-scripts.c: Likewise.
33580         * tests/unictype/test-sy_c_ident.c: Likewise.
33581         * tests/unictype/test-sy_java_ident.c: Likewise.
33582         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
33583         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
33584         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
33585         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
33586         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
33587         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
33588         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
33589         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
33590         * tests/uninorm/test-canonical-decomposition.c: Likewise.
33591         * tests/uninorm/test-compat-decomposition.c: Likewise.
33592         * tests/uninorm/test-composition.c: Likewise.
33593         * tests/uninorm/test-decomposing-form.c: Likewise.
33594         * tests/uninorm/test-decomposition.c: Likewise.
33595         * tests/uninorm/test-u8-nfc.c: Likewise.
33596         * tests/uninorm/test-u8-nfd.c: Likewise.
33597         * tests/uninorm/test-u8-nfkc.c: Likewise.
33598         * tests/uninorm/test-u8-nfkd.c: Likewise.
33599         * tests/uninorm/test-u8-normcmp.c: Likewise.
33600         * tests/uninorm/test-u8-normcoll.c: Likewise.
33601         * tests/uninorm/test-u16-nfc.c: Likewise.
33602         * tests/uninorm/test-u16-nfd.c: Likewise.
33603         * tests/uninorm/test-u16-nfkc.c: Likewise.
33604         * tests/uninorm/test-u16-nfkd.c: Likewise.
33605         * tests/uninorm/test-u16-normcmp.c: Likewise.
33606         * tests/uninorm/test-u16-normcoll.c: Likewise.
33607         * tests/uninorm/test-u32-nfc.c: Likewise.
33608         * tests/uninorm/test-u32-nfd.c: Likewise.
33609         * tests/uninorm/test-u32-nfkc.c: Likewise.
33610         * tests/uninorm/test-u32-nfkd.c: Likewise.
33611         * tests/uninorm/test-u32-normalize-big.c: Likewise.
33612         * tests/uninorm/test-u32-normcmp.c: Likewise.
33613         * tests/uninorm/test-u32-normcoll.c: Likewise.
33614         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
33615         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
33616         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
33617         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
33618         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
33619         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
33620         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
33621         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
33622         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
33623         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
33624         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
33625         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
33626         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
33627         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
33628         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
33629         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
33630         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
33631         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
33632         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
33633         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
33634         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
33635         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
33636         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
33637         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
33638         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
33639         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
33640         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
33641         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
33642         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
33643         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
33644         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
33645         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
33646         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
33647         * tests/uniwidth/test-u8-strwidth.c: Likewise.
33648         * tests/uniwidth/test-u8-width.c: Likewise.
33649         * tests/uniwidth/test-u16-strwidth.c: Likewise.
33650         * tests/uniwidth/test-u16-width.c: Likewise.
33651         * tests/uniwidth/test-u32-strwidth.c: Likewise.
33652         * tests/uniwidth/test-u32-width.c: Likewise.
33653         * tests/uniwidth/test-uc_width.c: Likewise.
33654         * tests/uniwidth/test-uc_width2.c: Likewise.
33655         * modules/acl-tests (Files): Add tests/macros.h.
33656         * modules/areadlink-tests (Files): Likewise.
33657         * modules/areadlink-with-size-tests (Files): Likewise.
33658         * modules/areadlinkat-tests (Files): Likewise.
33659         * modules/areadlinkat-with-size-tests (Files): Likewise.
33660         * modules/argmatch-tests (Files): Likewise.
33661         * modules/argv-iter-tests (Files): Likewise.
33662         * modules/array-list-tests (Files): Likewise.
33663         * modules/array-mergesort-tests (Files): Likewise.
33664         * modules/array-oset-tests (Files): Likewise.
33665         * modules/avltree-list-tests (Files): Likewise.
33666         * modules/avltree-oset-tests (Files): Likewise.
33667         * modules/avltreehash-list-tests (Files): Likewise.
33668         * modules/base64-tests (Files): Likewise.
33669         * modules/binary-io-tests (Files): Likewise.
33670         * modules/bitrotate-tests (Files): Likewise.
33671         * modules/btowc-tests (Files): Likewise.
33672         * modules/byteswap-tests (Files): Likewise.
33673         * modules/c-ctype-tests (Files): Likewise.
33674         * modules/c-stack-tests (Files): Likewise.
33675         * modules/c-strcase-tests (Files): Likewise.
33676         * modules/c-strcasestr-tests (Files): Likewise.
33677         * modules/c-strstr-tests (Files): Likewise.
33678         * modules/canonicalize-lgpl-tests (Files): Likewise.
33679         * modules/canonicalize-tests (Files): Likewise.
33680         * modules/carray-list-tests (Files): Likewise.
33681         * modules/ceilf-tests (Files): Likewise.
33682         * modules/ceill-tests (Files): Likewise.
33683         * modules/chown-tests (Files): Likewise.
33684         * modules/cloexec-tests (Files): Likewise.
33685         * modules/copy-file-tests (Files): Likewise.
33686         * modules/count-one-bits-tests (Files): Likewise.
33687         * modules/dprintf-posix-tests (Files): Likewise.
33688         * modules/dup2-tests (Files): Likewise.
33689         * modules/dup3-tests (Files): Likewise.
33690         * modules/duplocale-tests (Files): Likewise.
33691         * modules/fbufmode-tests (Files): Likewise.
33692         * modules/fchdir-tests (Files): Likewise.
33693         * modules/fcntl-safer-tests (Files): Likewise.
33694         * modules/fcntl-tests (Files): Likewise.
33695         * modules/fdopendir-tests (Files): Likewise.
33696         * modules/fdutimensat-tests (Files): Likewise.
33697         * modules/fflush-tests (Files): Likewise.
33698         * modules/filevercmp-tests (Files): Likewise.
33699         * modules/flock-tests (Files): Likewise.
33700         * modules/floorf-tests (Files): Likewise.
33701         * modules/floorl-tests (Files): Likewise.
33702         * modules/fnmatch-tests (Files): Likewise.
33703         * modules/fopen-safer-tests (Files): Likewise.
33704         * modules/fopen-tests (Files): Likewise.
33705         * modules/fpending-tests (Files): Likewise.
33706         * modules/fprintf-posix-tests (Files): Likewise.
33707         * modules/fpurge-tests (Files): Likewise.
33708         * modules/freadable-tests (Files): Likewise.
33709         * modules/freadahead-tests (Files): Likewise.
33710         * modules/freading-tests (Files): Likewise.
33711         * modules/freadptr-tests (Files): Likewise.
33712         * modules/freadseek-tests (Files): Likewise.
33713         * modules/freopen-tests (Files): Likewise.
33714         * modules/frexp-nolibm-tests (Files): Likewise.
33715         * modules/frexp-tests (Files): Likewise.
33716         * modules/frexpl-nolibm-tests (Files): Likewise.
33717         * modules/frexpl-tests (Files): Likewise.
33718         * modules/fseek-tests (Files): Likewise.
33719         * modules/fseeko-tests (Files): Likewise.
33720         * modules/fstrcmp-tests (Files): Likewise.
33721         * modules/fsync-tests (Files): Likewise.
33722         * modules/ftell-tests (Files): Likewise.
33723         * modules/ftello-tests (Files): Likewise.
33724         * modules/func-tests (Files): Likewise.
33725         * modules/futimens-tests (Files): Likewise.
33726         * modules/fwritable-tests (Files): Likewise.
33727         * modules/fwriting-tests (Files): Likewise.
33728         * modules/getcwd-tests (Files): Likewise.
33729         * modules/getdate-tests (Files): Likewise.
33730         * modules/getdelim-tests (Files): Likewise.
33731         * modules/getdtablesize-tests (Files): Likewise.
33732         * modules/getgroups-tests (Files): Likewise.
33733         * modules/getline-tests (Files): Likewise.
33734         * modules/getndelim2-tests (Files): Likewise.
33735         * modules/glob-tests (Files): Likewise.
33736         * modules/hash-tests (Files): Likewise.
33737         * modules/i-ring-tests (Files): Likewise.
33738         * modules/iconv-tests (Files): Likewise.
33739         * modules/iconv_open-utf-tests (Files): Likewise.
33740         * modules/idpriv-drop-tests (Files): Likewise.
33741         * modules/idpriv-droptemp-tests (Files): Likewise.
33742         * modules/inet_ntop-tests (Files): Likewise.
33743         * modules/inet_pton-tests (Files): Likewise.
33744         * modules/isblank-tests (Files): Likewise.
33745         * modules/isfinite-tests (Files): Likewise.
33746         * modules/isinf-tests (Files): Likewise.
33747         * modules/isnan-tests (Files): Likewise.
33748         * modules/isnand-nolibm-tests (Files): Likewise.
33749         * modules/isnand-tests (Files): Likewise.
33750         * modules/isnanf-nolibm-tests (Files): Likewise.
33751         * modules/isnanf-tests (Files): Likewise.
33752         * modules/isnanl-nolibm-tests (Files): Likewise.
33753         * modules/isnanl-tests (Files): Likewise.
33754         * modules/lchown-tests (Files): Likewise.
33755         * modules/ldexpl-tests (Files): Likewise.
33756         * modules/link-tests (Files): Likewise.
33757         * modules/linkat-tests (Files): Likewise.
33758         * modules/linked-list-tests (Files): Likewise.
33759         * modules/linkedhash-list-tests (Files): Likewise.
33760         * modules/localename-tests (Files): Likewise.
33761         * modules/lseek-tests (Files): Likewise.
33762         * modules/lstat-tests (Files): Likewise.
33763         * modules/mbmemcasecmp-tests (Files): Likewise.
33764         * modules/mbmemcasecoll-tests (Files): Likewise.
33765         * modules/mbrtowc-tests (Files): Likewise.
33766         * modules/mbscasecmp-tests (Files): Likewise.
33767         * modules/mbscasestr-tests (Files): Likewise.
33768         * modules/mbschr-tests (Files): Likewise.
33769         * modules/mbscspn-tests (Files): Likewise.
33770         * modules/mbsinit-tests (Files): Likewise.
33771         * modules/mbsncasecmp-tests (Files): Likewise.
33772         * modules/mbsnrtowcs-tests (Files): Likewise.
33773         * modules/mbspbrk-tests (Files): Likewise.
33774         * modules/mbspcasecmp-tests (Files): Likewise.
33775         * modules/mbsrchr-tests (Files): Likewise.
33776         * modules/mbsrtowcs-tests (Files): Likewise.
33777         * modules/mbsspn-tests (Files): Likewise.
33778         * modules/mbsstr-tests (Files): Likewise.
33779         * modules/memchr-tests (Files): Likewise.
33780         * modules/memchr2-tests (Files): Likewise.
33781         * modules/memcmp-tests (Files): Likewise.
33782         * modules/memmem-tests (Files): Likewise.
33783         * modules/memrchr-tests (Files): Likewise.
33784         * modules/mkdir-tests (Files): Likewise.
33785         * modules/mkfifo-tests (Files): Likewise.
33786         * modules/mkfifoat-tests (Files): Likewise.
33787         * modules/mknod-tests (Files): Likewise.
33788         * modules/nanosleep-tests (Files): Likewise.
33789         * modules/nl_langinfo-tests (Files): Likewise.
33790         * modules/obstack-printf-tests (Files): Likewise.
33791         * modules/open-tests (Files): Likewise.
33792         * modules/openat-tests (Files): Likewise.
33793         * modules/pipe-filter-gi-tests (Files): Likewise.
33794         * modules/pipe-filter-ii-tests (Files): Likewise.
33795         * modules/pipe2-tests (Files): Likewise.
33796         * modules/popen-safer-tests (Files): Likewise.
33797         * modules/popen-tests (Files): Likewise.
33798         * modules/posixtm-tests (Files): Likewise.
33799         * modules/pread-tests (Files): Likewise.
33800         * modules/printf-frexp-tests (Files): Likewise.
33801         * modules/printf-frexpl-tests (Files): Likewise.
33802         * modules/printf-posix-tests (Files): Likewise.
33803         * modules/priv-set-tests (Files): Likewise.
33804         * modules/quotearg-tests (Files): Likewise.
33805         * modules/random_r-tests (Files): Likewise.
33806         * modules/rawmemchr-tests (Files): Likewise.
33807         * modules/rbtree-list-tests (Files): Likewise.
33808         * modules/rbtree-oset-tests (Files): Likewise.
33809         * modules/rbtreehash-list-tests (Files): Likewise.
33810         * modules/readlink-tests (Files): Likewise.
33811         * modules/remove-tests (Files): Likewise.
33812         * modules/rename-tests (Files): Likewise.
33813         * modules/renameat-tests (Files): Likewise.
33814         * modules/rmdir-tests (Files): Likewise.
33815         * modules/round-tests (Files): Likewise.
33816         * modules/roundf-tests (Files): Likewise.
33817         * modules/roundl-tests (Files): Likewise.
33818         * modules/safe-alloc-tests (Files): Likewise.
33819         * modules/setenv-tests (Files): Likewise.
33820         * modules/sigaction-tests (Files): Likewise.
33821         * modules/signbit-tests (Files): Likewise.
33822         * modules/sleep-tests (Files): Likewise.
33823         * modules/snprintf-posix-tests (Files): Likewise.
33824         * modules/snprintf-tests (Files): Likewise.
33825         * modules/sprintf-posix-tests (Files): Likewise.
33826         * modules/stat-tests (Files): Likewise.
33827         * modules/stat-time-tests (Files): Likewise.
33828         * modules/strcasestr-tests (Files): Likewise.
33829         * modules/strchrnul-tests (Files): Likewise.
33830         * modules/strerror-tests (Files): Likewise.
33831         * modules/striconv-tests (Files): Likewise.
33832         * modules/striconveh-tests (Files): Likewise.
33833         * modules/striconveha-tests (Files): Likewise.
33834         * modules/strsignal-tests (Files): Likewise.
33835         * modules/strstr-tests (Files): Likewise.
33836         * modules/strtod-tests (Files): Likewise.
33837         * modules/strverscmp-tests (Files): Likewise.
33838         * modules/symlink-tests (Files): Likewise.
33839         * modules/symlinkat-tests (Files): Likewise.
33840         * modules/trunc-tests (Files): Likewise.
33841         * modules/truncf-tests (Files): Likewise.
33842         * modules/truncl-tests (Files): Likewise.
33843         * modules/uname-tests (Files): Likewise.
33844         * modules/unicase/cased-tests (Files): Likewise.
33845         * modules/unicase/ignorable-tests (Files): Likewise.
33846         * modules/unicase/locale-language-tests (Files): Likewise.
33847         * modules/unicase/tolower-tests (Files): Likewise.
33848         * modules/unicase/totitle-tests (Files): Likewise.
33849         * modules/unicase/toupper-tests (Files): Likewise.
33850         * modules/unicase/u8-casecmp-tests (Files): Likewise.
33851         * modules/unicase/u8-casecoll-tests (Files): Likewise.
33852         * modules/unicase/u8-casefold-tests (Files): Likewise.
33853         * modules/unicase/u8-is-cased-tests (Files): Likewise.
33854         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
33855         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
33856         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
33857         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
33858         * modules/unicase/u8-tolower-tests (Files): Likewise.
33859         * modules/unicase/u8-totitle-tests (Files): Likewise.
33860         * modules/unicase/u8-toupper-tests (Files): Likewise.
33861         * modules/unicase/u16-casecmp-tests (Files): Likewise.
33862         * modules/unicase/u16-casecoll-tests (Files): Likewise.
33863         * modules/unicase/u16-casefold-tests (Files): Likewise.
33864         * modules/unicase/u16-is-cased-tests (Files): Likewise.
33865         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
33866         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
33867         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
33868         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
33869         * modules/unicase/u16-tolower-tests (Files): Likewise.
33870         * modules/unicase/u16-totitle-tests (Files): Likewise.
33871         * modules/unicase/u16-toupper-tests (Files): Likewise.
33872         * modules/unicase/u32-casecmp-tests (Files): Likewise.
33873         * modules/unicase/u32-casecoll-tests (Files): Likewise.
33874         * modules/unicase/u32-casefold-tests (Files): Likewise.
33875         * modules/unicase/u32-is-cased-tests (Files): Likewise.
33876         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
33877         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
33878         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
33879         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
33880         * modules/unicase/u32-tolower-tests (Files): Likewise.
33881         * modules/unicase/u32-totitle-tests (Files): Likewise.
33882         * modules/unicase/u32-toupper-tests (Files): Likewise.
33883         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
33884         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
33885         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
33886         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
33887         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
33888         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
33889         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
33890         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
33891         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
33892         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
33893         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
33894         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
33895         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
33896         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
33897         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
33898         * modules/unictype/bidicategory-name-tests (Files): Likewise.
33899         * modules/unictype/bidicategory-of-tests (Files): Likewise.
33900         * modules/unictype/bidicategory-test-tests (Files): Likewise.
33901         * modules/unictype/block-list-tests (Files): Likewise.
33902         * modules/unictype/block-of-tests (Files): Likewise.
33903         * modules/unictype/block-test-tests (Files): Likewise.
33904         * modules/unictype/category-C-tests (Files): Likewise.
33905         * modules/unictype/category-Cc-tests (Files): Likewise.
33906         * modules/unictype/category-Cf-tests (Files): Likewise.
33907         * modules/unictype/category-Cn-tests (Files): Likewise.
33908         * modules/unictype/category-Co-tests (Files): Likewise.
33909         * modules/unictype/category-Cs-tests (Files): Likewise.
33910         * modules/unictype/category-L-tests (Files): Likewise.
33911         * modules/unictype/category-Ll-tests (Files): Likewise.
33912         * modules/unictype/category-Lm-tests (Files): Likewise.
33913         * modules/unictype/category-Lo-tests (Files): Likewise.
33914         * modules/unictype/category-Lt-tests (Files): Likewise.
33915         * modules/unictype/category-Lu-tests (Files): Likewise.
33916         * modules/unictype/category-M-tests (Files): Likewise.
33917         * modules/unictype/category-Mc-tests (Files): Likewise.
33918         * modules/unictype/category-Me-tests (Files): Likewise.
33919         * modules/unictype/category-Mn-tests (Files): Likewise.
33920         * modules/unictype/category-N-tests (Files): Likewise.
33921         * modules/unictype/category-Nd-tests (Files): Likewise.
33922         * modules/unictype/category-Nl-tests (Files): Likewise.
33923         * modules/unictype/category-No-tests (Files): Likewise.
33924         * modules/unictype/category-P-tests (Files): Likewise.
33925         * modules/unictype/category-Pc-tests (Files): Likewise.
33926         * modules/unictype/category-Pd-tests (Files): Likewise.
33927         * modules/unictype/category-Pe-tests (Files): Likewise.
33928         * modules/unictype/category-Pf-tests (Files): Likewise.
33929         * modules/unictype/category-Pi-tests (Files): Likewise.
33930         * modules/unictype/category-Po-tests (Files): Likewise.
33931         * modules/unictype/category-Ps-tests (Files): Likewise.
33932         * modules/unictype/category-S-tests (Files): Likewise.
33933         * modules/unictype/category-Sc-tests (Files): Likewise.
33934         * modules/unictype/category-Sk-tests (Files): Likewise.
33935         * modules/unictype/category-Sm-tests (Files): Likewise.
33936         * modules/unictype/category-So-tests (Files): Likewise.
33937         * modules/unictype/category-Z-tests (Files): Likewise.
33938         * modules/unictype/category-Zl-tests (Files): Likewise.
33939         * modules/unictype/category-Zp-tests (Files): Likewise.
33940         * modules/unictype/category-Zs-tests (Files): Likewise.
33941         * modules/unictype/category-and-not-tests (Files): Likewise.
33942         * modules/unictype/category-and-tests (Files): Likewise.
33943         * modules/unictype/category-byname-tests (Files): Likewise.
33944         * modules/unictype/category-name-tests (Files): Likewise.
33945         * modules/unictype/category-none-tests (Files): Likewise.
33946         * modules/unictype/category-of-tests (Files): Likewise.
33947         * modules/unictype/category-or-tests (Files): Likewise.
33948         * modules/unictype/category-test-withtable-tests (Files): Likewise.
33949         * modules/unictype/combining-class-tests (Files): Likewise.
33950         * modules/unictype/ctype-alnum-tests (Files): Likewise.
33951         * modules/unictype/ctype-alpha-tests (Files): Likewise.
33952         * modules/unictype/ctype-blank-tests (Files): Likewise.
33953         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
33954         * modules/unictype/ctype-digit-tests (Files): Likewise.
33955         * modules/unictype/ctype-graph-tests (Files): Likewise.
33956         * modules/unictype/ctype-lower-tests (Files): Likewise.
33957         * modules/unictype/ctype-print-tests (Files): Likewise.
33958         * modules/unictype/ctype-punct-tests (Files): Likewise.
33959         * modules/unictype/ctype-space-tests (Files): Likewise.
33960         * modules/unictype/ctype-upper-tests (Files): Likewise.
33961         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
33962         * modules/unictype/decimal-digit-tests (Files): Likewise.
33963         * modules/unictype/digit-tests (Files): Likewise.
33964         * modules/unictype/mirror-tests (Files): Likewise.
33965         * modules/unictype/numeric-tests (Files): Likewise.
33966         * modules/unictype/property-alphabetic-tests (Files): Likewise.
33967         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
33968         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
33969         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
33970         Likewise.
33971         * modules/unictype/property-bidi-block-separator-tests (Files):
33972         Likewise.
33973         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
33974         Likewise.
33975         * modules/unictype/property-bidi-common-separator-tests (Files):
33976         Likewise.
33977         * modules/unictype/property-bidi-control-tests (Files): Likewise.
33978         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
33979         Likewise.
33980         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
33981         Likewise.
33982         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
33983         Likewise.
33984         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
33985         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
33986         Likewise.
33987         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
33988         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
33989         Likewise.
33990         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
33991         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
33992         * modules/unictype/property-bidi-segment-separator-tests (Files):
33993         Likewise.
33994         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
33995         * modules/unictype/property-byname-tests (Files): Likewise.
33996         * modules/unictype/property-combining-tests (Files): Likewise.
33997         * modules/unictype/property-composite-tests (Files): Likewise.
33998         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
33999         * modules/unictype/property-dash-tests (Files): Likewise.
34000         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
34001         * modules/unictype/property-default-ignorable-code-point-tests (Files):
34002         Likewise.
34003         * modules/unictype/property-deprecated-tests (Files): Likewise.
34004         * modules/unictype/property-diacritic-tests (Files): Likewise.
34005         * modules/unictype/property-extender-tests (Files): Likewise.
34006         * modules/unictype/property-format-control-tests (Files): Likewise.
34007         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
34008         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
34009         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
34010         * modules/unictype/property-hex-digit-tests (Files): Likewise.
34011         * modules/unictype/property-hyphen-tests (Files): Likewise.
34012         * modules/unictype/property-id-continue-tests (Files): Likewise.
34013         * modules/unictype/property-id-start-tests (Files): Likewise.
34014         * modules/unictype/property-ideographic-tests (Files): Likewise.
34015         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
34016         * modules/unictype/property-ids-trinary-operator-tests (Files):
34017         Likewise.
34018         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
34019         * modules/unictype/property-iso-control-tests (Files): Likewise.
34020         * modules/unictype/property-join-control-tests (Files): Likewise.
34021         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
34022         * modules/unictype/property-line-separator-tests (Files): Likewise.
34023         * modules/unictype/property-logical-order-exception-tests (Files):
34024         Likewise.
34025         * modules/unictype/property-lowercase-tests (Files): Likewise.
34026         * modules/unictype/property-math-tests (Files): Likewise.
34027         * modules/unictype/property-non-break-tests (Files): Likewise.
34028         * modules/unictype/property-not-a-character-tests (Files): Likewise.
34029         * modules/unictype/property-numeric-tests (Files): Likewise.
34030         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
34031         * modules/unictype/property-other-default-ignorable-code-point-tests
34032         (Files): Likewise.
34033         * modules/unictype/property-other-grapheme-extend-tests (Files):
34034         Likewise.
34035         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
34036         * modules/unictype/property-other-id-start-tests (Files): Likewise.
34037         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
34038         * modules/unictype/property-other-math-tests (Files): Likewise.
34039         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
34040         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
34041         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
34042         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
34043         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
34044         * modules/unictype/property-private-use-tests (Files): Likewise.
34045         * modules/unictype/property-punctuation-tests (Files): Likewise.
34046         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
34047         * modules/unictype/property-radical-tests (Files): Likewise.
34048         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
34049         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
34050         * modules/unictype/property-space-tests (Files): Likewise.
34051         * modules/unictype/property-terminal-punctuation-tests (Files):
34052         Likewise.
34053         * modules/unictype/property-test-tests (Files): Likewise.
34054         * modules/unictype/property-titlecase-tests (Files): Likewise.
34055         * modules/unictype/property-unassigned-code-value-tests (Files):
34056         Likewise.
34057         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
34058         * modules/unictype/property-uppercase-tests (Files): Likewise.
34059         * modules/unictype/property-variation-selector-tests (Files): Likewise.
34060         * modules/unictype/property-white-space-tests (Files): Likewise.
34061         * modules/unictype/property-xid-continue-tests (Files): Likewise.
34062         * modules/unictype/property-xid-start-tests (Files): Likewise.
34063         * modules/unictype/property-zero-width-tests (Files): Likewise.
34064         * modules/unictype/scripts-tests (Files): Likewise.
34065         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
34066         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
34067         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
34068         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
34069         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
34070         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
34071         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
34072         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
34073         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
34074         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
34075         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
34076         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
34077         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
34078         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
34079         * modules/uninorm/composition-tests (Files): Likewise.
34080         * modules/uninorm/decomposing-form-tests (Files): Likewise.
34081         * modules/uninorm/decomposition-tests (Files): Likewise.
34082         * modules/uninorm/filter-tests (Files): Likewise.
34083         * modules/uninorm/nfc-tests (Files): Likewise.
34084         * modules/uninorm/nfd-tests (Files): Likewise.
34085         * modules/uninorm/nfkc-tests (Files): Likewise.
34086         * modules/uninorm/nfkd-tests (Files): Likewise.
34087         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
34088         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
34089         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
34090         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
34091         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
34092         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
34093         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
34094         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
34095         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
34096         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
34097         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
34098         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
34099         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
34100         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
34101         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
34102         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
34103         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
34104         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
34105         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
34106         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
34107         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
34108         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
34109         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
34110         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
34111         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
34112         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
34113         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
34114         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
34115         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
34116         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
34117         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
34118         * modules/uniwidth/u8-width-tests (Files): Likewise.
34119         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
34120         * modules/uniwidth/u16-width-tests (Files): Likewise.
34121         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
34122         * modules/uniwidth/u32-width-tests (Files): Likewise.
34123         * modules/uniwidth/width-tests (Files): Likewise.
34124         * modules/unlink-tests (Files): Likewise.
34125         * modules/unsetenv-tests (Files): Likewise.
34126         * modules/usleep-tests (Files): Likewise.
34127         * modules/utimens-tests (Files): Likewise.
34128         * modules/utimensat-tests (Files): Likewise.
34129         * modules/vasnprintf-posix-tests (Files): Likewise.
34130         * modules/vasnprintf-tests (Files): Likewise.
34131         * modules/vasprintf-posix-tests (Files): Likewise.
34132         * modules/vasprintf-tests (Files): Likewise.
34133         * modules/vdprintf-posix-tests (Files): Likewise.
34134         * modules/vfprintf-posix-tests (Files): Likewise.
34135         * modules/vprintf-posix-tests (Files): Likewise.
34136         * modules/vsnprintf-posix-tests (Files): Likewise.
34137         * modules/vsnprintf-tests (Files): Likewise.
34138         * modules/vsprintf-posix-tests (Files): Likewise.
34139         * modules/wcrtomb-tests (Files): Likewise.
34140         * modules/wcsnrtombs-tests (Files): Likewise.
34141         * modules/wcsrtombs-tests (Files): Likewise.
34142         * modules/wctype-tests (Files): Likewise.
34143         * modules/wcwidth-tests (Files): Likewise.
34144         * modules/xmemdup0-tests (Files): Likewise.
34145         * modules/xprintf-posix-tests (Files): Likewise.
34146         * modules/xvasprintf-tests (Files): Likewise.
34147
34148 2009-12-24  Eric Blake  <ebb9@byu.net>
34149
34150         test-nanosleep: fix typo
34151         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
34152         patch.
34153         Reported by Bruno Haible.
34154
34155 2009-12-24  Bruno Haible  <bruno@clisp.org>
34156
34157         Reduce namespace pollution on glibc systems.
34158         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
34159         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
34160         systems.
34161         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
34162         <getopt.h> on glibc systems.
34163         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
34164         systems.
34165         * lib/fcntl.c: Include <unistd.h> here instead.
34166
34167 2009-12-24  Bruno Haible  <bruno@clisp.org>
34168
34169         * lib/stdlib.in.h (includes): Fix typo in today's commit.
34170
34171 2009-12-24  Eric Blake  <ebb9@byu.net>
34172
34173         tests: add signature checks
34174         * tests/signature.h (SIGNATURE_CHECK): New file.
34175         * modules/atexit-tests (Files): Use it.
34176         * modules/btowc-tests (Files): Likewise.
34177         * modules/canonicalize-lgpl-tests (Files): Likewise.
34178         * modules/ceilf-tests (Files): Likewise.
34179         * modules/ceill-tests (Files): Likewise.
34180         * modules/chown-tests (Files): Likewise.
34181         * modules/dprintf-posix-tests (Files): Likewise.
34182         * modules/dup2-tests (Files): Likewise.
34183         * modules/dup3-tests (Files): Likewise.
34184         * modules/duplocale-tests (Files): Likewise.
34185         * modules/fchdir-tests (Files): Likewise.
34186         * modules/fcntl-tests (Files): Likewise.
34187         * modules/fdopendir-tests (Files): Likewise.
34188         * modules/fflush-tests (Files): Likewise.
34189         * modules/flock-tests (Files): Likewise.
34190         * modules/floorf-tests (Files): Likewise.
34191         * modules/floorl-tests (Files): Likewise.
34192         * modules/fnmatch-tests (Files): Likewise.
34193         * modules/fopen-tests (Files): Likewise.
34194         * modules/fprintf-posix-tests (Files): Likewise.
34195         * modules/freopen-tests (Files): Likewise.
34196         * modules/frexp-nolibm-tests (Files): Likewise.
34197         * modules/frexp-tests (Files): Likewise.
34198         * modules/frexpl-nolibm-tests (Files): Likewise.
34199         * modules/frexpl-tests (Files): Likewise.
34200         * modules/fseek-tests (Files): Likewise.
34201         * modules/fseeko-tests (Files): Likewise.
34202         * modules/fsync-tests (Files): Likewise.
34203         * modules/ftell-tests (Files): Likewise.
34204         * modules/ftello-tests (Files): Likewise.
34205         * modules/futimens-tests (Files): Likewise.
34206         * modules/getaddrinfo-tests (Files): Likewise.
34207         * modules/getcwd-tests (Files): Likewise.
34208         * modules/getdelim-tests (Files): Likewise.
34209         * modules/getdtablesize-tests (Files): Likewise.
34210         * modules/getgroups-tests (Files): Likewise.
34211         * modules/gethostname-tests (Files): Likewise.
34212         * modules/getline-tests (Files): Likewise.
34213         * modules/getopt-posix-tests (Files): Likewise.
34214         * modules/gettimeofday-tests (Files): Likewise.
34215         * modules/glob-tests (Files): Likewise.
34216         * modules/iconv-tests (Files): Likewise.
34217         * modules/inet_ntop-tests (Files): Likewise.
34218         * modules/inet_pton-tests (Files): Likewise.
34219         * modules/isblank-tests (Files): Likewise.
34220         * modules/lchown-tests (Files): Likewise.
34221         * modules/ldexpl-tests (Files): Likewise.
34222         * modules/link-tests (Files): Likewise.
34223         * modules/linkat-tests (Files): Likewise.
34224         * modules/lseek-tests (Files): Likewise.
34225         * modules/lstat-tests (Files): Likewise.
34226         * modules/mbrtowc-tests (Files): Likewise.
34227         * modules/mbsinit-tests (Files): Likewise.
34228         * modules/mbsnrtowcs-tests (Files): Likewise.
34229         * modules/mbsrtowcs-tests (Files): Likewise.
34230         * modules/memchr-tests (Files): Likewise.
34231         * modules/memcmp-tests (Files): Likewise.
34232         * modules/memmem-tests (Files): Likewise.
34233         * modules/memrchr-tests (Files): Likewise.
34234         * modules/mkdir-tests (Files): Likewise.
34235         * modules/mkfifo-tests (Files): Likewise.
34236         * modules/mkfifoat-tests (Files): Likewise.
34237         * modules/mknod-tests (Files): Likewise.
34238         * modules/nanosleep-tests (Files): Likewise.
34239         * modules/nl_langinfo-tests (Files): Likewise.
34240         * modules/obstack-printf-tests (Files): Likewise.
34241         * modules/open-tests (Files): Likewise.
34242         * modules/openat-tests (Files): Likewise.
34243         * modules/perror-tests (Files): Likewise.
34244         * modules/pipe2-tests (Files): Likewise.
34245         * modules/poll-tests (Files): Likewise.
34246         * modules/popen-tests (Files): Likewise.
34247         * modules/posix_spawn-tests (Files): Likewise.
34248         * modules/posix_spawnp-tests (Files): Likewise.
34249         * modules/pread-tests (Files): Likewise.
34250         * modules/printf-posix-tests (Files): Likewise.
34251         * modules/pty-tests (Files): Likewise.
34252         * modules/random_r-tests (Files): Likewise.
34253         * modules/rawmemchr-tests (Files): Likewise.
34254         * modules/readlink-tests (Files): Likewise.
34255         * modules/remove-tests (Files): Likewise.
34256         * modules/rename-tests (Files): Likewise.
34257         * modules/renameat-tests (Files): Likewise.
34258         * modules/rmdir-tests (Files): Likewise.
34259         * modules/round-tests (Files): Likewise.
34260         * modules/roundf-tests (Files): Likewise.
34261         * modules/roundl-tests (Files): Likewise.
34262         * modules/select-tests (Files): Likewise.
34263         * modules/setenv-tests (Files): Likewise.
34264         * modules/sigaction-tests (Files): Likewise.
34265         * modules/sleep-tests (Files): Likewise.
34266         * modules/snprintf-posix-tests (Files): Likewise.
34267         * modules/snprintf-tests (Files): Likewise.
34268         * modules/sprintf-posix-tests (Files): Likewise.
34269         * modules/stat-tests (Files): Likewise.
34270         * modules/strcasestr-tests (Files): Likewise.
34271         * modules/strchrnul-tests (Files): Likewise.
34272         * modules/strerror-tests (Files): Likewise.
34273         * modules/strsignal-tests (Files): Likewise.
34274         * modules/strstr-tests (Files): Likewise.
34275         * modules/strtod-tests (Files): Likewise.
34276         * modules/strverscmp-tests (Files): Likewise.
34277         * modules/symlink-tests (Files): Likewise.
34278         * modules/symlinkat-tests (Files): Likewise.
34279         * modules/times-tests (Files): Likewise.
34280         * modules/trunc-tests (Files): Likewise.
34281         * modules/truncf-tests (Files): Likewise.
34282         * modules/truncl-tests (Files): Likewise.
34283         * modules/tsearch-tests (Files): Likewise.
34284         * modules/uname-tests (Files): Likewise.
34285         * modules/unlink-tests (Files): Likewise.
34286         * modules/unsetenv-tests (Files): Likewise.
34287         * modules/usleep-tests (Files): Likewise.
34288         * modules/utimensat-tests (Files): Likewise.
34289         * modules/vasprintf-tests (Files): Likewise.
34290         * modules/vdprintf-posix-tests (Files): Likewise.
34291         * modules/vfprintf-posix-tests (Files): Likewise.
34292         * modules/vprintf-posix-tests (Files): Likewise.
34293         * modules/vsnprintf-posix-tests (Files): Likewise.
34294         * modules/vsnprintf-tests (Files): Likewise.
34295         * modules/vsprintf-posix-tests (Files): Likewise.
34296         * modules/wcrtomb-tests (Files): Likewise.
34297         * modules/wcsnrtombs-tests (Files): Likewise.
34298         * modules/wcsrtombs-tests (Files): Likewise.
34299         * modules/wcwidth-tests (Files): Likewise.
34300         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
34301         * tests/test-isinf.c (isinf): Likewise.
34302         * tests/test-isnan.c (isnan): Likewise.
34303         * tests/test-signbit.c (signbit): Likewise.
34304         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
34305         declaration, either as macro or with correct signature.
34306         (select): Ensure function under test is declared with correct
34307         signature in correct header.
34308         * tests/test-atexit.c (atexit): Likewise.
34309         * tests/test-btowc.c (btowc): Likewise.
34310         * tests/test-canonicalize-lgpl.c (realpath)
34311         (canonicalize_file_name): Likewise.
34312         * tests/test-ceilf1.c (ceilf): Likewise.
34313         * tests/test-ceill.c (ceill): Likewise.
34314         * tests/test-chown.c (chown): Likewise.
34315         * tests/test-dprintf-posix.c (dprintf): Likewise.
34316         * tests/test-dup2.c (dup2): Likewise.
34317         * tests/test-dup3.c (dup3): Likewise.
34318         * tests/test-duplocale.c (duplocale): Likewise.
34319         * tests/test-fchdir.c (fchdir): Likewise.
34320         * tests/test-fchownat.c (fchownat): Likewise.
34321         * tests/test-fcntl.c (fcntl): Likewise.
34322         * tests/test-fdopendir.c (fdopendir): Likewise.
34323         * tests/test-fflush.c (fflush): Likewise.
34324         * tests/test-flock.c (flock): Likewise.
34325         * tests/test-floorf1.c (floorf): Likewise.
34326         * tests/test-floorl.c (floorl): Likewise.
34327         * tests/test-fnmatch.c (fnmatch): Likewise.
34328         * tests/test-fopen.c (fopen): Likewise.
34329         * tests/test-fprintf-posix.c (fprintf): Likewise.
34330         * tests/test-freopen.c (freopen): Likewise.
34331         * tests/test-frexp.c (frexp): Likewise.
34332         * tests/test-frexpl.c (frexpl): Likewise.
34333         * tests/test-fseek.c (fseek): Likewise.
34334         * tests/test-fseeko.c (fseeko): Likewise.
34335         * tests/test-fstatat.c (fstatat): Likewise.
34336         * tests/test-fsync.c (fsync): Likewise.
34337         * tests/test-ftell.c (ftell): Likewise.
34338         * tests/test-ftello.c (ftello): Likewise.
34339         * tests/test-futimens.c (futimens): Likewise.
34340         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
34341         (gai_strerror): Likewise.
34342         * tests/test-getcwd.c (getcwd): Likewise.
34343         * tests/test-getdelim.c (getdelim): Likewise.
34344         * tests/test-getdtablesize.c (getdtablesize): Likewise.
34345         * tests/test-getgroups.c (getgroups): Likewise.
34346         * tests/test-gethostname.c (gethostname): Likewise.
34347         * tests/test-getline.c (getline): Likewise.
34348         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
34349         Likewise.
34350         * tests/test-gettimeofday.c (gettimeofday): Likewise.
34351         * tests/test-glob.c (glob, globfree): Likewise.
34352         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
34353         * tests/test-inet_ntop.c (inet_ntop): Likewise.
34354         * tests/test-inet_pton.c (inet_pton): Likewise.
34355         * tests/test-isblank.c (isblank): Likewise.
34356         * tests/test-lchown.c (lchown): Likewise.
34357         * tests/test-ldexpl.c (ldexpl): Likewise.
34358         * tests/test-link.c (link): Likewise.
34359         * tests/test-linkat.c (linkat): Likewise.
34360         * tests/test-lseek.c (lseek): Likewise.
34361         * tests/test-lstat.c (lstat): Likewise.
34362         * tests/test-mbrtowc.c (mbrtowc): Likewise.
34363         * tests/test-mbsinit.c (mbsinit): Likewise.
34364         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
34365         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
34366         * tests/test-memchr.c (memchr): Likewise.
34367         * tests/test-memcmp.c (memcmp): Likewise.
34368         * tests/test-memmem.c (memmem): Likewise.
34369         * tests/test-memrchr.c (memrchr): Likewise.
34370         * tests/test-mkdir.c (mkdir): Likewise.
34371         * tests/test-mkdirat.c (mkdirat): Likewise.
34372         * tests/test-mkfifo.c (mkfifo): Likewise.
34373         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
34374         * tests/test-mknod.c (mknod): Likewise.
34375         * tests/test-nanosleep.c (nanosleep): Likewise.
34376         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
34377         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
34378         Likewise.
34379         * tests/test-open.c (open): Likewise.
34380         * tests/test-openat.c (openat): Likewise.
34381         * tests/test-perror.c (perror): Likewise.
34382         * tests/test-pipe2.c (pipe2): Likewise.
34383         * tests/test-poll.c (poll): Likewise.
34384         * tests/test-popen.c (popen, pclose): Likewise.
34385         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
34386         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
34387         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
34388         (posix_spawn_file_actions_destroy)
34389         (posix_spawn_file_actions_addclose)
34390         (posix_spawn_file_actions_addopen)
34391         (posix_spawn_file_actions_adddup2): Likewise.
34392         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
34393         * tests/test-pread.c (pread): Likewise.
34394         * tests/test-printf-posix.c (printf): Likewise.
34395         * tests/test-pty.c (openpty, forkpty): Likewise.
34396         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
34397         (random_r): Likewise.
34398         * tests/test-rawmemchr.c (rawmemchr): Likewise.
34399         * tests/test-readlink.c (readlink): Likewise.
34400         * tests/test-remove.c (remove): Likewise.
34401         * tests/test-rename.c (rename): Likewise.
34402         * tests/test-renameat.c (renameat): Likewise.
34403         * tests/test-rmdir.c (rmdir): Likewise.
34404         * tests/test-round1.c (round): Likewise.
34405         * tests/test-roundf1.c (roundf): Likewise.
34406         * tests/test-roundl.c (roundl): Likewise.
34407         * tests/test-setenv.c (setenv): Likewise.
34408         * tests/test-sigaction.c (sigaction): Likewise.
34409         * tests/test-sleep.c (sleep): Likewise.
34410         * tests/test-snprintf.c (snprintf): Likewise.
34411         * tests/test-sprintf-posix.c (sprintf): Likewise.
34412         * tests/test-stat.c (stat): Likewise.
34413         * tests/test-stpncpy.c (stpncpy): Likewise.
34414         * tests/test-strcasestr.c (strcasestr): Likewise.
34415         * tests/test-strchrnul.c (strchrnul): Likewise.
34416         * tests/test-strerror.c (strerror): Likewise.
34417         * tests/test-strsignal.c (strsignal): Likewise.
34418         * tests/test-strstr.c (strstr): Likewise.
34419         * tests/test-strtod.c (strtod): Likewise.
34420         * tests/test-strverscmp.c (strverscmp): Likewise.
34421         * tests/test-symlink.c (symlink): Likewise.
34422         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
34423         * tests/test-times.c (times): Likewise.
34424         * tests/test-trunc1.c (trunc): Likewise.
34425         * tests/test-truncf1.c (truncf): Likewise.
34426         * tests/test-truncl.c (truncl): Likewise.
34427         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
34428         Likewise.
34429         * tests/test-uname.c (uname): Likewise.
34430         * tests/test-unlink.c (unlink): Likewise.
34431         * tests/test-unlinkat.c (unlinkat): Likewise.
34432         * tests/test-unsetenv.c (unsetenv): Likewise.
34433         * tests/test-usleep.c (usleep): Likewise.
34434         * tests/test-utimensat.c (utimensat): Likewise.
34435         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
34436         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
34437         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
34438         * tests/test-vprintf-posix.c (vprintf): Likewise.
34439         * tests/test-vsnprintf.c (vsnprintf): Likewise.
34440         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
34441         * tests/test-wcrtomb.c (wcrtomb): Likewise.
34442         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
34443         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
34444         * tests/test-wcwidth.c (wcwidth): Likewise.
34445
34446         build: pull in conditional headers during GNULIB_POSIXCHECK
34447         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
34448         definitions from any conditionally-included headers.
34449         * lib/stdlib.in.h (includes): Likewise.
34450         * lib/unistd.in.h (includes): Likewise.
34451
34452 2009-12-24  Bruno Haible  <bruno@clisp.org>
34453
34454         * tests/test-argv-iter.c: Include header file being tested immediately
34455         after config.h.
34456         * tests/test-base64.c: Likewise.
34457         * tests/test-flock.c: Likewise.
34458         * tests/test-fsync.c: Likewise.
34459         * tests/test-getdate.c: Likewise.
34460         * tests/test-getndelim2.c: Likewise.
34461         * tests/test-isfinite.c: Likewise.
34462         * tests/test-isinf.c: Likewise.
34463         * tests/test-strerror.c: Likewise.
34464         * tests/test-strsignal.c: Likewise.
34465
34466 2009-12-23  Eric Blake  <ebb9@byu.net>
34467
34468         unistd: work around cygwin bug
34469         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
34470         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
34471         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
34472
34473 2009-12-23  Bruno Haible  <bruno@clisp.org>
34474
34475         localename: More tests.
34476         * tests/test-localename.c (SIZEOF): New macro.
34477         (categories): New variable.
34478         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
34479         test_locale_name_default): Add test w.r.t. thread locale.
34480         (test_locale_name_thread): New function.
34481         (main): Invoke it.
34482
34483         localename: Make aware of thread locale.
34484         * lib/localename.h (gl_locale_name_thread): New declaration.
34485         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
34486         behaviour with respect to thread locale.
34487         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
34488         <langinfo.h>, glthread/lock.h.
34489         (SIZE_BITS): New macro.
34490         (string_hash): New function.
34491         (struct hash_node): New type.
34492         (HASH_TABLE_SIZE): New macro.
34493         (struniq_hash_table, struniq_lock): New variables.
34494         (struniq): New function.
34495         (gl_locale_name_thread): New function.
34496         (gl_locale_name): Invoke it.
34497         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
34498         * modules/localename (Depends-on): Add lock.
34499         Reported by Mike Gran <spk121@yahoo.com>.
34500
34501 2009-12-23  Eric Blake  <ebb9@byu.net>
34502
34503         va-args: new module
34504         * modules/va-args: New file.
34505         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
34506         * MODULES.html.sh (Core language properties): Mention it.
34507
34508         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
34509         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
34510         named alias for __attribute__((__unused__)).
34511         * lib/chown.c: Update client.
34512         * lib/fchmodat.c: Likewise.
34513         * lib/fts.c: Likewise.
34514         * lib/getdate.y: Likewise.
34515         * lib/getgroups.c: Likewise.
34516         * lib/getopt.c: Likewise.
34517         * lib/getugroups.c: Likewise.
34518         * lib/mkdir.c: Likewise.
34519         * lib/mkfifo.c: Likewise.
34520         * lib/mkfifoat.c: Likewise.
34521         * lib/mknod.c: Likewise.
34522         * lib/mknodat.c: Likewise.
34523         * lib/readlink.c: Likewise.
34524         * lib/se-context.in.h: Likewise.
34525         * lib/se-selinux.in.h: Likewise.
34526         * lib/sockets.c: Likewise.
34527         * lib/symlink.c: Likewise.
34528         * lib/symlinkat.c: Likewise.
34529         * lib/unicodeio.c: Likewise.
34530         * lib/unistr.h: Likewise.
34531         * tests/test-areadlink.c: Likewise.
34532         * tests/test-areadlinkat.c: Likewise.
34533         * tests/test-filenamecat.c: Likewise.
34534         * tests/test-fseeko.c: Likewise.
34535         * tests/test-ftello.c: Likewise.
34536         * tests/test-getdate.c: Likewise.
34537         * tests/test-getgroups.c: Likewise.
34538         * tests/test-gethostname.c: Likewise.
34539         * tests/test-quotearg.c: Likewise.
34540         * tests/test-version-etc.c: Likewise.
34541         * tests/test-xalloc-die.c: Likewise.
34542         * tests/test-xfprintf-posix.c: Likewise.
34543         * tests/test-xprintf-posix.c: Likewise.
34544         * tests/test-xvasprintf.c: Likewise.
34545
34546         tests: avoid compiler warnings
34547         * tests/test-fcntl.c (main): Delete unused parameters.
34548         * tests/test-freopen-safer.c (main): Likewise.
34549         * tests/test-xalloc-die.c (main): Mark unused parameters.
34550         * tests/test-fseeko.c (main): Likewise.
34551         * tests/test-ftello.c (main): Likewise.
34552         * tests/test-nanosleep.c (main): Avoid declaration warning.
34553         * tests/test-sleep.c (main): Likewise.
34554         * tests/test-unsetenv.c (main): Silence warning about string
34555         literal.
34556         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
34557
34558 2009-12-23  Bruno Haible  <bruno@clisp.org>
34559
34560         * tests/test-localename.c (test_locale_name): New function, extracted
34561         from main. Also test mixed situations.
34562         (test_locale_name_posix, test_locale_name_environ,
34563         test_locale_name_default): New functions.
34564         (main): Invoke them all.
34565         * modules/localename-tests (configure.ac): Test for newlocale.
34566
34567 2009-12-23  Bruno Haible  <bruno@clisp.org>
34568
34569         unistd: Ensure getcwd gets declared before being overridden.
34570         * lib/unistd.in.h: Conditionally include <io.h>.
34571
34572 2009-12-22  Bruno Haible  <bruno@clisp.org>
34573
34574         wchar: Diagnose broken combination of glibc and gcc versions and flags.
34575         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
34576         (gl_WCHAR_H): Invoke it.
34577         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
34578         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
34579         Reported by Karl Berry <karl@freefriends.org>.
34580
34581 2009-12-22  Eric Blake  <ebb9@byu.net>
34582
34583         math, unistd: avoid redundant includes
34584         * lib/math.in.h (isnan): No need to re-include <math.h>.
34585         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
34586
34587         getsubopt: work around cygwin bug
34588         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
34589         avoid conflicting with system getsubopt.
34590         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
34591         bug.
34592
34593         getopt: synchronize from glibc
34594         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
34595         parameter order.  Adjust all callers.
34596         (_getopt_internal_r, main): Adjust quoting in error messages.
34597         Drop considerations for outdated POSIX 1003.2 error message.
34598         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
34599         callers.
34600         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
34601
34602         test-getopt: test stderr behavior
34603         * modules/getopt-posix-tests (Depends-on): Add dup2.
34604         * tests/test-getopt.c (ASSERT): Avoid stderr.
34605         (main): Move stderr to a temporary file.
34606         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
34607         Instead, add parameter to inform caller if output occurred.
34608         (test_getopt): Adjust all existing tests to expect silence, and
34609         add new tests of leading ":".
34610         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
34611         glibc shortcomings with leading "-:" or "+:" in optstring.
34612         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34613         Likewise.
34614         * doc/posix-functions/getopt.texi (getopt): Likewise.
34615
34616         test-getopt: enhance test
34617         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
34618         supports optind=0.
34619         * tests/test-getopt.c (OPTIND_MIN): Move...
34620         * tests/test-getopt.h (OPTIND_MIN): ...here.
34621         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
34622         Require that optind=0 works, since modern BSD supports it in
34623         addition to optreset, and since coreutils expects it.
34624         (test_getopt_long_only): New test.
34625         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
34626         glibc shortcomings with 'W;', and enforcement of optind=0.
34627         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34628         Likewise.
34629
34630 2009-12-21  Bruno Haible  <bruno@clisp.org>
34631
34632         localename: Improvements for MacOS X and Cygwin.
34633         * lib/localename.h (gl_locale_name_environ): New declaration.
34634         * lib/localename.c (gl_locale_name_environ): New function, extracted from
34635         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
34636         (gl_locale_name_posix): Invoke it.
34637         (gl_locale_name_default): Add comments. Use Windows native API also on
34638         Cygwin.
34639
34640 2009-12-21  Bruno Haible  <bruno@clisp.org>
34641
34642         Update list of Win32 locale ids.
34643         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
34644         (LANG_SAMI): Renamed from LANG_SAAMI.
34645         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
34646         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
34647         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
34648         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
34649         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
34650         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
34651         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
34652         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
34653         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
34654         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
34655         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
34656         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
34657         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
34658         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
34659         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
34660         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
34661         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
34662         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
34663         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
34664         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
34665         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
34666         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
34667         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
34668         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
34669         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
34670         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
34671         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
34672         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
34673         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
34674         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
34675         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
34676         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
34677         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
34678         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
34679         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
34680         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
34681         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
34682         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
34683         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
34684         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
34685         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
34686         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
34687         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
34688         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
34689         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
34690         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
34691         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
34692         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
34693         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
34694         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
34695         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
34696         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
34697         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
34698         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
34699         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
34700         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
34701         Add more languages and countries for Sami, Sorbian. Add more countries
34702         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
34703         for Pashto. Change country for Syriac, Tswana.
34704
34705 2009-12-21  Eric Blake  <ebb9@byu.net>
34706
34707         test-utimens: avoid spurious failure
34708         * tests/test-chown.h (nap): Factor...
34709         * tests/nap.h: ...into new file.
34710         * tests/test-lchown.h (nap): Avoid duplication.
34711         * tests/test-utimens-common.h (nap): Use shared implementation,
34712         necessary on file systems with 1-second resolution.
34713         * modules/chown-tests (Files): Include new file.
34714         * modules/fdutimensat-tests (Files): Likewise.
34715         * modules/futimens-tests (Files): Likewise.
34716         * modules/lchown-tests (Files): Likewise.
34717         * modules/openat-tests (Files): Likewise.
34718         * modules/utimens-tests (Files): Likewise.
34719         * modules/utimensat-tests (Files): Likewise.
34720
34721 2009-12-19  Eric Blake  <ebb9@byu.net>
34722
34723         futimens, utimensat: work around Linux bug
34724         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
34725         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
34726         * lib/utimensat.c (rpl_utimensat): Work around it.
34727         * lib/futimens.c (rpl_futimens): Adjust comment.
34728
34729         utimens: work around Linux ctime bug
34730         * lib/utimens.c (detect_ctime_bug): New helper function.
34731         (update_timespec): Differentiate between workaround needed for
34732         this bug vs. what is needed for systems that lack utimensat.
34733         (fdutimens, lutimens): Work around bug.
34734
34735         utimens: check for ctime update
34736         * tests/test-utimens-common.h (check_ctime): Define.
34737         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
34738         * tests/test-futimens.h (test_futimens): Likewise.
34739         * tests/test-lutimens.h (test_lutimens): Likewise.
34740         * doc/posix-functions/futimens.texi (futimens): Document the bug.
34741         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
34742
34743 2009-12-19  Bruno Haible  <bruno@clisp.org>
34744
34745         dprintf-posix: Check against memory leak fixed on 2009-12-15.
34746         * tests/test-dprintf-posix2.sh: New file.
34747         * tests/test-dprintf-posix2.c: New file.
34748         * modules/dprintf-posix-tests (Files): Add them.
34749         (configure.ac): Check for getrlimit and setrlimit.
34750         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
34751
34752 2009-12-19  Bruno Haible  <bruno@clisp.org>
34753
34754         fprintf-posix: Check against memory leak fixed on 2009-12-15.
34755         * tests/test-fprintf-posix3.sh: New file.
34756         * tests/test-fprintf-posix3.c: New file.
34757         * modules/fprintf-posix-tests (Files): Add them.
34758         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
34759
34760 2009-12-19  Eric Blake  <ebb9@byu.net>
34761
34762         dirfd: fix prototype
34763         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
34764         * lib/dirfd.c (dirfd): Likewise.
34765
34766         canonicalize: reduce memory usage
34767         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
34768         allocation to size.
34769         Reported by Solar Designer <solar@openwall.com>.
34770
34771 2009-12-19  Bruno Haible  <bruno@clisp.org>
34772
34773         New module attribute 'Applicability'.
34774         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
34775         * gnulib-tool: New option --extract-applicability.
34776         (func_usage): Document it.
34777         (sed_extract_prog): Recognize it.
34778         (func_get_applicability): New function.
34779         (func_import): Generalize handling of 'link-warning' module.
34780         * modules/link-warning (Applicability): New section.
34781         * modules/arg-nonnull (Applicability): New section.
34782         Repoted by Simon Josefsson <simon@josefsson.org>.
34783
34784 2009-12-19  Bruno Haible  <bruno@clisp.org>
34785
34786         fflush: tweak
34787         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
34788         * lib/fseeko.c (rpl_fseeko): Likewise.
34789
34790 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
34791
34792         * lib/gl_list.h: Fix typo in comment.
34793
34794 2009-12-16  Eric Blake  <ebb9@byu.net>
34795
34796         fcntl: use to simplify other modules
34797         * modules/cloexec (Depends-on): Add fcntl.
34798         * modules/fchdir (Depends-on): Likewise.
34799         * modules/fd-safer-flag (Depends-on): Likewise.
34800         * modules/unistd-safer (Depends-on): Likewise.
34801         * modules/dup3 (configure.ac): Set module indicator.
34802         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
34803         missing.
34804         * lib/fchdir.c (_gl_register_dup): Fix comment.
34805         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
34806         * lib/dup-safer.c (dup_safer): Likewise.
34807         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
34808         * lib/dup3.c (dup3): Likewise.
34809         * tests/test-fchdir.c (main): Enhance test.
34810         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
34811
34812         fcntl: port portions of fcntl to mingw
34813         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
34814         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
34815         replacement for mingw.
34816         * modules/fcntl (Description): Update.
34817         (Depends-on): Add dup2.
34818         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
34819         * modules/fcntl-h (Makefile.am): Substitute it.
34820         * lib/fcntl.in.h (fcntl): Update declaration.
34821         (F_DUPFD, F_GETFD): New macros, when needed.
34822         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
34823         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
34824         * tests/test-fcntl.c (check_flags, main): Enhance test for items
34825         we now guarantee.
34826
34827         fcntl: work around cygwin bug in F_DUPFD
34828         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
34829         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
34830         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
34831         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
34832         * doc/posix-functions/fcntl.texi (fcntl): Document it.
34833
34834         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
34835         * modules/fcntl (Files): List new files.
34836         (configure.ac): Run a test.
34837         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
34838         * lib/fcntl.c (rpl_fcntl): Likewise.
34839         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
34840         (gl_FCNTL_H): Always replace fcntl.h.
34841         * modules/fcntl-h (Makefile.am): Substitute witnesses.
34842         * lib/fcntl.in.h (fcntl): Declare replacement.
34843         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
34844         needed, plus a witness.
34845         * doc/posix-functions/fcntl.texi (fcntl): Document this.
34846         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
34847         * tests/test-fcntl.c: New file.
34848         * modules/fcntl-tests: Likewise.
34849
34850         binary-io: avoid potential compilation warning
34851         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
34852         directives.
34853
34854         fflush: avoid compilation error on NetBSD
34855         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
34856         between off_t and fpos_t, since the latter is sometimes a struct.
34857         * lib/fseeko.c (rpl_fseeko): Likewise.
34858         Reported by Alexander Nasonov <alnsn@yandex.ru>.
34859
34860 2009-12-15  Eric Blake  <ebb9@byu.net>
34861
34862         fcntl-h, stdio, sys_ioctl: fix declarations
34863         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
34864         function must not take arguments.
34865         * lib/sys_ioctl.in.h (ioctl): Likewise.
34866         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
34867         (open): Add a link warning.
34868
34869 2009-12-15  Jim Meyering  <meyering@redhat.com>
34870
34871         areadlink, areadlink-with-size: relax license to LGPLv2+
34872         * modules/areadlink (License): Relax to LGPLv2+.
34873         * modules/areadlink-with-size (License): Likewise.
34874
34875 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
34876             Bruno Haible  <bruno@clisp.org>
34877
34878         *printf: Fix memory leak.
34879         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
34880         * lib/vfprintf.c (vfprintf): Likewise.
34881         * lib/dprintf.c (dprintf): Likewise.
34882         * lib/vdprintf.c (vdprintf): Likewise.
34883
34884 2009-12-14  Eric Blake  <ebb9@byu.net>
34885
34886         accept4: adjust module dependencies
34887         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
34888
34889         utimens: one more try at avoiding compiler warning
34890         * lib/utimens.c (lutimens): Lower scope of result.
34891
34892 2009-12-13  Bruno Haible  <bruno@clisp.org>
34893
34894         Move the malloc checking from module 'list' to new module 'xlist'.
34895         * modules/xlist: New file.
34896         * lib/gl_xlist.h: New file.
34897         * lib/gl_xlist.c: New file.
34898         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
34899         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
34900         gl_list_add_last, gl_list_add_before, gl_list_add_after,
34901         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
34902         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
34903         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
34904         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
34905         gl_sortedlist_nx_add): New declarations.
34906         (struct gl_list_implementation): Rename and change methods accordingly.
34907         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
34908         (gl_list_nx_create): Renamed from gl_list_create.
34909         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
34910         (gl_list_nx_set_at): Renamed from gl_list_set_at.
34911         (gl_list_nx_add_first): Renamed from gl_list_add_first.
34912         (gl_list_nx_add_last): Renamed from gl_list_add_last.
34913         (gl_list_nx_add_before): Renamed from gl_list_add_before.
34914         (gl_list_nx_add_after): Renamed from gl_list_add_after.
34915         (gl_list_nx_add_at): Renamed from gl_list_add_at.
34916         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
34917         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
34918         gl_list_create_empty.
34919         (gl_list_nx_create): Renamed from gl_list_create.
34920         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
34921         (gl_list_nx_set_at): Renamed from gl_list_set_at.
34922         (gl_list_nx_add_first): Renamed from gl_list_add_first.
34923         (gl_list_nx_add_last): Renamed from gl_list_add_last.
34924         (gl_list_nx_add_before): Renamed from gl_list_add_before.
34925         (gl_list_nx_add_after): Renamed from gl_list_add_after.
34926         (gl_list_nx_add_at): Renamed from gl_list_add_at.
34927         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
34928         * lib/gl_array_list.c: Don't include xalloc.h.
34929         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
34930         NULL upon out-of-memory.
34931         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
34932         out-of-memory.
34933         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
34934         Change return type to 'int'.
34935         (gl_array_nx_set_at): Renamed from gl_array_set_at.
34936         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
34937         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
34938         upon out-of-memory.
34939         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
34940         upon out-of-memory.
34941         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
34942         upon out-of-memory.
34943         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
34944         upon out-of-memory.
34945         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
34946         out-of-memory.
34947         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
34948         Update.
34949         (gl_array_list_implementation): Update.
34950         * lib/gl_carray_list.c: Don't include xalloc.h.
34951         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
34952         Return NULL upon out-of-memory.
34953         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
34954         out-of-memory.
34955         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
34956         Change return type to 'int'.
34957         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
34958         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
34959         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
34960         upon out-of-memory.
34961         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
34962         upon out-of-memory.
34963         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
34964         out-of-memory.
34965         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
34966         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
34967         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
34968         Update.
34969         (gl_carray_list_implementation): Update.
34970         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
34971         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
34972         gl_linked_create_empty. Return NULL upon out-of-memory.
34973         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
34974         out-of-memory.
34975         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
34976         Change return type to 'int'. Return -1 upon out-of-memory.
34977         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
34978         out-of-memory.
34979         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
34980         upon out-of-memory.
34981         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
34982         upon out-of-memory.
34983         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
34984         NULL upon out-of-memory.
34985         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
34986         upon out-of-memory.
34987         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
34988         out-of-memory.
34989         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
34990         Update.
34991         * lib/gl_linked_list.c: Don't include xalloc.h.
34992         (gl_linked_list_implementation): Update.
34993         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
34994         (add_to_bucket): Change return type to 'int'.
34995         (gl_linkedhash_list_implementation): Update.
34996         * lib/gl_anytree_list1.h (free_subtree): New function.
34997         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
34998         gl_tree_create_empty. Return NULL upon out-of-memory.
34999         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
35000         Change return type to 'int'. Return -1 upon out-of-memory.
35001         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
35002         out-of-memory.
35003         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
35004         (gl_tree_remove_node): New function, moved here from
35005         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
35006         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
35007         Update.
35008         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
35009         malloc, not xmalloc. Return NULL upon out-of-memory.
35010         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
35011         out-of-memory.
35012         (gl_tree_remove_node_from_tree): New function, extracted from
35013         gl_tree_remove_node.
35014         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
35015         upon out-of-memory.
35016         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
35017         out-of-memory.
35018         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
35019         upon out-of-memory.
35020         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
35021         upon out-of-memory.
35022         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
35023         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
35024         not xmalloc. Return NULL upon out-of-memory.
35025         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
35026         out-of-memory.
35027         (gl_tree_remove_node_from_tree): New function, extracted from
35028         gl_tree_remove_node.
35029         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
35030         upon out-of-memory.
35031         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
35032         out-of-memory.
35033         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
35034         upon out-of-memory.
35035         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
35036         upon out-of-memory.
35037         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
35038         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
35039         gl_anytree_list1.h before gl_anyavltree_list2.h.
35040         (gl_avltree_list_implementation): Update.
35041         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
35042         gl_anytree_list1.h before gl_anyavltree_list2.h.
35043         (gl_rbtree_list_implementation): Update.
35044         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
35045         Change return type to 'int'. Return -1 upon out-of-memory. Use
35046         __builtin_expect.
35047         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
35048         (gl_avltreehash_list_implementation): Update.
35049         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
35050         (gl_rbtreehash_list_implementation): Update.
35051         * modules/array-list (Depends-on): Remove xalloc.
35052         * modules/carray-list (Depends-on): Likewise.
35053         * modules/linked-list (Depends-on): Likewise.
35054         * modules/linkedhash-list (Depends-on): Likewise.
35055         * modules/avltree-list (Depends-on): Likewise.
35056         * modules/rbtree-list (Depends-on): Likewise.
35057         * modules/avltreehash-list (Depends-on): Likewise.
35058         * modules/rbtreehash-list (Depends-on): Likewise.
35059
35060         * modules/xsublist: New file.
35061         * lib/gl_xsublist.h: New file.
35062         * lib/gl_xsublist.c: New file.
35063         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
35064         (gl_sublist_nx_create): New declaration.
35065         * lib/gl_sublist.c: Don't include xalloc.h.
35066         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
35067         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
35068         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
35069         Change return type to 'int'. Return -1 upon out-of-memory.
35070         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
35071         upon out-of-memory.
35072         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
35073         NULL upon out-of-memory.
35074         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
35075         upon out-of-memory.
35076         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
35077         NULL upon out-of-memory.
35078         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
35079         NULL upon out-of-memory.
35080         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
35081         upon out-of-memory.
35082         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
35083         (gl_sublist_list_implementation): Update.
35084         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
35085         upon out-of-memory.
35086         * modules/sublist (Depends-on): Remove xalloc.
35087
35088         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
35089         * tests/test-carray_list.c: Likewise.
35090         * tests/test-linked_list.c: Likewise.
35091         * tests/test-linkedhash_list.c: Likewise.
35092         * tests/test-avltree_list.c: Likewise.
35093         * tests/test-rbtree_list.c: Likewise.
35094         * tests/test-avltreehash_list.c: Likewise.
35095         * tests/test-rbtreehash_list.c: Likewise.
35096         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
35097         * modules/carray-list-tests (Makefile.am): Likewise.
35098         * modules/linked-list-tests (Makefile.am): Likewise.
35099         * modules/linkedhash-list-tests (Makefile.am): Likewise.
35100         * modules/avltree-list-tests (Makefile.am): Likewise.
35101         * modules/rbtree-list-tests (Makefile.am): Likewise.
35102         * modules/avltreehash-list-tests (Makefile.am): Likewise.
35103         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
35104
35105         * NEWS: Mention the changes.
35106
35107         * lib/clean-temp.c: Include gl_xlist.h.
35108         * modules/clean-temp (Depends-on): Add xlist.
35109
35110         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
35111         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
35112
35113         * tests/test-array_oset.c: Include gl_xlist.h.
35114         * modules/array-oset-tests (Depends-on): Add xlist.
35115
35116         Reported by José E. Marchesi <jemarch@gnu.org>.
35117
35118 2009-12-13  Bruno Haible  <bruno@clisp.org>
35119
35120         Move the malloc checking from module 'oset' to new module 'xoset'.
35121         * modules/xoset: New file.
35122         * lib/gl_xoset.h: New file.
35123         * lib/gl_xoset.c: New file.
35124         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
35125         declarations.
35126         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
35127         (struct gl_oset_implementation): Rename and change methods accordingly.
35128         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
35129         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
35130         'int'. Mark as __warn_unused_result__.
35131         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
35132         gl_oset_create_empty.
35133         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
35134         'int'.
35135         * lib/gl_array_oset.c: Don't include xalloc.h.
35136         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
35137         malloc, not xmalloc.
35138         (grow): Change return type to 'int'. Don't call xalloc_die.
35139         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
35140         to 'int'.
35141         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
35142         'int'.
35143         (gl_array_oset_implementation): Update.
35144         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
35145         gl_tree_create_empty.
35146         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
35147         'int'.
35148         * lib/gl_avltree_oset.c: Don't include xalloc.h.
35149         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
35150         xmalloc.
35151         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
35152         not xmalloc.
35153         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
35154         xmalloc.
35155         (gl_avltree_oset_implementation): Update.
35156         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
35157         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
35158         xmalloc.
35159         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
35160         not xmalloc.
35161         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
35162         xmalloc.
35163         (gl_rbtree_oset_implementation): Update.
35164         * modules/array-oset (Depends-on): Remove xalloc.
35165         * modules/avltree-oset (Depends-on): Likewise.
35166         * modules/rbtree-oset (Depends-on): Likewise.
35167         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
35168         * tests/test-avltree_oset.c: Likewise.
35169         * tests/test-rbtree_oset.c: Likewise.
35170         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
35171         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
35172         * modules/rbtree-oset-tests (Makefile.am): Likewise.
35173         * NEWS: Mention the change.
35174
35175 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
35176
35177         maint.mk: allow a project to override release-prep commands
35178         * top/maint.mk (alpha, beta, stable): Move release-preparatory
35179         commands into a new rule.
35180         (release-prep): New rule.
35181         (release-prep-hook): New overridable variable.
35182
35183 2009-12-13  Bruno Haible  <bruno@clisp.org>
35184
35185         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
35186
35187 2009-12-13  Jim Meyering  <meyering@redhat.com>
35188
35189         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
35190         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
35191
35192 2009-12-12  Bruno Haible  <bruno@clisp.org>
35193
35194         duplocale: Tweak.
35195         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
35196
35197 2009-12-12  Karl Berry  <karl@gnu.org>
35198
35199         * config/srclist.txt (strtoll.c): tab changes, no more sync.
35200
35201 2009-12-12  Bruno Haible  <bruno@clisp.org>
35202
35203         * m4/po.m4: Undo incorrect untabification.
35204
35205 2009-12-12  Bruno Haible  <bruno@clisp.org>
35206
35207         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
35208         * modules/c-strtod (Depends-on): Add locale.
35209         * modules/c-strtold (Depends-on): Likewise.
35210
35211 2009-12-12  Bruno Haible  <bruno@clisp.org>
35212
35213         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
35214
35215 2009-12-11  Eric Blake  <ebb9@byu.net>
35216
35217         setenv: relax requirement in light of POSIX ruling
35218         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
35219         not NULL.
35220         * tests/test-setenv.c (main): Relax test.
35221         * tests/test-unsetenv.c (main): Likewise.
35222         * doc/posix-functions/setenv.texi (setenv): Document this.
35223         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
35224
35225 2009-12-11  Bruno Haible  <bruno@clisp.org>
35226
35227         New module 'fd-safer-flag'.
35228         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
35229         * lib/dup-safer.c (dup_safer_flag): Remove function.
35230         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
35231         * lib/fd-safer.c (fd_safer_flag): Remove function.
35232         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
35233         * modules/cloexec (configure.ac): Drop indicator macro.
35234         * modules/fd-safer-flag: New file.
35235         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
35236         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
35237         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
35238
35239 2009-12-11  Bruno Haible  <bruno@clisp.org>
35240
35241         Tests for module 'nl_langinfo'.
35242         * modules/nl_langinfo-tests: New file.
35243         * tests/test-nl_langinfo.sh: New file.
35244         * tests/test-nl_langinfo.c: New file.
35245
35246         New module 'nl_langinfo'.
35247         * lib/nl_langinfo.c: New file.
35248         * m4/nl_langinfo.m4: New file.
35249         * modules/nl_langinfo: New file.
35250         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
35251
35252 2009-12-11  Bruno Haible  <bruno@clisp.org>
35253
35254         Tests for module 'langinfo'.
35255         * modules/langinfo-tests: New file.
35256         * tests/test-langinfo.c: New file.
35257
35258         New module 'langinfo'.
35259         * lib/langinfo.in.h: New file.
35260         * m4/langinfo_h.m4: New file.
35261         * modules/langinfo: New file.
35262         * doc/posix-headers/langinfo.texi: Mention the new module.
35263
35264 2009-12-11  Bruno Haible  <bruno@clisp.org>
35265
35266         * lib/config.charset: Untabify.
35267
35268 2009-12-11  Bruno Haible  <bruno@clisp.org>
35269
35270         * modules/unistd-safer (configure.ac): Drop indicator macro.
35271
35272 2009-12-11  Bruno Haible  <bruno@clisp.org>
35273
35274         Move pipe2-safer code to its own file.
35275         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
35276         * lib/pipe-safer.c (pipe2_safer): Remove function.
35277         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
35278         (Makefile.am): Add it to lib_SOURCES.
35279
35280 2009-12-10  Bruno Haible  <bruno@clisp.org>
35281
35282         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
35283
35284 2009-12-10  Bruno Haible  <bruno@clisp.org>
35285
35286         Declare which arguments expect non-NULL values, for GCC and clang.
35287         * build-aux/arg-nonnull.h: New file.
35288         * modules/arg-nonnull: New file.
35289         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
35290         (inet_ntop, inet_pton): Use it.
35291         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
35292         (closedir, dirfd, opendir, scandir, alphasort): Use it.
35293         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
35294         (open, openat): Use it.
35295         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
35296         (fnmatch): Use it.
35297         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
35298         (getopt, getopt_long, getopt_long_only): Use it.
35299         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
35300         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
35301         Use it.
35302         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
35303         (iconv_open): Use it.
35304         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
35305         (strtoimax, strtoumax): Use it.
35306         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
35307         (duplocale): Use it.
35308         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
35309         (frexp, frexpl): Use it.
35310         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
35311         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
35312         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
35313         (tsearch, tfind, tdelete, twalk): Use it.
35314         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
35315         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
35316         sigpending): Use it.
35317         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
35318         (posix_spawn, posix_spawnp, posix_spawnattr_init,
35319         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
35320         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
35321         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
35322         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
35323         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
35324         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
35325         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
35326         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
35327         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
35328         Use it.
35329         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
35330         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
35331         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
35332         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
35333         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
35334         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
35335         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
35336         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
35337         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
35338         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
35339         strtoull, unsetenv): Use it.
35340         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
35341         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
35342         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
35343         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
35344         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
35345         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
35346         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
35347         (strcasecmp, strncasecmp): Use it.
35348         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
35349         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
35350         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
35351         rpl_setsockopt): Use it.
35352         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
35353         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
35354         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
35355         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
35356         (gettimeofday): Use it.
35357         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
35358         (times): Use it.
35359         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
35360         (uname): Use it.
35361         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
35362         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
35363         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
35364         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
35365         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
35366         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
35367         unlinkat, write): Use it.
35368         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
35369         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
35370         * lib/argv-iter.h: Include arg-nonnull.h.
35371         (_ATTRIBUTE_NONNULL_): Remove macro.
35372         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
35373         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
35374         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
35375         optimization.
35376         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
35377         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
35378         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
35379         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
35380         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
35381         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
35382         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
35383         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
35384         * modules/arpa_inet (Depends-on): Add arg-nonnull.
35385         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
35386         * modules/dirent (Depends-on): Add arg-nonnull.
35387         (Makefile.am): Insert arg-nonnull.h into dirent.h.
35388         * modules/fcntl-h (Depends-on): Add arg-nonnull.
35389         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
35390         * modules/fnmatch (Depends-on): Add arg-nonnull.
35391         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
35392         * modules/getopt-posix (Depends-on): Add arg-nonnull.
35393         (Makefile.am): Insert arg-nonnull.h into getopt.h.
35394         * modules/glob (Depends-on): Add arg-nonnull.
35395         (Makefile.am): Insert arg-nonnull.h into glob.h.
35396         * modules/iconv_open (Depends-on): Add arg-nonnull.
35397         (Makefile.am): Insert arg-nonnull.h into iconv.h.
35398         * modules/inttypes (Depends-on): Add arg-nonnull.
35399         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
35400         * modules/locale (Depends-on): Add arg-nonnull.
35401         (Makefile.am): Insert arg-nonnull.h into locale.h.
35402         * modules/math (Depends-on): Add arg-nonnull.
35403         (Makefile.am): Insert arg-nonnull.h into math.h.
35404         * modules/netdb (Depends-on): Add arg-nonnull.
35405         (Makefile.am): Insert arg-nonnull.h into netdb.h.
35406         * modules/search (Depends-on): Add arg-nonnull.
35407         (Makefile.am): Insert arg-nonnull.h into search.h.
35408         * modules/signal (Depends-on): Add arg-nonnull.
35409         (Makefile.am): Insert arg-nonnull.h into signal.h.
35410         * modules/spawn (Depends-on): Add arg-nonnull.
35411         (Makefile.am): Insert arg-nonnull.h into spawn.h.
35412         * modules/stdio (Depends-on): Add arg-nonnull.
35413         (Makefile.am): Insert arg-nonnull.h into stdio.h.
35414         * modules/stdlib (Depends-on): Add arg-nonnull.
35415         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
35416         * modules/string (Depends-on): Add arg-nonnull.
35417         (Makefile.am): Insert arg-nonnull.h into string.h.
35418         * modules/strings (Depends-on): Add arg-nonnull.
35419         (Makefile.am): Insert arg-nonnull.h into strings.h.
35420         * modules/sys_socket (Depends-on): Add arg-nonnull.
35421         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
35422         * modules/sys_stat (Depends-on): Add arg-nonnull.
35423         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
35424         * modules/sys_time (Depends-on): Add arg-nonnull.
35425         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
35426         * modules/sys_times (Depends-on): Add arg-nonnull.
35427         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
35428         * modules/sys_utsname (Depends-on): Add arg-nonnull.
35429         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
35430         * modules/time (Depends-on): Add arg-nonnull.
35431         (Makefile.am): Insert arg-nonnull.h into time.h.
35432         * modules/unistd (Depends-on): Add arg-nonnull.
35433         (Makefile.am): Insert arg-nonnull.h into unistd.h.
35434         * modules/wchar (Depends-on): Add arg-nonnull.
35435         (Makefile.am): Insert arg-nonnull.h into wchar.h.
35436         * modules/argv-iter (Depends-on): Add arg-nonnull.
35437         * tests/test-canonicalize.c (null_ptr): New function.
35438         (main): Use it.
35439         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
35440         (main): Use it.
35441         * tests/test-memmem.c (null_ptr): New function.
35442         (main): Use it.
35443         Reported by Jim Meyering.
35444
35445 2009-12-10  Bruno Haible  <bruno@clisp.org>
35446
35447         Use spaces for indentation, not tabs.
35448         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
35449         * m4/*.m4: Untabify.
35450         * build-aux/*.h: Untabify.
35451         * tests/**/*.[hc]: Untabify.
35452         * README: New section "Indent with spaces, not TABs", based on
35453         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
35454         * NEWS: Mention the change.
35455
35456 2009-12-10  Bruno Haible  <bruno@clisp.org>
35457
35458         pty test: Fix link error.
35459         * modules/pty-tests (Makefile.am): Add the default LDADD value to
35460         test_pty_LDADD.
35461
35462 2009-12-07  Simon Josefsson  <simon@josefsson.org>
35463
35464         * modules/pty: New file.
35465         * modules/pty-tests: New file.
35466         * m4/pty.m4: New file.
35467         * tests/test-pty.c: New file.
35468         * doc/glibc-headers/pty.texi: Modified.
35469         * doc/glibc-functions/forkpty.texi: Modified.
35470         * doc/glibc-functions/openpty.texi: Modified.
35471
35472 2009-12-10  Bruno Haible  <bruno@clisp.org>
35473
35474         Avoid syntax error in C++ mode.
35475         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
35476
35477 2009-12-10  Bruno Haible  <bruno@clisp.org>
35478
35479         Use sed with option -e.
35480         * gnulib-tool (func_version, func_emit_copyright_notice,
35481         func_emit_initmacro_end, func_import, func_create_testdir): Pass
35482         option -e to sed.
35483         * modules/link-warning (Makefile.am): Likewise.
35484
35485 2009-12-10  Jim Meyering  <meyering@redhat.com>
35486
35487         mgetgroups: do not write bytes beyond end of malloc'd buffer
35488         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
35489         username, we call getgroups with a one-element-shorter buffer,
35490         but still told it the length was original, max_n_groups.
35491
35492 2009-12-09  Eric Blake  <ebb9@byu.net>
35493
35494         cloexec: relax license
35495         * modules/cloexec (Maintainer): Add myself.
35496         (License): Use LGPL, not GPL.
35497
35498         link-warning: optimize generation
35499         * modules/link-warning (Makefile.am): Reduce process usage.
35500
35501 2009-12-09  Bruno Haible  <bruno@clisp.org>
35502
35503         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
35504         workaround was added on 2009-11-17.
35505
35506 2009-12-09  Jim Meyering  <meyering@redhat.com>
35507             Bruno Haible  <bruno@clisp.org>
35508
35509         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
35510         * modules/link-warning (Makefile.am): Make the comment-removing sed
35511         command more robust in the face of bootstrap-prepended comment lines.
35512
35513 2009-12-09  Bruno Haible  <bruno@clisp.org>
35514
35515         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
35516         most one group.
35517
35518 2009-12-09  Simon Josefsson <simon@josefsson.org>
35519             Bruno Haible  <bruno@clisp.org>
35520
35521         * build-aux/link-warning.h: Add copyright notice.
35522         * modules/link-warning (Makefile.am): Generate link-warning.h from
35523         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
35524         * NEWS: Mention change in link-warning module.
35525         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
35526         * modules/dirent (Makefile.am): Add dependency to dirent.h.
35527         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
35528         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
35529         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
35530         * modules/math (Makefile.am): Add dependency to math.h.
35531         * modules/search (Makefile.am): Add dependency to search.h.
35532         * modules/signal (Makefile.am): Add dependency to signal.h.
35533         * modules/spawn (Makefile.am): Add dependency to spawn.h.
35534         * modules/stdio (Makefile.am): Add dependency to stdio.h.
35535         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
35536         * modules/string (Makefile.am): Add dependency to string.h.
35537         * modules/strings (Makefile.am): Add dependency to strings.h.
35538         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
35539         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
35540         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
35541         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
35542         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
35543         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
35544         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
35545         * modules/unistd (Makefile.am): Add dependency to unistd.h.
35546         * modules/wchar (Makefile.am): Add dependency to wchar.h.
35547
35548 2009-12-09  Bruno Haible  <bruno@clisp.org>
35549
35550         fchdir: Optimize away rpl_fstat when possible.
35551         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
35552         REPLACE_OPEN_DIRECTORY.
35553         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
35554
35555 2009-12-09  Bruno Haible  <bruno@clisp.org>
35556
35557         * lib/fchdir.c: Update comment.
35558
35559 2009-12-09  Bruno Haible  <bruno@clisp.org>
35560
35561         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
35562
35563 2009-12-08  Eric Blake  <ebb9@byu.net>
35564
35565         fchdir: avoid memory leak on re-registration.
35566         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
35567
35568 2009-12-08  Jim Meyering  <meyering@redhat.com>
35569
35570         init.sh: avoid Solaris 10 /bin/sh portability problem
35571         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
35572         sourced script:
35573           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
35574           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
35575           bar
35576         tests/init.sh relied on that, accepting a --set-path=DIR argument,
35577         and two tests used that idiom.
35578         * tests/init.sh: Update suggested usage comments.
35579         (path_prepend_): New function, to be used in place
35580         of the --src-path=DIR option.
35581         (setup_): Move PATH-prepending code into path_prepend_.
35582         * tests/test-pread.sh: Adapt to new usage.
35583         * tests/test-xalloc-die.sh: Likewise.
35584
35585 2009-12-08  Simon Josefsson  <simon@josefsson.org>
35586
35587         * doc/gnulib.texi (Glibc pty.h): Add.
35588         * doc/glibc-functions/forkpty.texi: Add.
35589         * doc/glibc-functions/openpty.texi: Add.
35590         Suggested by Bruno Haible.
35591
35592 2009-12-08  Eric Blake  <ebb9@byu.net>
35593
35594         fchdir: fix logic bugs
35595         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
35596         * tests/test-fchdir.c (main): Enhance test.
35597         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
35598         is in use.
35599
35600         dup2: fix logic bugs
35601         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
35602         REPLACE_DUP2 to decide when rpl_dup2 is needed.
35603         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
35604         exists.
35605         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
35606
35607 2009-12-07  Eric Blake  <ebb9@byu.net>
35608
35609         unlink: fix m4 detection
35610         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
35611
35612         unistd-safer: add unit test
35613         * modules/unistd-safer-tests: New file.
35614         * tests/test-dup-safer.c: Likewise.
35615         * tests/test-cloexec.c (setmode): Avoid compiler warning.
35616         * tests/test-dup2.c (setmode): Likewise.
35617         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
35618
35619         cloexec: preserve text vs. binary across dup_cloexec
35620         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
35621         mode.
35622         * modules/dup2-tests (Depends-on): Add binary-io.
35623         * modules/cloexec-tests (Depends-on): Likewise.
35624         * tests/test-dup2.c (setmode, is_mode): New helpers.
35625         (main): Add tests that translation mode is preserved.
35626         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
35627         Reported by Bruno Haible.
35628
35629         mgetgroups: reduce duplicate listings
35630         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
35631         resulting array.
35632         * tests/test-chown.h (test_chown): Simplify client.
35633         * tests/test-lchown.h (test_lchown): Likewise.
35634
35635 2009-12-06  Bruno Haible  <bruno@clisp.org>
35636
35637         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
35638         value.
35639
35640 2009-12-06  Bruno Haible  <bruno@clisp.org>
35641
35642         * lib/progname.c: Include stdio.h, stdlib.h.
35643         (set_program_name): Reject a NULL argument.
35644
35645 2009-12-05  Eric Blake  <ebb9@byu.net>
35646
35647         pipe2-safer: new module
35648         * modules/pipe2-safer: New file.
35649         * lib/unistd-safer.h (pipe2_safer): New prototype.
35650         * lib/unistd--.h (pipe2): New wrapper.
35651         * lib/pipe-safer.c (pipe2_safer): New function.
35652         * modules/pipe (Depends-on): Add pipe2-safer.
35653         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
35654
35655         stdlib-safer: preserve cloexec flag for mkostemp[s]
35656         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
35657         fd_safer_flag.
35658
35659         unistd-safer: allow preservation of cloexec status via flag
35660         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
35661         prototypes.
35662         * lib/dup-safer.c (dup_safer_flag): New function.
35663         * lib/fd-safer.c (fd_safer_flag): Likewise.
35664         * modules/cloexec (configure.ac): Set witness.
35665
35666         test-dup2: enhance test
35667         * modules/dup2-tests (Depends-on): Add cloexec.
35668         * tests/test-dup2.c (main): Enhance test.
35669
35670         cloexec: add dup_cloexec
35671         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
35672         header and comments.
35673         * lib/cloexec.c (set_cloexec_flag): Add comments.
35674         (dup_cloexec): New function, with mingw implementation borrowed
35675         from...
35676         * lib/w32spawn.h (dup_noinherit): ...here.
35677         * modules/execute (Depends-on): Add cloexec.
35678         * modules/pipe (Depends-on): Likewise.
35679         * modules/cloexec (Depends-on): Add dup2.
35680         * modules/cloexec-tests (Files): New file.
35681         * tests/test-cloexec.c: Likewise.
35682
35683         test-xalloc-die: fix test for mingw
35684         * modules/xalloc-die-tests (Files): Add tests/init.sh.
35685         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
35686         directory and .exe suffix off argv[0] output.
35687
35688         test-fseeko: fix test for mingw
35689         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
35690         than undefining fseek, so test will pass on mingw.
35691
35692 2009-12-05  Bruno Haible  <bruno@clisp.org>
35693
35694         * lib/progname.h (set_program_name): Clarify specification.
35695         * lib/progname.c (set_program_name): Likewise.
35696         Reported by Jim Meyering.
35697
35698 2009-12-05  Jim Meyering  <meyering@redhat.com>
35699
35700         maint.mk: backslash-escape parens in default regexp
35701         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
35702         backslash-escape the literal parentheses.
35703
35704         maint.mk: news-date-check: use grep -E
35705         * top/maint.mk (today): Define a Make variable, not a...
35706         (news-date-check): ...shell variable.
35707         (news-date-regexp): Use the Make variable.
35708         Use grep's -E option.  Change the failing diagnostic to mention
35709         the variable, $(news-date-regexp).
35710
35711 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
35712
35713         maintainer-makefile: allow customization of NEWS entry format
35714         * top/maint.mk (news-date-regexp): New overridable variable.
35715         (news-date-check): Use it.
35716
35717 2009-12-04  Eric Blake  <ebb9@byu.net>
35718
35719         mgetgroups: add xgetgroups, and avoid ENOSYS failures
35720         * lib/mgetgroups.h (xgetgroups): New prototype.
35721         * lib/mgetgroups.c (xgetgroups): New wrapper.
35722         (mgetgroups): Handle ENOSYS.
35723         * modules/mgetgroups (Depends-on): Add realloc.
35724         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
35725
35726         mgetgroups: avoid argument promotion issues with -1
35727         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
35728         for invalid gid_t.
35729         * tests/test-chown.h (getegid, test_chown): Likewise.
35730         * tests/test-lchown.h (getegid, test_lchown): Likewise.
35731
35732 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
35733
35734         exclude: Fix header file problems.
35735         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
35736
35737 2009-12-01  Jim Meyering  <meyering@redhat.com>
35738
35739         fts: fts_open: do not let an empty string cause immediate failure
35740         This is required in support of GNU rm, for which the command
35741         "rm A '' B" must process and remove both A and B, in spite of
35742         the empty string argument.
35743         * lib/fts.c (fts_open): Do not let the presence of an empty string
35744         cause fts_open to fail immediately.  Most fts-using tools must be
35745         able to process all arguments, in order, and can be expected to
35746         diagnose such arguments themselves.
35747
35748 2009-11-30  Eric Blake  <ebb9@byu.net>
35749
35750         utimens: fix compilation error
35751         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
35752         Declare variable at right scope.
35753
35754 2009-11-29  Jim Meyering  <meyering@redhat.com>
35755
35756         bootstrap: handle perl-5.11's changed --version output
35757         * build-aux/bootstrap (get_version): Handle perl separately,
35758         since perl-5.11's --version output is different.
35759
35760 2009-11-28  Jim Meyering  <meyering@redhat.com>
35761
35762         userspec: depend on the inttostr module, too
35763         * modules/userspec (Depends-on): Add inttostr.
35764
35765         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
35766         * lib/userspec.c (parse_with_separator): Do not accept a user ID
35767         number of MAXUID when it evaluates to (uid_t) -1.
35768         Likewise for group ID.  Reported by Matt McCutchen in
35769         <http://savannah.gnu.org/bugs/?28113>
35770
35771         userspec: reformat to use spaces, not TABs
35772         * lib/userspec.c: Expand TABs to spaces.
35773         Add Emacs' "indent-tabs-mode: nil" hint.
35774
35775 2009-11-27  Eric Blake  <ebb9@byu.net>
35776
35777         getopt-gnu: flush out another BSD bug
35778         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
35779         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
35780         flush out BSD bug.
35781         * tests/test-getopt.h (test_getopt): End lists with NULL.
35782         * tests/test-getopt_long.h (test_getopt_long): Likewise.
35783         (test_getopt_long_posix): Enhance test.
35784         * modules/getopt-posix-tests (Depends-on): Add stdbool.
35785         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
35786         getopt-gnu.
35787         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35788         Likewise.
35789
35790 2009-11-27  Simon Josefsson  <simon@josefsson.org>
35791
35792         * modules/idpriv-droptemp-tests (Notice): Fix text.
35793
35794 2009-11-27  Jim Meyering  <meyering@redhat.com>
35795
35796         test-xalloc-die: avoid spurious failure due to libtool argv difference
35797         In a libtool-enabled project, this test would fail due to a difference
35798         in the emitted program name, e.g.,
35799         -test-xalloc-die: memory exhausted
35800         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
35801         Use program to avoid that.
35802         * modules/xalloc-die-tests (Depends-on): Add progname.
35803         * tests/test-xalloc-die.c: Include progname.h".
35804         (program_name): Remove decl.
35805         (main): Call set_program_name.
35806         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
35807
35808 2009-11-26  Richard Jones  <rjones@redhat.com>
35809
35810         w32sock: leave win32 error in place.
35811         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
35812
35813 2009-11-26  Eric Blake  <ebb9@byu.net>
35814
35815         init.sh: suggest to use skip_ and fail_ functions in comments
35816         * tests/init.sh: Add a sentence.
35817
35818 2009-11-25  Bruno Haible  <bruno@clisp.org>
35819
35820         init.sh: add documentation in comments
35821         * tests/init.sh: Add some developer and user documentation.
35822
35823 2009-11-26  Jim Meyering  <meyering@redhat.com>
35824
35825         init.sh: accommodate even those who specify bogus srcdir manually
35826         * tests/init.sh: Normally, srcdir is guaranteed by automake and
35827         configure-time tests to be sanitized, so that there is no need to
35828         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
35829         (with no double quotes) suffices.  However, since tests may be
35830         invoked manually, and since you may explicitly set srcdir to the
35831         name of a directory containing spaces, do quote its uses here.
35832         * tests/test-pread.sh: Likewise.
35833         Suggested by Bruno Haible.
35834
35835         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
35836         * tests/test-pread.sh: Write no data into the pipe, because
35837         test-pread actually reads none.  This avoids a diagnostic,
35838         "bash: echo: write error: Broken pipe", that arises in the unusual
35839         event something is ignoring SIGPIPE, and might be interpreted
35840         as some sort of failure.  Reported by Bruno Haible.
35841
35842 2009-11-25  Jim Meyering  <meyering@redhat.com>
35843
35844         test-pread: cover failure with ESPIPE and EINVAL
35845         * tests/test-pread.c (main): Test for failure, too.
35846         * tests/test-pread.sh: Invoke with stdin on a pipe.
35847         Suggested by Eric Blake.
35848
35849         pread: improvement and fix
35850         * modules/pread (Depends-on): Depend on lseek, for portability to
35851         e.g., mingw.  Suggested by Eric Blake.
35852         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
35853
35854         unistd.in.h: correct declaration of pread
35855         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
35856         Reported by Richard W.M. Jones.
35857
35858         test-pread.sh: distribute the test script
35859         * modules/pread-tests (Files): Include test-pread.sh.
35860
35861         test-pread.sh: clean up
35862         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
35863         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
35864         That is unnecessary, since it's always ".".
35865         Suggestion from Eric Blake.
35866
35867         test-pread.sh: make executable
35868         * tests/test-pread.sh: Set executable bit.
35869         Reported by Eric Blake.
35870
35871         correct typo in test-pread.sh
35872         * tests/test-pread.sh: Add #! line.
35873
35874         test pread
35875         * tests/test-pread.c: New file.
35876         * tests/test-pread.sh: Likewise.
35877         * modules/pread-tests: Likewise.
35878
35879         pread: new module
35880         * modules/pread: New file.
35881         * lib/unistd.in.h (pread): Define/declare.
35882         * lib/pread.c (pread): New file.
35883         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
35884         * modules/unistd (Makefile.am): Substitute witnesses.
35885         * doc/posix-functions/pread.texi (pread): Update.
35886         * MODULES.html.sh: Add pread.
35887
35888 2009-11-25  Jim Meyering  <meyering@redhat.com>
35889
35890         tests/init.sh: new file to be used via most *.sh tests
35891         * tests/init.sh: New file.
35892
35893 2009-11-25  Eric Blake  <ebb9@byu.net>
35894
35895         utimens: work around older Linux failure with symlinks
35896         * lib/utimens.c (lutimensat_works_really): New variable.
35897         (fdutimens, lutimens): Use it to manage kernels that support
35898         nanosecond times on files, but not on symlinks.
35899         Reported by OndÅ™ej Vašík.
35900
35901         utimes: fix configure grammar
35902         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
35903
35904 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
35905
35906         regex: Fix fastmap for multibyte character ranges.
35907         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
35908         characters when a multibyte character range is included.
35909
35910 2009-11-22  Andy Wingo  <wingo@pobox.com>
35911
35912         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
35913         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
35914
35915 2009-11-24  Bruno Haible  <bruno@clisp.org>
35916
35917         doc: Most *_l functions exist in MacOS X 10.5.
35918         * doc/posix-functions/duplocale.texi: Update platforms list.
35919         * doc/posix-functions/freelocale.texi: Likewise.
35920         * doc/posix-functions/newlocale.texi: Likewise.
35921         * doc/posix-functions/uselocale.texi: Likewise.
35922         * doc/posix-functions/isalnum_l.texi: Likewise.
35923         * doc/posix-functions/isalpha_l.texi: Likewise.
35924         * doc/posix-functions/isblank_l.texi: Likewise.
35925         * doc/posix-functions/iscntrl_l.texi: Likewise.
35926         * doc/posix-functions/isdigit_l.texi: Likewise.
35927         * doc/posix-functions/isgraph_l.texi: Likewise.
35928         * doc/posix-functions/islower_l.texi: Likewise.
35929         * doc/posix-functions/isprint_l.texi: Likewise.
35930         * doc/posix-functions/ispunct_l.texi: Likewise.
35931         * doc/posix-functions/isspace_l.texi: Likewise.
35932         * doc/posix-functions/isupper_l.texi: Likewise.
35933         * doc/posix-functions/iswalnum_l.texi: Likewise.
35934         * doc/posix-functions/iswalpha_l.texi: Likewise.
35935         * doc/posix-functions/iswblank_l.texi: Likewise.
35936         * doc/posix-functions/iswcntrl_l.texi: Likewise.
35937         * doc/posix-functions/iswctype_l.texi: Likewise.
35938         * doc/posix-functions/iswdigit_l.texi: Likewise.
35939         * doc/posix-functions/iswgraph_l.texi: Likewise.
35940         * doc/posix-functions/iswlower_l.texi: Likewise.
35941         * doc/posix-functions/iswprint_l.texi: Likewise.
35942         * doc/posix-functions/iswpunct_l.texi: Likewise.
35943         * doc/posix-functions/iswspace_l.texi: Likewise.
35944         * doc/posix-functions/iswupper_l.texi: Likewise.
35945         * doc/posix-functions/iswxdigit_l.texi: Likewise.
35946         * doc/posix-functions/isxdigit_l.texi: Likewise.
35947         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
35948         * doc/posix-functions/strcasecmp_l.texi: Likewise.
35949         * doc/posix-functions/strcoll_l.texi: Likewise.
35950         * doc/posix-functions/strfmon_l.texi: Likewise.
35951         * doc/posix-functions/strftime_l.texi: Likewise.
35952         * doc/posix-functions/strncasecmp_l.texi: Likewise.
35953         * doc/posix-functions/strxfrm_l.texi: Likewise.
35954         * doc/posix-functions/tolower_l.texi: Likewise.
35955         * doc/posix-functions/toupper_l.texi: Likewise.
35956         * doc/posix-functions/towctrans_l.texi: Likewise.
35957         * doc/posix-functions/towlower_l.texi: Likewise.
35958         * doc/posix-functions/towupper_l.texi: Likewise.
35959         * doc/posix-functions/wcscoll_l.texi: Likewise.
35960         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
35961         * doc/posix-functions/wctrans_l.texi: Likewise.
35962         * doc/posix-functions/wctype_l.texi: Likewise.
35963         * doc/glibc-functions/strptime_l.texi: Likewise.
35964         * doc/glibc-functions/strtod_l.texi: Likewise.
35965         * doc/glibc-functions/strtof_l.texi: Likewise.
35966         * doc/glibc-functions/strtol_l.texi: Likewise.
35967         * doc/glibc-functions/strtold_l.texi: Likewise.
35968         * doc/glibc-functions/strtoll_l.texi: Likewise.
35969         * doc/glibc-functions/strtoul_l.texi: Likewise.
35970         * doc/glibc-functions/strtoull_l.texi: Likewise.
35971         * doc/glibc-functions/wcsftime_l.texi: Likewise.
35972         * doc/glibc-functions/wcstod_l.texi: Likewise.
35973         * doc/glibc-functions/wcstof_l.texi: Likewise.
35974         * doc/glibc-functions/wcstol_l.texi: Likewise.
35975         * doc/glibc-functions/wcstold_l.texi: Likewise.
35976         * doc/glibc-functions/wcstoll_l.texi: Likewise.
35977         * doc/glibc-functions/wcstoul_l.texi: Likewise.
35978         * doc/glibc-functions/wcstoull_l.texi: Likewise.
35979
35980 2009-11-24  Bruno Haible  <bruno@clisp.org>
35981
35982         duplocale: Fix logic bug.
35983         * lib/duplocale.c: Don't include <langinfo.h>.
35984         (_NL_LOCALE_NAME): Remove macro.
35985         (rpl_duplocale): Use setlocale instead of nl_langinfo.
35986         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
35987
35988 2009-11-23  Jim Meyering  <meyering@redhat.com>
35989
35990         test-update-copyright: don't hard-code /usr/bin/perl
35991         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
35992         perl to print the current year.  Gilles Espinasse reported that
35993         the replaced use of perl was hard-coded as /usr/bin/perl.
35994
35995 2009-11-23  Bruno Haible  <bruno@clisp.org>
35996
35997         duplocale: Add support for glibc 2.3.x.
35998         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
35999
36000 2009-11-22  Bruno Haible  <bruno@clisp.org>
36001
36002         vasnprintf: Tiny optimization.
36003         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
36004         MacOS X.
36005
36006 2009-11-22  Bruno Haible  <bruno@clisp.org>
36007
36008         Tests for module 'duplocale'.
36009         * modules/duplocale-tests: New file.
36010         * tests/test-duplocale.c: New file.
36011
36012         New module 'duplocale'.
36013         * m4/duplocale.m4: New file.
36014         * lib/locale.in.h (duplocale): New declaration.
36015         * lib/duplocale.c: New file.
36016         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
36017         gl_LOCALE_H_DEFAULTS): New macros.
36018         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
36019         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
36020         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
36021         REPLACE_DUPLOCALE.
36022         * modules/duplocale: New file.
36023         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
36024
36025 2009-11-22  Bruno Haible  <bruno@clisp.org>
36026
36027         * modules/locale-tests (configure.ac): Test for newlocale function.
36028         * tests/test-locale.c: When the system has extended locale functions,
36029         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
36030
36031         locale: Make locale_t available when possible.
36032         * lib/locale.in.h: Include <xlocale.h> when it exists.
36033         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
36034         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
36035         * modules/locale (Depends-on): Add extensions.
36036         (Makefile.am): Also substitute HAVE_XLOCALE_H.
36037         * doc/posix-headers/locale.texi: Document the problem with locale_t.
36038
36039 2009-11-22  Bruno Haible  <bruno@clisp.org>
36040
36041         Add comments.
36042         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
36043         invocation.
36044         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
36045         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
36046         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36047
36048 2009-11-22  Bruno Haible  <bruno@clisp.org>
36049
36050         error: account for the possibility of freopen (stdout).
36051         * lib/error.c: Include <unistd.h>.
36052         (flush_stdout): New function, extracted from error and error_at_line.
36053         Determine stdout's fd dynamically.
36054         (error, error_at_line): Invoke flush_stdout.
36055         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
36056         * modules/error (Depends-on): Add unistd.
36057
36058 2009-11-22  Bruno Haible  <bruno@clisp.org>
36059
36060         diffseq: Add comment.
36061         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
36062
36063 2009-11-22  Jim Meyering  <meyering@redhat.com>
36064
36065         c-stack: avoid defining an unused static function
36066         * lib/c-stack.c (find_stack_direction): Do not define this function
36067         when it will not be used.
36068
36069         diffseq: avoid spurious gcc warnings
36070         * lib/diffseq.h (IF_LINT2): Define.
36071         (compareseq): Use it to initialize two members of "part".
36072         This avoids two used-uninitialized warnings.
36073
36074 2009-11-21  Jim Meyering  <meyering@redhat.com>
36075
36076         c-stack: avoid "ignoring return value of `write'" warning
36077         * lib/c-stack.c: Include "ignore-value.h".
36078         (die): Explicitly ignore each write return value.
36079         * modules/c-stack (Depends-on): Add ignore-value.
36080
36081 2009-11-21  Bruno Haible  <bruno@clisp.org>
36082
36083         diffseq: reduce scope of variable 'best'.
36084         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
36085         variable, earlier used for two different purposes.
36086
36087 2009-11-21  Jim Meyering  <meyering@redhat.com>
36088
36089         diffseq: remove useless assignment to "best"
36090         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
36091         assignment.  At that point "best" is already guaranteed to be zero.
36092
36093 2009-11-20  Eric Blake  <ebb9@byu.net>
36094
36095         build: mention ftp redirector in release announcements
36096         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
36097         values that used to come from cfg.mk; mention FTP redirect URL.
36098         * build-aux/announce-gen: Mention the mirror list.
36099         Suggested by Karl Berry.
36100
36101         nanosleep: improve port to mingw
36102         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
36103         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
36104         LIB_NANOSLEEP, but only when needed.
36105         * modules/select (Link): Document LIBSOCKET.
36106         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
36107         enough.
36108
36109         nanosleep: work around cygwin bug
36110         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
36111         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
36112         bug.
36113         (getnow): Delete, not needed.
36114         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
36115         LIB_CLOCK_GETTIME.
36116         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
36117         clock-time, gettime.
36118         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
36119         bug.
36120         * modules/nanosleep-tests: New test.
36121         * tests/test-nanosleep.c: New file.
36122
36123         sleep: work around cygwin bug
36124         * lib/sleep.c (rpl_sleep): Work around the bug.
36125         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
36126         (gl_PREREQ_SLEEP): Delete unused macro.
36127         * modules/sleep (Depends-on): Add verify.
36128         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
36129         * modules/unistd (Makefile.am): Substitute witness.
36130         * lib/unistd.in.h (sleep): Update prototype.
36131         * doc/posix-functions/sleep.texi (sleep): Document the bug.
36132         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
36133         * modules/sleep-tests (Depends-on): Check for alarm.
36134
36135 2009-11-20  Jim Meyering  <meyering@redhat.com>
36136
36137         maint.mk: improve sc_prohibit_magic_number_exit
36138         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
36139         so it does not match uses like System.exit(1).
36140         Add comments showing how to correct all offenders.
36141
36142 2009-11-19  Eric Blake  <ebb9@byu.net>
36143
36144         xalloc-die-tests: add missing library
36145         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
36146
36147         test-xvasprintf: silence compiler warnings
36148         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
36149         empty string from gcc.
36150
36151 2009-11-19  Jim Meyering  <meyering@redhat.com>
36152
36153         xfreopen: new module, from coreutils
36154         * modules/xfreopen: New module.
36155         * lib/xfreopen.c: New file.
36156         * lib/xfreopen.h: New file.
36157         * MODULES.html.sh (File stream based Input/Output"): Add it.
36158
36159 2009-11-19  Eric Blake  <ebb9@byu.net>
36160
36161         manywarnings: depend on warnings
36162         * modules/manywarnings (Depends-on): Add warnings.
36163
36164         build: avoid compiler warnings
36165         * lib/select.c (rpl_select): Delete unused variable.
36166         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
36167
36168 2009-11-18  Eric Blake  <ebb9@byu.net>
36169
36170         tests: avoid false negative with --with-packager
36171         * tests/test-version-etc.sh: Discard packager information.
36172         * tests/test-argp-version-etc-1.sh: Likewise.
36173         Reported by Mike Frysinger.
36174
36175         utimens: fix regression on Solaris
36176         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
36177         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
36178         can only change fd timestamps via futimesat.  Instead, use an
36179         additional witness macro to avoid BSD bug.
36180         Reported by Jim Meyering.
36181
36182 2009-11-17  Eric Blake  <ebb9@byu.net>
36183
36184         usleep: use it to simplify tests
36185         * modules/stat-time-tests (Depends-on): Add usleep.
36186         (configure.ac): Drop usleep check.
36187         * modules/chown-tests (Depends-on, configure.ac): Likewise.
36188         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
36189         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
36190         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
36191         * modules/openat-tests (Depends-on, configure.ac): Likewise.
36192         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
36193         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
36194         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
36195         Likewise.
36196         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
36197         * tests/test-lchown.h (nap): Likewise.
36198         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
36199         * tests/test-stat-time.c (nap): Likewise.
36200         * tests/test-utimens-common.h (nap): Update comments.
36201
36202         usleep: new module
36203         * modules/usleep: New file.
36204         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
36205         * lib/usleep.c (usleep): Likewise.
36206         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
36207         * modules/unistd (Makefile.am): Substitute witnesses.
36208         * lib/unistd.in.h (usleep): Add declaration.
36209         * doc/pastposix-functions/usleep.texi (usleep): Document this.
36210         * MODULES.html.sh (Date and time): Likewise.
36211         * modules/usleep-tests (Depends-on): New test.
36212         * tests/test-usleep.c: New file.
36213
36214         chown: work around OpenBSD bug
36215         * lib/chown.c (rpl_chown): Work around the bug.
36216         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
36217         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
36218         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
36219         * modules/chown (Depends-on): Add stdbool.
36220         * modules/lchown (Depends-on): Likewise.
36221         * doc/posix-functions/chown.texi (chown): Document the bug.
36222         * doc/posix-functions/lchown.texi (lchown): Likewise.
36223         * tests/test-lchown.h (test_chown): Relax test.
36224
36225         mkstemp: avoid conflict with C++ keyword template
36226         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
36227         * lib/mkostemp.c (mkostemp): Likewise.
36228         * lib/mkostemps.c (mkostemps): Likewise.
36229         * lib/mkstemp.c (mkstemp): Likewise.
36230         * lib/mkstemps.c (mkstemps): Likewise.
36231
36232         xalloc-die-tests: optimize
36233         * tests/test-xalloc-die.sh: Reduce number of processes.
36234
36235 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36236
36237         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
36238         patch from ludo@gnu.org (Ludovic Courtès).
36239
36240 2009-11-17  Jim Meyering  <meyering@redhat.com>
36241
36242         version-etc: use proper license string
36243         * modules/version-etc (License): Use LGPL, not LGPLv3+.
36244         * modules/version-etc-fsf: Likewise.
36245
36246 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36247
36248         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
36249         printed to stdout.  Deal with EOL differences.
36250
36251 2009-11-17  Eric Blake  <ebb9@byu.net>
36252
36253         unsetenv: work around Solaris bug
36254         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
36255         * lib/unsetenv.c (rpl_unsetenv): Work around it.
36256         Reported by Jim Meyering.
36257
36258         vasnprintf: avoid compiler warnings
36259         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
36260         variables.
36261         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
36262
36263 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36264
36265         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
36266         settings since xalloc-die is no longer the self test,
36267         xalloc-die.sh is.
36268
36269 2009-11-17  Jim Meyering  <meyering@redhat.com>
36270
36271         test-xalloc-die.sh: make the code agree with the commit log
36272         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
36273         at the end, just in case you happen to have a test-xalloc-die
36274         program in some other PATH directory.
36275
36276         test-xalloc-die.sh: fix a portability bug
36277         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
36278         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
36279         Otherwise, argv[0] (as often seen in diagnostics) would be too
36280         system-dependent, sometimes with, and sometimes without the leading "./".
36281
36282         version-etc-fsf: relax license to LGPLv3+
36283         * modules/version-etc-fsf (License): Relax license.
36284
36285 2009-11-16  Eric Blake  <ebb9@byu.net>
36286
36287         xalloc-die-tests: avoid printing null pointer
36288         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
36289         shell script.
36290         * tests/test-xalloc-die.c (program_name): Declare.
36291         * tests/test-xalloc-die.sh (tmpfiles): New file.
36292
36293         setenv, unsetenv: work around various bugs
36294         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
36295         (setenv) [HAVE_SETENV]: Work around bugs.
36296         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
36297         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
36298         for bugs.
36299         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
36300         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
36301         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
36302         * modules/stdlib (Makefile.am): Update substitutions.
36303         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
36304         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
36305         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
36306         * modules/setenv-tests: New test.
36307         * modules/unsetenv-tests: Likewise.
36308         * tests/test-setenv.c: New file.
36309         * tests/test-unsetenv.c: Likewise.
36310
36311 2009-11-16  Jim Meyering  <meyering@redhat.com>
36312
36313         version-etc: relax license to LGPLv3+
36314         * modules/version-etc (License): Relax license.
36315
36316         better AC_REQUIRE expanded-before-required-warning avoidance
36317         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
36318         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
36319         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
36320         which is no longer needed.
36321
36322 2009-11-16  Eric Blake  <ebb9@byu.net>
36323
36324         test-freading: clean up temporary file
36325         * tests/test-freading.c (main): Remove file on success, and use
36326         ASSERT more liberally.
36327         Reported by Jim Meyering.
36328
36329 2009-11-16  Jim Meyering  <meyering@redhat.com>
36330
36331         avoid new AC_REQUIRE expanded-before-required warnings
36332         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
36333         merely using it.
36334         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
36335         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
36336
36337 2009-11-15  Simon Josefsson  <simon@josefsson.org>
36338
36339         * tests/test-xalloc-die.c: New file.
36340         * modules/xalloc-die-tests: New file.
36341         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
36342         XFAIL_TESTS so it can be appended by modules.
36343
36344 2009-11-15  Simon Josefsson  <simon@josefsson.org>
36345
36346         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
36347         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
36348
36349 2009-11-14  Eric Blake  <ebb9@byu.net>
36350
36351         fnmatch: avoid compiler warning
36352         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
36353         to silence compiler warning about mismatch signedness in ?:.
36354         Reported by Robert Millan.
36355
36356         intprops: add double-inclusion guard
36357         * lib/intprops.h: Allow idempotent includes.
36358         Suggested by Bruce Korb.
36359
36360         openat: detect Solaris fchownat bug
36361         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
36362         penalizing glibc chownat when only lchownat is broken.
36363         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
36364         trailing slash bugs.
36365         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
36366         * modules/openat-tests (Files): Include more files.
36367         (Depends-on): Add mgetgroups, sleep, stat-time.
36368         (configure.ac): Add additional checks.
36369         (Makefile.am): Build new test.
36370         * tests/test-fchownat.c: New file.
36371
36372         lchown: detect Solaris and FreeBSD bug
36373         * lib/lchown.c (rpl_lchown): Work around bug.
36374         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
36375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36376         * modules/unistd (Makefile.am): Populate it.
36377         * lib/unistd.in.h (lchown): Update declaration.
36378         * doc/posix-functions/lchown.texi (lchown): Document the bug.
36379         * modules/lchown-tests: New file.
36380         * tests/test-lchown.h (test_lchown): Likewise.
36381         * tests/test-lchown.c (main): Likewise.
36382
36383         chown: detect Solaris and FreeBSD bug
36384         * lib/chown.c (rpl_chown): Work around bug.
36385         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
36386         (gl_PREREQ_CHOWN): Delete.
36387         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36388         * modules/unistd (Makefile.am): Populate it.
36389         * lib/unistd.in.h (chown): Update declaration.
36390         * lib/lchown.c (chown): Update client.
36391         * modules/lchown (Depends-on): Add lstat.
36392         * doc/posix-functions/chown.texi (chown): Document the bug.
36393         * doc/posix-functions/getgroups.texi (getgroups): Document
36394         getgroups pitfall.
36395         * modules/chown-tests: New file.
36396         * tests/test-chown.h (test_chown): Likewise.
36397         * tests/test-chown.c (main): Likewise.
36398
36399 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
36400
36401         gnulib-tool: correctly detect absence of m4 directories
36402         * gnulib-tool: Avoid extra newline on data passed to wc -l.
36403
36404 2009-11-14  Jim Meyering  <meyering@redhat.com>
36405
36406         maint.mk: Prohibit inclusion of "xalloc.h" without use.
36407         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
36408
36409 2009-11-14  John W. Eaton  <jwe@gnu.org>
36410
36411         strftime.h: wrap funtion declaration in extern "C" block
36412         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
36413
36414 2009-11-13  Eric Blake  <ebb9@byu.net>
36415
36416         getgroups: avoid compiler warning
36417         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
36418
36419         getgroups: work around FreeBSD bug
36420         * lib/getgroups.c (rpl_getgroups): Work around the bug.
36421         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
36422         * doc/posix-functions/getgroups.texi (getgroups): Document it.
36423         * tests/test-getgroups.c (main): Fix buffer overrun.
36424
36425         getgroups: avoid compilation failure
36426         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
36427         * modules/getgroups (Depends-on): Add stdint.
36428
36429 2009-11-13  Jim Meyering  <meyering@redhat.com>
36430
36431         test-getgroups: avoid compilation failure
36432         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
36433
36434 2009-11-13  Eric Blake  <ebb9@byu.net>
36435
36436         mgetgroups: new module, taken from coreutils
36437         * modules/mgetgroups: New file.
36438         * lib/mgetgroups.h: Likewise.
36439         * lib/mgetgroups.c (mgetgroups): Likewise.
36440         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
36441         * MODULES.html.sh (Users and groups): Mention it.
36442
36443         getgroups: don't expose GETGROUPS_T to user
36444         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
36445         an element at a time if GETGROUPS_T is wrong size.
36446         * lib/getugroups.h (getugroups): Change signature.
36447         * lib/unistd.in.h (getgroups): Likewise.
36448         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
36449         signature needs fixing.
36450         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
36451         AC_TYPE_GETGROUPS.
36452         * modules/group-member (Depends-on): Add getgroups.
36453         * lib/group-member.c (group_info, get_group_info): Use gid_t.
36454         (group_member): Rely on getgroups replacement.
36455         * lib/getugroups.c (getugroups): Use gid_t.
36456         * tests/test-getgroups.c (main): Likewise.
36457         * NEWS: Mention the signature change.
36458         * doc/posix-functions/getgroups.texi (getgroups): Mention the
36459         problem with signature.
36460         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
36461         GETGROUPS_T is still useful for setgroups.
36462
36463         getgroups, getugroups: provide stubs for mingw
36464         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
36465         * lib/getugroups.c (getugroups): Likewise.
36466         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
36467         function.  Modernize replacement scheme.
36468         (gl_PREREQ_GETGROUPS): Delete.
36469         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
36470         * modules/getgroups (configure.ac): Declare witness.
36471         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
36472         * modules/unistd (Depends-on): Substitute witness.
36473         * lib/unistd.in.h (getgroups): Declare replacement.
36474
36475         getgroups: avoid calling exit
36476         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
36477         drop xalloc.
36478         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
36479         dependencies.
36480         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
36481         exiting, in the rare case of malloc failure.
36482
36483         getgroups: fix logic error
36484         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
36485         has more than 20 groups.
36486         * modules/getgroups-tests: New test.
36487         * tests/test-getgroups.c: New file.
36488
36489 2009-11-13  Simon Josefsson  <simon@josefsson.org>
36490
36491         * tests/test-base64.c: Improve.
36492
36493 2009-11-13  Simon Josefsson  <simon@josefsson.org>
36494
36495         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
36496         Blake <ebb9@byu.net>.
36497
36498 2009-11-13  Simon Josefsson  <simon@josefsson.org>
36499
36500         * tests/test-xvasprintf.c: Add %s%s related checks.
36501
36502 2009-11-12  Eric Blake  <ebb9@byu.net>
36503
36504         version-etc: match standards.texi style
36505         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
36506         and use <> only for URLs.
36507
36508 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
36509
36510         fts: do not fail on a submount during traversal
36511         * lib/fts.c (fts_build): Read the stat info again after opening
36512         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
36513         Original report at http://bugzilla.redhat.com/501848.
36514
36515 2009-11-12  Jim Meyering  <meyering@redhat.com>
36516
36517         bootstrap: sync from coreutils
36518         * build-aux/bootstrap (bootstrap_epilogue): New function.
36519         Use git_modules_config in one more place.  This make bootstrap's
36520         --gnulib-srcdir option more useful for testing.
36521
36522         bootstrap: generalize autoheader check
36523         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
36524         AC_CONFIG_HEADERS.
36525
36526 2009-11-11  Eric Blake  <ebb9@byu.net>
36527
36528         mkfifoat: use new modules for Solaris and BSD bugs
36529         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
36530         * lib/mkfifoat.c (mknodat): Split...
36531         * lib/mknodat.c (mknodat): ...into new file.
36532         * modules/mkfifoat (Files): Ship new file.
36533         (Depends-on): Add mkfifo, mknod.
36534         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
36535         (Depends-on): Add symlink.
36536         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
36537         redundant with test_mkfifo.h.
36538         (do_mkfifoat, do_mknodat): New helpers.
36539
36540         mknod: new module
36541         * modules/mknod: New file.
36542         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
36543         * lib/mknod.c (mknod): Likewise.
36544         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
36545         defaults.
36546         * modules/sys_stat (Makefile.am): Substitute them.
36547         * lib/sys_stat.in.h (mknod): Declare replacement.
36548         * MODULES.html.sh (Support for systems lacking POSIX:2008):
36549         Document it.
36550         * doc/posix-functions/mknod.texi (mknod): Likewise.
36551         * modules/mknod-tests: New test.
36552         * tests/test-mknod.c: Likewise.
36553
36554         mkfifo: new module
36555         * modules/mkfifo: New file.
36556         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
36557         * lib/mkfifo.c (mkfifo): Likewise.
36558         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
36559         defaults.
36560         * modules/sys_stat (Makefile.am): Substitute them.
36561         * lib/sys_stat.in.h (mkfifo): Declare replacement.
36562         * MODULES.html.sh (Support for systems lacking POSIX:2008):
36563         Document it.
36564         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
36565         * modules/mkfifo-tests: New test.
36566         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
36567         from test-mkfifoat.c.
36568         * tests/test-mkfifo.c: New file.
36569
36570         readlink: detect FreeBSD bug
36571         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
36572         slash on symlink.
36573         * doc/posix-functions/readlink.texi (readlink): Document the bug.
36574         * tests/test-readlink.h (test_readlink): Enhance test.
36575
36576         symlink: detect FreeBSD bug
36577         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
36578         slash on symlink.
36579         * doc/posix-functions/symlink.texi (symlink): Document the bug.
36580         * tests/test-symlink.h (test_symlink): Enhance test.
36581
36582 2009-11-10  Eric Blake  <ebb9@byu.net>
36583
36584         link: detect FreeBSD bug
36585         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
36586         symlink.
36587         * doc/posix-functions/link.texi (link): Document the bug.
36588         * tests/test-link.h (test_link): Enhance test.
36589         * tests/test-linkat.c (main): Update caller.
36590
36591         unlink, remove: detect FreeBSD bug
36592         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
36593         slash on symlink.
36594         * doc/posix-functions/unlink.texi (unlink): Document the bug.
36595         * doc/posix-functions/remove.texi (remove): Likewise.
36596         * tests/test-unlink.h (test_unlink): Enhance test.
36597         * tests/test-remove.c (main): Likewise.
36598
36599 2009-11-09  Eric Blake  <ebb9@byu.net>
36600
36601         rename: detect FreeBSD bug
36602         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
36603         slash on symlink.
36604         * modules/renameat-tests (Depends-on): Add filenamecat.
36605         * tests/test-rename.h (test_rename): Allow one more errno.
36606         * tests/test-renameat.c (main): Likewise.
36607         * doc/posix-functions/rename.texi (rename): Document the bug.
36608
36609         open: detect FreeBSD bug
36610         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
36611         symlink.
36612         * doc/posix-functions/open.texi (open): Document the bug.
36613         * doc/posix-functions/utimes.texi (utimes): Likewise.
36614         * tests/test-open.h (test_open): Add parameters, and test symlink
36615         handling.
36616         * tests/test-open.c (main): Adjust caller.
36617         * tests/test-fcntl-safer.c (main): Likewise.
36618         * modules/open-tests (Depends-on): Add stdbool, symlink.
36619         * modules/fcntl-safer-tests (Depends-on): Likewise.
36620         * tests/test-openat.c (main): Add test-open tests.
36621
36622         stat: detect FreeBSD bug
36623         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
36624         symlink.
36625         * doc/posix-functions/stat.texi (stat): Document the bug.
36626         * tests/test-stat.h (test_stat_func): Add argument.
36627         * tests/test-stat.c (main): Adjust caller.
36628         * tests/test-fstatat.c (main): Likewise.
36629         * modules/stat-tests (Depends-on): Add stdbool, symlink.
36630         Reported by Jim Meyering.
36631
36632 2009-11-09  James Youngman  <jay@gnu.org>
36633
36634         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
36635         * lib/strftime.c: Correct placement of #include "ignore-value.h".
36636
36637 2009-11-08  Jim Meyering  <meyering@redhat.com>
36638
36639         utimens: remove invalid futimesat call
36640         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
36641         It used the file descriptor of the target file as the DIR_FD
36642         parameter and NULL as the file name.  That caused failure with
36643         errno == EFAULT on FreeBSD-8.0-rc2
36644
36645 2009-11-07  Eric Blake  <ebb9@byu.net>
36646
36647         fflush, freadseek: use fseeko, not fseek
36648         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
36649         (clear_ungetc_buffer): Avoid potential problems on large files.
36650         * lib/freadseek.c (freadseek): Likewise.
36651         * modules/freadseek (Depends-on): Add fseeko.
36652         * modules/fseek (configure.ac): Set a witness.
36653         * tests/test-fflush.c (main): Use fseeko.
36654         * tests/test-fpurge.c (fseek): Disable link warning.
36655         * tests/test-freadable.c (fseek): Likewise.
36656         * tests/test-freading.c (fseek): Likewise.
36657         * tests/test-fseeko.c (fseek): Likewise.
36658         * tests/test-ftell.c (fseek): Likewise.
36659         * tests/test-ftello.c (fseek): Likewise.
36660         * tests/test-fwritable.c (fseek): Likewise.
36661         * tests/test-fwriting.c (fseek): Likewise.
36662
36663 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36664
36665         * modules/memchr (Depends-on): Drop getpagesize dependency.
36666
36667 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36668
36669         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
36670         Reported by Ludovic Courtès.
36671         * build-aux/pmccabe2html: Improve example usage.
36672         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
36673
36674 2009-11-06  Jim Meyering  <meyering@redhat.com>
36675
36676         do-release-commit-and-tag: New module.
36677         Automate the release-commit and tag process.
36678         * build-aux/do-release-commit-and-tag: New script, from coreutils.
36679         * modules/do-release-commit-and-tag: New file.
36680         * MODULES.html.sh (Support for maintaining and releasing): Add it.
36681
36682 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36683
36684         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
36685         because test-select.c uses inet_pton.
36686
36687 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36688
36689         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
36690         GETADDRINFO_LIB.  Bump serial number.
36691         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
36692         Suggested by Eric Blake <ebb9@byu.net>.
36693
36694 2009-11-05  Eric Blake  <ebb9@byu.net>
36695
36696         strtod: detect darwin bug
36697         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
36698         Reported by Leo Davis.
36699
36700         freopen-safer: new module
36701         * modules/freopen-safer: New module.
36702         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
36703         * lib/freopen-safer.c (freopen_safer): New file.
36704         * lib/stdio-safer.h (freopen_safer): New declaration.
36705         * lib/stdio--.h (freopen): New override.
36706         * MODULES.html.sh (File stream based Input/Output): Mention it.
36707         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
36708         freopen-safer module.
36709         * doc/posix-functions/stderr.texi (stderr): Likewise.
36710         * doc/posix-functions/stdin.texi (stdin): Likewise.
36711         * doc/posix-functions/stdout.texi (stdout): Likewise.
36712         * modules/freopen-safer-tests: New test.
36713         * tests/test-reopen-safer.c: New file.
36714
36715 2009-11-05  Jim Meyering  <meyering@redhat.com>
36716
36717         maint.mk: Prohibit inclusion of "close-stream.h" without use.
36718         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
36719
36720 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36721
36722         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
36723
36724 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36725
36726         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
36727
36728 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36729
36730         Fix link error.
36731         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
36732         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
36733
36734 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36735
36736         * tests/test-func.c: Also test value of __func__.
36737
36738 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36739
36740         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
36741         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
36742
36743 2009-11-05  Bruno Haible  <bruno@clisp.org>
36744
36745         Fix link error.
36746         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
36747         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
36748         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
36749
36750 2009-11-05  Bruno Haible  <bruno@clisp.org>
36751
36752         Tests for module 'inet_pton'.
36753         * modules/inet_pton-tests: New file.
36754         * tests/test-inet_pton.c: New file.
36755
36756 2009-11-05  Bruno Haible  <bruno@clisp.org>
36757
36758         Tests for module 'inet_ntop'.
36759         * modules/inet_ntop-tests: New file.
36760         * tests/test-inet_ntop.c: New file.
36761
36762 2009-11-04  Eric Blake  <ebb9@byu.net>
36763
36764         stdlib-safer: wrap all mkstemp variants
36765         * modules/mkostemp (configure.ac): Set witness.
36766         * modules/mkostemps (configure.ac): Likewise.
36767         * modules/mkstemps (configure.ac): Likewise.
36768         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
36769         (mkstemps_safer): Wrap more functions.
36770         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
36771         wrapping.
36772         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
36773         (mkstemps_safer): Implement the wrappers.
36774
36775         mkstemps, mkostemps: new modules
36776         * modules/mkostemps: New module.
36777         * modules/mkstemps: Likewise.
36778         * lib/mkostemps.c (mkostemps): New file.
36779         * lib/mkstemps.c (mkstemps): Likewise.
36780         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
36781         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
36782         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
36783         * modules/stdlib (Makefile.am): Substitute them.
36784         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
36785         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
36786         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
36787         * doc/gnulib.texi (Glibc stdlib.h): Include them.
36788         * MODULES.html.sh (File system functions): Mention them.
36789
36790         tempname: resync from glibc
36791         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
36792         same values for __GT_FILE as glibc.  Abort even when assertions
36793         are disabled.
36794         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
36795         match its value otherwise.  Allow idempotent inclusion.
36796         * lib/mkdtemp.c (mkdtemp): Adjust caller.
36797         * lib/mkostemp.c (mkostemp): Likewise.
36798         * lib/mkstemp.c (mkstemp): Likewise.
36799         * lib/tmpfile.c (tmpfile): Likewise.
36800         * NEWS: Document this.
36801
36802         utimens: fix use of futimens on older Linux
36803         * lib/utimens.c (fdutimens): Use updated, rather than original,
36804         timespec to avoid bug in older Linux kernel.
36805         Reported by Simon Josefsson.
36806
36807 2009-11-04  Bruno Haible  <bruno@clisp.org>
36808
36809         Make num_processors more flexible and consistent.
36810         * lib/nproc.h (enum nproc_query): New type.
36811         (num_processors): Add a 'query' argument.
36812         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
36813         (num_processors): Add a 'query' argument. Test the value of the
36814         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
36815         mingw, count the number of CPUs available for the current process.
36816         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
36817         Check for sched_getaffinity and sched_getaffinity_np.
36818         * modules/nproc (Depends-on): Add c-ctype, extensions.
36819         * NEWS: Mention the change.
36820
36821 2009-11-03  Bruno Haible  <bruno@clisp.org>
36822
36823         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
36824
36825 2009-11-03  Jim Meyering  <meyering@redhat.com>
36826
36827         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
36828         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
36829         if it is defined.
36830
36831 2009-11-02  Eric Blake  <ebb9@byu.net>
36832
36833         mktime, timegm: share common declaration
36834         * lib/mktime-internal.h: New file.
36835         * lib/mktime.c: Use it rather than open-coding a declaration.
36836         * lib/timegm.c: Likewise.
36837         * modules/mktime (Files): Ship it.
36838         * modules/timegm (Files): Likewise.
36839         Suggested by Bruno Haible.
36840
36841         test-update-copyright: update test to match script changes
36842         * tests/test-update-copyright.sh: Avoid hard-coding perl
36843         location.  Don't update *.bak created by earlier runs.
36844
36845 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
36846             Simon Josefsson  <simon@josefsson.org>
36847             Bruno Haible  <bruno@clisp.org>
36848
36849         Fix link error on Solaris 8.
36850         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
36851         also in libnsl. Define also INET_PTON_LIB.
36852         * modules/inet_pton (Link): New section.
36853
36854 2009-11-02  Simon Josefsson  <simon@josefsson.org>
36855             Bruno Haible  <bruno@clisp.org>
36856
36857         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
36858         * modules/inet_ntop (Link): New section.
36859         Reported by Boyan Kasarov <bkasarov@gmail.com>.
36860
36861 2009-11-02  Eric Blake  <ebb9@byu.net>
36862
36863         maint: avoid compiler warnings in m4 macros
36864         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
36865         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
36866
36867 2009-11-02  Simon Josefsson  <simon@josefsson.org>
36868
36869         * m4/pmccabe2html.m4: Remove file.
36870         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
36871         function.  Change maintainer.
36872         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
36873         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
36874         Courtès).
36875
36876 2009-10-31  Eric Blake  <ebb9@byu.net>
36877
36878         fseeko: fix m4 regression
36879         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
36880         regression from 2009-10-27.
36881         Reported by Ralf Wildenhues.
36882
36883 2009-10-31  Jim Meyering  <meyering@redhat.com>
36884
36885         inttostr: aesthetics and improved (compile-time) safety
36886         Define inttype_is_signed rather than inttype_is_unsigned,
36887         since the sole use is via "#if inttype_is_signed".
36888         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
36889         inttype_is_unsigned.
36890         * lib/offtostr.c (inttype_is_signed): Likewise.
36891         * lib/uinttostr.c (inttype_is_signed): Likewise.
36892         * lib/umaxtostr.c (inttype_is_signed): Likewise.
36893         * lib/inttostr.c (inttostr): Use verify to cross-check the
36894         inttype_is_signed value and the signedness of the actual type.
36895         * modules/inttostr (Depends-on): Add verify.
36896
36897 2009-10-30  Eric Blake  <ebb9@byu.net>
36898
36899         build: avoid compiler warnings
36900         * lib/fchmodat.c (lchmod): Mark unused variables.
36901         * lib/getopt.c (_getopt_initialize): Likewise.
36902         * lib/mktime.c (__mktime_internal): Provide prototype.
36903         * lib/inttostr.c (inttostr): Avoid compiler warning even with
36904         older gcc that do not understand #pragma GCC diagnostic.
36905         * lib/uinttostr.c (inttype_is_unsigned): Define.
36906         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
36907
36908 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
36909
36910         stat: fix compilation on AIX
36911         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
36912         only see struct stat64.
36913
36914 2009-10-30  Eric Blake  <ebb9@byu.net>
36915
36916         exclude: make more robust
36917         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
36918         rather than masking a coding bug.
36919         Suggested by Bruno Haible.
36920
36921 2009-10-30  Jim Meyering  <meyering@redhat.com>
36922
36923         perl scripts: remove #!/usr/bin/perl in favor of more portable...
36924         Rather than putting #!/usr/bin/perl on the first line,
36925         start with a variant of what's recommended by "man perlrun" that
36926         invokes the first "perl" program from your shell's search path.
36927         * build-aux/gitlog-to-changelog: Replace #!... as above.
36928         Add a "Local Variables" perl mode setting.
36929         Prompted by a patch from Ludovic Courtès.
36930         Improved by Eric Blake.
36931         * build-aux/useless-if-before-free: Likewise.
36932         * build-aux/announce-gen: Likewise.
36933         * build-aux/update-copyright: Likewise.
36934
36935 2009-10-29  Eric Blake  <ebb9@byu.net>
36936
36937         filenamecat-lgpl: adjust clients
36938         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
36939         filenamecat.
36940         * modules/renameat (Depends-on): Likewise.
36941
36942         filenamecat: split into filenamecat-lgpl
36943         * modules/filenamecat-lgpl: New module.
36944         * modules/filenamecat (Files): Move library-safe files into
36945         filenamecat-lgpl.
36946         (Depends-on): Add filenamecat-lgpl.
36947         (configure.ac): Declare witness.
36948         * lib/filenamecat.h (file_name_concat): Only declare when using
36949         GPL module.
36950         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
36951         Move...
36952         * lib/filenamecat-lgpl.c: ...into new file.
36953         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
36954         (gl_FILE_NAME_CONCAT): Use it.
36955         * MODULES.html.sh (File system functions): Mention new module.
36956
36957         argp: avoid memory leak
36958         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
36959         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
36960         base_name, since the latter malloc()s and can call exit().
36961         Leak introduced 2006-07-03.
36962
36963         dirname-lgpl: adjust clients that don't need full dirname
36964         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
36965         * modules/filenamecat (Depends-on): Likewise.
36966         * modules/linkat (Depends-on): Likewise.
36967         * modules/mkancesdirs (Depends-on): Likewise.
36968         * modules/mkdir (Depends-on): Likewise.
36969         * modules/openat (Depends-on): Likewise.
36970         * modules/savewd (Depends-on): Likewise.
36971         * modules/rename (Depends-on): Likewise.
36972         (License): Relax license.
36973         * modules/mkdir-tests (Depends-on): Drop progname.
36974         (Makefile.am): Delete unneeded LDADD.
36975         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
36976
36977         dirname: split into dirname-lgpl
36978         * modules/dirname-lgpl: New module.
36979         * modules/dirname (Files): Move library-safe files into
36980         dirname-lgpl.
36981         (Depends-on): Add dirname-lgpl.
36982         (configure.ac): Declare witness.
36983         * modules/double-slash-root (License): Relax license.
36984         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
36985         module.
36986         * lib/dirname.c (dir_len, mdir_name): Move...
36987         * lib/dirname-lgpl.c: ...into new file.
36988         * lib/basename.c (last_component, base_len): Move...
36989         * lib/basename-lgpl.c: ...into new file.
36990         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
36991         (gl_DIRNAME): Use it.
36992         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
36993         Mention new module.
36994         * modules/dirname-tests (Depends-on): Add progname.
36995         * tests/test-dirname.c (program_name): Delete.
36996
36997         mkdir: make safe for libraries
36998         * modules/mkdir (Depends-on): Drop xalloc.
36999         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
37000         exit.
37001
37002         tests: avoid some compiler warnings
37003         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
37004         literals.
37005         * tests/test-memchr.c (main): Avoid type mismatch.
37006         * tests/test-arpa_inet.c (main): Avoid unused parameters.
37007         * tests/test-base64.c (main): Likewise.
37008         * tests/test-getdelim.c (main): Likewise.
37009         * tests/test-gethostname.c (main): Likewise.
37010         * tests/test-getline.c (main): Likewise.
37011         * tests/test-netinet_in.c (main): Likewise.
37012         * tests/test-select.c (open_server_socket, main): Likewise.
37013         * tests/test-select-stdin.c (main): Likewise.
37014         * tests/test-sockets.c (main): Likewise.
37015         * tests/test-strsignal.c (main): Likewise.
37016         * tests/test-sys_select.c (main): Likewise.
37017         * tests/test-sys_socket.c (main): Likewise.
37018         * tests/test-u64.c (main): Likewise.
37019         * tests/test-xfprintf-posix.c (main): Likewise.
37020         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
37021
37022         sockets: avoid compiler warning
37023         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
37024
37025         maint: detect usage(1) and other suspicious exits
37026         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
37027
37028 2009-10-29  Jim Meyering  <meyering@redhat.com>
37029
37030         timespec: long-to-int truncation could make timespec_cmp malfunction
37031         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
37032         a multiple of 2^32 nanoseconds as no difference.
37033
37034 2009-10-28  Jim Meyering  <meyering@redhat.com>
37035
37036         fprintftime: wrap macro code argument in "do {...} while(0)"
37037         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
37038         cpy macro must be a statement that can be followed by a semicolon.
37039         Now that the else clause contains a comment and is hence longer
37040         than one line, I require curly braces.  That in turn requires
37041         that we wrap this code block in the standard do...while(0).
37042
37043         fprintftime: remove stray semicolon from previous change
37044         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
37045
37046         fprintftime: avoid a warning about ignored fwrite return value
37047         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
37048         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
37049         that is unsafe.
37050         * modules/fprintftime (Depends-on): Add ignore-value.
37051
37052         exclude: avoid an unwarranted warning
37053         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
37054
37055 2009-10-27  Eric Blake  <ebb9@byu.net>
37056
37057         fseek: avoid compilation failure when fflush is replaced
37058         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
37059         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
37060         module is in use.
37061         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
37062         module is not in use; since REPLACE_FSEEK worked otherwise.
37063         (GNULIB_FTELLO): Likewise for ftell.
37064         Reported by Ian Beckwith and others.
37065
37066 2009-10-27  Bruno Haible  <bruno@clisp.org>
37067
37068         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
37069         Reported by Jim Meyering.
37070
37071 2009-10-27  Jim Meyering  <jim@meyering.net>
37072             Bruno Haible  <bruno@clisp.org>
37073
37074         Avoid warning despite dropping the return value of fwrite.
37075         * lib/unicodeio.c: Include ignore-value.h.
37076         (fwrite_success_callback): Explicitly ignore fwrite's return value.
37077         * modules/unicodeio (Depends-on): Add ignore-value.
37078
37079 2009-10-26  Eric Blake  <ebb9@byu.net>
37080
37081         areadlinkat: fix fallback path
37082         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
37083         pointer and zero.
37084
37085 2009-10-22  Pádraig Brady  <P@draigBrady.com>
37086
37087         Use a better IO block size for modern systems
37088         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
37089         * lib/md2.c: Likewise.
37090         * lib/md4.c: Likewise.
37091         * lib/md5.c: Likewise.
37092         * lib/sha1.c: Likewise.
37093         * lib/sha256.c: Likewise.
37094         * lib/sha512.c: Likewise.
37095
37096 2009-10-22  Eric Blake  <ebb9@byu.net>
37097
37098         tests: avoid several compiler warnings
37099         * tests/test-getcwd.c (main): Avoid buffer underflow.
37100         * tests/test-getdate.c (main): String literals are not safe with
37101         putenv, so use setenv.  Declare unused argument.
37102         * modules/getdate-tests (Depends-on): Add setenv.
37103         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
37104         problems with string literals in char *.
37105         * tests/test-hash.c (main): Avoid shadowing declaration.
37106         (insert_new): Treat string literals as char const *.
37107         * tests/test-getopt.h (test_getopt): Likewise.
37108         (getopt_loop): Alter types to minimize casting elsewhere.
37109         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
37110         (test_getopt_long_posix): Likewise.
37111         (do_getopt_long): Add wrapper to minimize casting.
37112         * tests/test-atexit.c (clear_temp_file): Use void.
37113         * tests/test-areadlink-with-size.c (main): Declare unused
37114         arguments.
37115         * tests/test-areadlink.c (main): Likewise.
37116         * tests/test-areadlinkat-with-size.c (main): Likewise.
37117         * tests/test-areadlinkat.c (main): Likewise.
37118         * tests/test-canonicalize-lgpl.c (main): Likewise.
37119         * tests/test-canonicalize.c (main): Likewise.
37120         * tests/test-dirent-safer.c (main): Likewise.
37121         * tests/test-dirname.c (main): Likewise.
37122         * tests/test-dup2.c (main): Likewise.
37123         * tests/test-fchdir.c (main): Likewise.
37124         * tests/test-fcntl-h.c (main): Likewise.
37125         * tests/test-fcntl-safer.c (main): Likewise.
37126         * tests/test-fdopendir.c (main): Likewise.
37127         * tests/test-fdutimensat.c (main): Likewise.
37128         * tests/test-fflush.c (main): Likewise.
37129         * tests/test-filenamecat.c (main): Likewise.
37130         * tests/test-filevercmp.c (main): Likewise.
37131         * tests/test-fopen-safer.c (main): Likewise.
37132         * tests/test-fopen.c (main): Likewise.
37133         * tests/test-fpending.c (main): Likewise.
37134         * tests/test-fpurge.c (main): Likewise.
37135         * tests/test-freading.c (main): Likewise.
37136         * tests/test-fstatat.c (main): Likewise.
37137         * tests/test-fsync.c (main): Likewise.
37138         * tests/test-futimens.c (main): Likewise.
37139         * tests/test-getndelim2.c (main): Likewise.
37140         * tests/test-gettimeofday.c (main): Likewise.
37141         * tests/test-getopt.c (main): Likewise.
37142         * tests/test-i-ring.c (main): Likewise.
37143         * tests/test-inttypes.c (main): Likewise.
37144         * tests/test-link.c (main): Likewise.
37145         * tests/test-lstat.c (main): Likewise.
37146         * tests/test-math.c (main): Likewise.
37147         * tests/test-md5.c (main): Likewise.
37148         * tests/test-memchr2.c (main): Likewise.
37149         * tests/test-memrchr.c (main): Likewise.
37150         * tests/test-mkdir.c (main): Likewise.
37151         * tests/test-mkdirat.c (main): Likewise.
37152         * tests/test-mkfifoat.c (main): Likewise.
37153         * tests/test-open.c (main): Likewise.
37154         * tests/test-openat-safer.c (main): Likewise.
37155         * tests/test-openat.c (main): Likewise.
37156         * tests/test-quotearg.c (main): Likewise.
37157         * tests/test-rawmemchr.c (main): Likewise.
37158         * tests/test-readlink.c (main): Likewise.
37159         * tests/test-remove.c (main): Likewise.
37160         * tests/test-rename.c (main): Likewise.
37161         * tests/test-renameat.c (main): Likewise.
37162         * tests/test-rmdir.c (main): Likewise.
37163         * tests/test-sha1.c (main): Likewise.
37164         * tests/test-signal.c (main): Likewise.
37165         * tests/test-sigaction.c (main): Likewise.
37166         * tests/test-stat.c (main): Likewise.
37167         * tests/test-stat-time.c (main): Likewise.
37168         * tests/test-stddef.c (main): Likewise.
37169         * tests/test-stdint.c (main): Likewise.
37170         * tests/test-stdio.c (main): Likewise.
37171         * tests/test-stdlib.c (main): Likewise.
37172         * tests/test-strchrnul.c (main): Likewise.
37173         * tests/test-strerror.c (main): Likewise.
37174         * tests/test-string.c (main): Likewise.
37175         * tests/test-strtod.c (main): Likewise.
37176         * tests/test-strverscmp.c (main): Likewise.
37177         * tests/test-symlink.c (main): Likewise.
37178         * tests/test-symlinkat.c (main): Likewise.
37179         * tests/test-sys_stat.c (main): Likewise.
37180         * tests/test-sys_time.c (main): Likewise.
37181         * tests/test-time.c (main): Likewise.
37182         * tests/test-unistd.c (main): Likewise.
37183         * tests/test-unlink.c (main): Likewise.
37184         * tests/test-unlinkat.c (main): Likewise.
37185         * tests/test-utimens.c (main): Likewise.
37186         * tests/test-utimensat.c (main): Likewise.
37187         * tests/test-version-etc.c (main): Likewise.
37188         * tests/test-wchar.c (main): Likewise.
37189         * tests/test-wctype.c (main): Likewise.
37190         * tests/test-xprintf-posix.c (main): Likewise.
37191         * tests/test-posixtm.c (main): Likewise.
37192         (STREQ): Delete unused macro.
37193         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
37194         shadowed variables.
37195         * tests/test-memchr.c (main): Likewise.
37196
37197 2009-10-21  Eric Blake  <ebb9@byu.net>
37198
37199         areadlinkat: avoid failure on older glibc
37200         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
37201         rather than mis-comparing 0 against FUNC_RESULT of char*.
37202
37203 2009-10-21  Bruno Haible  <bruno@clisp.org>
37204
37205         * modules/stpncpy (License): Relicense under LGPLv2+.
37206         Reported by David Lutterkort <lutter@redhat.com>.
37207
37208 2009-10-20  Eric Blake  <ebb9@byu.net>
37209
37210         utimensat: work around Solaris 9 bug
37211         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
37212         has trailing slash bugs.
37213         * tests/test-lutimens.h (test_lutimens): Enhance test.
37214         * tests/test-utimens.h (test_utimens): Likewise.
37215         * doc/posix-functions/utime.texi (utime): Enhance documentation.
37216         * doc/posix-functions/utimes.texi (utimes): Likewise.
37217         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37218         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
37219         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
37220         * doc/posix-functions/futimens.texi (futimens): Likewise.
37221
37222         fdutimensat: new module
37223         * modules/fdutimensat: New file.
37224         * lib/fdutimensat.c (fdutimensat): Likewise.
37225         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
37226         * MODULES.html.sh (File system functions): Mention module.
37227         * modules/fdutimensat-tests: New test.
37228         * tests/test-fdutimensat.c: Likewise.
37229
37230         doc: regenerate INSTALL
37231         * doc/INSTALL: Reflect recent autoconf update.
37232         * doc/INSTALL.ISO: Likewise.
37233         * doc/INSTALL.UTF-8: Likewise.
37234
37235 2009-10-20  Pádraig Brady  <P@draigBrady.com>
37236
37237         acl: warn if ACL support is not detected
37238         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
37239
37240 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
37241
37242         * lib/nproc.h: Add extern "C" block for C++.
37243
37244 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
37245             Bruno Haible  <bruno@clisp.org>
37246
37247         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
37248         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
37249         * doc/posix-functions/isalpha.texi: Likewise.
37250         * doc/posix-functions/isblank.texi: Likewise.
37251         * doc/posix-functions/iscntrl.texi: Likewise.
37252         * doc/posix-functions/isdigit.texi: Likewise.
37253         * doc/posix-functions/isgraph.texi: Likewise.
37254         * doc/posix-functions/islower.texi: Likewise.
37255         * doc/posix-functions/isprint.texi: Likewise.
37256         * doc/posix-functions/ispunct.texi: Likewise.
37257         * doc/posix-functions/isspace.texi: Likewise.
37258         * doc/posix-functions/isupper.texi: Likewise.
37259         * doc/posix-functions/isxdigit.texi: Likewise.
37260
37261 2009-10-18  Bruno Haible  <bruno@clisp.org>
37262
37263         Tests for module 'isblank'.
37264         * modules/isblank-tests: New file.
37265         * tests/test-isblank.c: New file.
37266
37267         New module 'isblank'.
37268         * lib/isblank.c: New file.
37269         * m4/isblank.m4: New file.
37270         * modules/isblank: New file.
37271         * doc/posix-functions/isblank.texi: Mention the new module.
37272
37273 2009-10-18  Bruno Haible  <bruno@clisp.org>
37274
37275         New module 'ctype'.
37276         * lib/ctype.in.h: New file.
37277         * m4/ctype.m4: New file.
37278         * modules/ctype: New file.
37279         * doc/posix-headers/ctype.texi: Mention the new module.
37280
37281 2009-10-18  Jim Meyering  <meyering@redhat.com>
37282
37283         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
37284         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
37285         right after its initialization, rather than farther down.
37286         Keeping these in close proximity makes it easier to ensure
37287         that each such variable is initialized.  E.g.,
37288
37289             LIB_CLOCK_GETTIME=
37290             AC_SUBST([LIB_CLOCK_GETTIME])
37291
37292         This change also increments these serial numbers.
37293         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
37294         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
37295         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
37296
37297 2009-10-18  Bruno Haible  <bruno@clisp.org>
37298
37299         Don't let environment variables perturb build.
37300         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
37301         (gl_PREREQ_GETHRXTIME): ... not here.
37302
37303 2009-10-18  Bruno Haible  <bruno@clisp.org>
37304
37305         Avoid symlink attack in localcharset module.
37306         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
37307         (O_NOFOLLOW): Define fallback.
37308         (get_charset_aliases): Don't open the file if it is a symbolic link.
37309         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
37310         gl_FCNTL_H.
37311         (gl_FCNTL_H): Require it.
37312         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
37313         * modules/localcharset (Files): Add m4/fcntl_h.m4.
37314         Reported by Fergal Glynn <fglynn@veracode.com>.
37315
37316 2009-10-18  Bruno Haible  <bruno@clisp.org>
37317
37318         Implement nproc for mingw.
37319         * lib/nproc.c: Include <windows.h>
37320         (num_processors): On native Windows platforms, try GetSystemInfo.
37321
37322 2009-10-18  Bruno Haible  <bruno@clisp.org>
37323
37324         Implement nproc for IRIX.
37325         * lib/nproc.c: Include <sys/sysmp.h>.
37326         (num_processors): On IRIX systems, try sysmp.
37327         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
37328
37329 2009-10-18  Bruno Haible  <bruno@clisp.org>
37330
37331         Implement nproc for HP-UX.
37332         * lib/nproc.c: Include <sys/pstat.h>
37333         (num_processors): On HP-UX systems, try pstat_getdynamic.
37334         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
37335         pstat_getdynamic.
37336
37337 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
37338             Bruno Haible  <bruno@clisp.org>
37339
37340         Implement nproc for NetBSD, OpenBSD.
37341         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
37342         (ARRAY_SIZE): New macro.
37343         (num_processors): On BSD systems, try sysctl of HW_NCPU.
37344         * m4/nproc.m4: New file.
37345         * modules/nproc (Files): Add m4/nproc.m4.
37346         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
37347         (Makefile.am): Instead, augment lib_SOURCES.
37348
37349 2009-10-18  Bruno Haible  <bruno@clisp.org>
37350
37351         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
37352         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
37353         sys/param.h.
37354
37355 2009-10-16  Eric Blake  <ebb9@byu.net>
37356
37357         utimensat: new module
37358         * modules/utimensat: New file.
37359         * lib/utimensat.c (utimensat): Likewise.
37360         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37361         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
37362         so we can work around Linux bugs.
37363         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37364         * modules/sys_stat (Makefile.am): Substitute them.
37365         * lib/sys_stat.in.h (utimensat): Declare it.
37366         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37367         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37368         * modules/utimensat-tests: New test.
37369         * tests/test-utimensat.c: Likewise.
37370
37371         utimens: let lutimens work on non-symlinks
37372         * lib/utimens.c (lutimens): Fall back to utimens rather than
37373         failing with ENOSYS, when file is not a symlink.
37374         (utimens): Reduce redirection.
37375         * tests/test-lutimens.h (test_lutimens): Update test to cover
37376         non-symlinks.
37377         * tests/test-utimens.h (test_utimens): Update test to cover
37378         symlinks.
37379         * tests/test-utimens.c (main): Update caller.
37380
37381         utimens: cache whether utimensat syscall works
37382         * lib/utimens.c (utimensat_works_really): New cache variable.
37383         (fdutimens, lutimens): Use it to avoid failing syscall.
37384
37385         test-stat-time, test-utimens: improve portability
37386         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
37387         ext4 on alpha, and for cygwin.
37388         * tests/test-utimens-common.h: New file.
37389         (nap): Factor delays into single function.
37390         * tests/test-lutimens.h (test_lutimens): Use new header.
37391         * tests/test-futimens.h (test_futimens): Likewise.
37392         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
37393         timestamps to occur from same machine, as was done previously for
37394         test_utimens.
37395         * modules/utimens-tests (Files): Ship new file.
37396         * modules/futimens-tests (Files): Likewise.
37397         Reported in part by Jim Meyering.
37398
37399         sys_stat: sort replacement declarations
37400         * lib/sys_stat.in.h: Sort declarations.
37401         * lib/futimens.c (futimens): Fix typo.
37402
37403 2009-10-15  Jim Meyering  <meyering@redhat.com>
37404
37405         don't let environment settings perturb build
37406         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
37407         could cause a configure-time and/or build-time malfunction.
37408         Typically, a configure-time function-in-library test is performed
37409         via code like this:
37410
37411           LIB_VAR=
37412           AC_SUBST([LIB_VAR])
37413           prefix_saved_LIBS=$LIBS
37414             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
37415                        [test "$ac_cv_search_FUNC" = "none required" ||
37416                         LIB_VAR=$ac_cv_search_FUNC])
37417           LIBS=$prefix_saved_LIBS
37418
37419         However, in each of the files affected by this change, the LIB_VAR=
37420         initialization was omitted.  Thus, when set in the environment, its
37421         value would propagate into generated Makefiles when FUNC is not found
37422         in LIB_NAME.
37423         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
37424         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
37425         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
37426
37427 2009-10-14  Eric Blake  <ebb9@byu.net>
37428
37429         fchdir: avoid infinite recursion in mingw
37430         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
37431         recursing.
37432
37433         test-stat-time: port to mingw
37434         * tests/test-stat-time.c (force_unlink): Return a value.
37435         (test_ctime) [W32]: Fix compilation error.
37436         (nap): Don't call usleep with too large an argument.  Use
37437         force_unlink.
37438         * doc/pastposix-functions/usleep.texi (usleep): Document the
37439         portability issue.
37440
37441 2009-10-13  Jim Meyering  <meyering@redhat.com>
37442
37443         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
37444         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
37445         * modules/pipe-filter-ii: Likewise.
37446         * modules/sys_socket-tests: Likewise.
37447         * modules/tsearch-tests: Likewise.
37448         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
37449         (check): Depend on it.
37450
37451 2009-10-12  Eric Blake  <ebb9@byu.net>
37452
37453         utimens-tests: port to NFS file systems
37454         * tests/test-utimens.h (test_utimens): Refactor utimecmp
37455         comparisons to avoid spurious failures from timestamp drift
37456         between NFS machines.
37457
37458 2009-10-12  Eric Blake  <ebb9@byu.net>
37459
37460         stat-time-tests: minor cleanups
37461         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
37462         * tests/test-stat-time.c (nap): Separate assignment from call.
37463         Suggested by Paolo Bonzini and Bruno Haible.
37464
37465         sys_stat: guarantee struct timespec
37466         * lib/sys_stat.in.h (includes): Always include <time.h>
37467         * modules/sys_stat (Depends-on): Add time.
37468         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
37469         mode_t permission values.
37470         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
37471         get at subsecond timestamps.
37472
37473 2009-10-10  Eric Blake  <ebb9@byu.net>
37474
37475         futimens: new module
37476         * modules/futimens: New file.
37477         * lib/futimens.c (futimens): Likewise.
37478         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
37479         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
37480         we can work around Linux bugs.
37481         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37482         * modules/sys_stat (Makefile.am): Substitute them.
37483         * lib/sys_stat.in.h (futimens): Declare it.
37484         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37485         * doc/posix-functions/futimens.texi (futimens): Likewise.
37486         * modules/futimens-tests: New test.
37487         * tests/test-futimens.c: Likewise.
37488
37489         utimens: introduce fdutimens
37490         * lib/utimens.h (fdutimens): New prototype.
37491         * lib/utimens.c (gl_futimens): Move guts...
37492         (fdutimens): ...to new interface.
37493         * tests/test-utimens.c (do_fdutimens): Use it.
37494
37495         utimens: add UTIME_NOW and UTIME_OMIT support
37496         * lib/utimens.c (validate_timespec, update_timespec): New helper
37497         functions.
37498         (gl_futimens, lutimens): Use them.
37499         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
37500         stdbool, sys_stat.
37501         (Link): Mention resulting library dependency.
37502         * modules/utimecmp (Link): Likewise.
37503         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
37504         (Makefile.am): Pick up library dependency.
37505         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
37506         definition.
37507         * tests/test-sys_stat.c: Test the definitions.
37508         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
37509         * NEWS: Document library dependency.
37510
37511         utimecmp: support symlink timestamps
37512         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
37513         hashing when possible.  Use pathconf when available.
37514         (SYSCALL_RESOLUTION): Recognize tighter resolution.
37515         * modules/utimecmp (Depends-on): Add lstat.
37516
37517         utimens: add lutimens interface
37518         * lib/utimens.c (lutimens): New function.
37519         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
37520         * lib/utimens.h (lutimens): Declare new interface.
37521         * tests/test-utimens.c (main): Enhance test.
37522         * tests/test-lutimens.h (test_lutimens): New file.
37523         * modules/utimens-tests (Files): Distribute it.
37524         (Depends-on): Add symlink.
37525         (configure.ac): Check for usleep.
37526
37527         utimens: validate futimens usage
37528         * lib/utimens.c (gl_futimens): Require valid fd up front, using
37529         fewer syscalls on failure later on.  Avoid compiler warning on
37530         mingw.
37531         * modules/utimens (Depends-on): Add dup2.
37532
37533         utimens: add test
37534         * modules/utimens-tests: New test.
37535         * tests/test-utimens.h: New file.
37536         * tests/test-futimens.h: Likewise.
37537         * tests/test-utimens.c: Likewise.
37538
37539         doc: mention timestamp portability issues
37540         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
37541         instead.
37542         * doc/posix-functions/utime.texi (utime): Likewise.
37543         * doc/posix-functions/utimes.texi (utimes): Likewise.
37544         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
37545         instead.
37546         * doc/posix-functions/futimens.texi (futimens): Mention utimens
37547         module.
37548         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37549         Mention weakness with symlink timestamps.
37550         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
37551         to utimensat/futimens instead.
37552         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
37553
37554         test-dup2: enhance test
37555         * tests/test-dup2.c (main): Also check AT_FDCWD.
37556
37557         test-stat-time: avoid more spurious failures
37558         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
37559         xfs; and avoid race if the two timestamps cross quantization edge.
37560
37561         relocatable: prefer 'file system' over 'filesystem'
37562         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
37563         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
37564         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
37565         * doc/relocatable.texi (Enabling Relocatability): Likewise.
37566         * lib/relocatable.c (compute_curr_prefix): Likewise.
37567
37568 2009-10-10  Jim Meyering  <meyering@redhat.com>
37569
37570         stat-time-tests: check for the usleep function
37571         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
37572
37573 2009-10-10  Bruno Haible  <bruno@clisp.org>
37574
37575         * modules/xnanosleep: Put the Link section after the Include section.
37576
37577 2009-10-09  Eric Blake  <ebb9@byu.net>
37578
37579         dup2: work around FreeBSD 6.1 bug
37580         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
37581         * doc/posix-functions/dup2.texi (dup2): Document it.
37582         Reported by Nelson H. F. Beebe and Jim Meyering.
37583
37584         test-stat-time: port to buggy NFS clients
37585         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
37586         (test_ctime): Also skip test if mtime and ctime are skewed.
37587
37588         maint: prefer 'file system' over 'filesystem'
37589         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
37590         * doc/posix-functions/lstat.texi (lstat): Likewise.
37591         * lib/file-has-acl.c (file_has_acl): Likewise.
37592         * lib/fwriteerror.c [TEST]: Likewise.
37593         * tests/test-areadlink.h (test_areadlink): Likewise.
37594         * tests/test-areadlinkat-with-size.c (main): Likewise.
37595         * tests/test-areadlinkat.c (main): Likewise.
37596         * tests/test-canonicalize-lgpl.c (main): Likewise.
37597         * tests/test-canonicalize.c (main): Likewise.
37598         * tests/test-fstatat.c (main): Likewise.
37599         * tests/test-linkat.c (main): Likewise.
37600         * tests/test-lstat.h (test_lstat_func): Likewise.
37601         * tests/test-mkdir.h (test_mkdir): Likewise.
37602         * tests/test-readlink.h (test_readlink): Likewise.
37603         * tests/test-remove.c (main): Likewise.
37604         * tests/test-rename.h (test_rename): Likewise.
37605         * tests/test-renameat.c (main): Likewise.
37606         * tests/test-rmdir.h (test_rmdir_func): Likewise.
37607         * tests/test-symlink.h (test_symlink): Likewise.
37608         * tests/test-symlinkat.c (main): Likewise.
37609         * tests/test-unlink.h (test_unlink_func): Likewise.
37610         * tests/test-unlinkat.c (main): Likewise.
37611
37612         maint: make realtime library usage explicit
37613         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
37614         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
37615         * modules/settime (Link): Likewise.
37616         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
37617
37618         test-stat-time: speed up execution
37619         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
37620         warning on mingw.
37621         (nap): New helper function.
37622         (prepare_test): Use it to reduce sleep time.
37623         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
37624         execution.
37625         * modules/stat-time-tests (configure.ac): Check for usleep.
37626
37627 2009-10-09  Jim Meyering  <meyering@redhat.com>
37628
37629         selinux-h: always use getfilecon wrappers
37630         * lib/getfilecon.c: New file.
37631         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
37632         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
37633         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
37634         (fgetfilecon): Provide a stub.
37635         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
37636         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
37637         file unconditionally.
37638         When <selinux/selinux.h> is found, arrange to use wrappers.
37639         * modules/selinux-h (Files): Add getfilecon.c.
37640         (Makefile.am): Substitute include-next-related bits
37641         into the now-always-generated selinux/selinux.h file.
37642         * doc/glibc-functions/lgetfilecon.texi: New file.
37643         * doc/glibc-functions/fgetfilecon.texi: New file.
37644         * doc/glibc-functions/getfilecon.texi: New file.
37645         * doc/glibc-functions/getfilecon-desc.texi: New file.
37646         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
37647         which to pull in the new files.
37648         * MODULES.html.sh (Misc): Add selinux-h.
37649
37650 2009-10-08  Jim Meyering  <meyering@redhat.com>
37651
37652         unistd: fix comment typo
37653         * lib/unistd.in.h (euidaccess): Fix a comment typo.
37654
37655 2009-10-08  Eric Blake  <ebb9@byu.net>
37656
37657         areadlink: use SIZE_MAX consistently
37658         * modules/areadlink (Depends-on): Add stdint.
37659         * modules/areadlink-with-size (Depends-on): Likewise.
37660         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
37661         gives NULL; drop sys/types, since unistd gives size_t; and add
37662         stdint for SIZE_MAX.
37663         (SIZE_MAX): Rely on headers.
37664         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
37665         and add stdint.
37666         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
37667         (SIZE_MAX): Likewise.
37668         (INITIAL_BUF_SIZE): Turn into enum.
37669         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
37670
37671 2009-10-08  Jim Meyering  <meyering@redhat.com>
37672
37673         areadlinkat: avoid compilation failure
37674         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
37675         Fix typo in comment.
37676
37677 2009-10-07  Eric Blake  <ebb9@byu.net>
37678
37679         areadlinkat-with-size: new module
37680         * modules/areadlinkat-with-size: New module.
37681         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
37682         * lib/areadlink.h (areadlinkat): Declare it.
37683         * MODULES.html.sh (File system functions): Mention it.
37684         * modules/areadlinkat-with-size-tests: New test.
37685         * tests/test-areadlinkat-with-size.c: New file.
37686
37687         xreadlinkat: new module
37688         * modules/xreadlinkat: New module.
37689         * lib/xreadlinkat.c (xreadlinkat): New file.
37690         * lib/xreadlink.h (xreadlinkat): Declare it.
37691         * MODULES.html.sh (File system functions): Mention it.
37692
37693         areadlinkat: new module
37694         * lib/at-func.c (FUNC_FAIL): New define.
37695         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
37696         * modules/areadlinkat: New module.
37697         * lib/linkat.c (areadlinkat): Move...
37698         * lib/areadlinkat.c (areadlinkat): ...to new file.
37699         * lib/areadlink.h (areadlinkat): Declare it.
37700         * modules/linkat (Depends-on): Add areadlinkat.
37701         * MODULES.html.sh (File system functions): Mention it.
37702         * modules/areadlinkat-tests: New test.
37703         * tests/test-areadlinkat.c: New file.
37704
37705         areadlink, areadlink-with-size: add tests
37706         * modules/areadlink-tests: New test.
37707         * modules/areadlink-with-size-tests: Likewise.
37708         * tests/test-areadlink.h: New file.
37709         * tests/test-areadlink.c: Likewise.
37710         * tests/test-areadlink-with-size.c: Likewise.
37711
37712         maint: minor cleanups
37713         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
37714         _UNUSED_PARAMETER_ instead.
37715         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
37716         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
37717         * modules/linkat-tests (Files): Distribute test-link.h.
37718
37719         openat, utimens: whitespace cleanup
37720         * lib/openat.c: Prefer space throughout, rather than mix of 8
37721         spaces vs. tabs.
37722         * lib/at-func.c: Likewise.
37723         * lib/utimens.c: Likewise.
37724
37725         openat: avoid using wrong fd
37726         * lib/openat.c (openat_permissive): Reject user's fd if saving the
37727         working directory chooses same fd.
37728         * lib/at-func.c (AT_FUNC_NAME): Likewise.
37729
37730         mkdir, mkdirat: fix cygwin 1.5.x bug
37731         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
37732         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
37733         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
37734         bug.
37735         (gl_PREREQ_MKDIR): Delete unused macro.
37736         * modules/mkdir (Files): Track file rename.
37737         (configure.ac): Update macro name.
37738         * modules/openat (Depends-on): Add mkdir.
37739         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
37740
37741         mkdir, mkdirat: add tests
37742         * modules/mkdir-tests: New test.
37743         * tests/test-mkdir.h: New file.
37744         * tests/test-mkdir.c: Likewise.
37745         * tests/test-mkdirat.c: Likewise.
37746         * modules/openat-tests (Files): Add new files.
37747         (Makefile.am): Run new test.
37748
37749 2009-10-06  Eric Blake  <ebb9@byu.net>
37750
37751         doc: tweak *at function documentation
37752         * doc/posix-functions/faccessat.texi (faccessat): Mention
37753         known issue with replacement.
37754         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
37755         * doc/posix-functions/linkat.texi (linkat): Likewise.
37756         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
37757         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
37758         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
37759         * doc/posix-functions/renameat.texi (renameat): Likewise.
37760         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
37761
37762         openat: fix GNU/Hurd bug in unlinkat
37763         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
37764         broken.
37765         * doc/posix-functions/unlink.texi (unlink): Document this.
37766         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
37767
37768         fdopendir: fix GNU/Hurd bug
37769         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
37770         allowing non-directory fds.
37771         * lib/fdopendir.c (rpl_fdopendir): Work around it.
37772         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
37773         * modules/dirent (Makefile.am): Substitute it.
37774         * lib/dirent.in.h (fdopendir): Declare replacement.
37775         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
37776         * tests/test-fdopendir.c (main): Test something other than
37777         /dev/null, since on Hurd that behaves like a directory.
37778
37779         test-symlink: port to GNU/Hurd
37780         * tests/test-symlink.h (test_symlink): Relax expected errno.
37781
37782         doc: tweak more cygwin information
37783         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
37784         now compatible with glibc.
37785         * doc/posix-functions/getopt.texi (getopt): Likewise.
37786
37787         getopt-gnu: add another test
37788         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
37789         guarantee behavior relied on by m4.
37790         * tests/test-getopt.c (main): Use it.
37791         * modules/getopt-posix-tests (Depends-on): Add setenv.
37792         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
37793
37794         getopt: fix compilation on darwin
37795         * lib/getopt.in.h (includes): Leave breadcrumbs during system
37796         include.
37797         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
37798         Reported by Ludovic Courtès.
37799
37800 2009-10-06  Bruno Haible  <bruno@clisp.org>
37801
37802         * modules/size_max (Description): Discourage its use.
37803         Reported by Simon Josefsson.
37804
37805 2009-10-06  Jim Meyering  <meyering@redhat.com>
37806
37807         linkat: avoid compilation failure
37808         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
37809
37810 2009-10-05  Eric Blake  <ebb9@byu.net>
37811
37812         linkat: support Linux 2.6.17
37813         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
37814         linkat on Linux, but allow cache variable override.
37815         * lib/linkat.c (rpl_linkat): Define override.
37816         * modules/linkat (Depends-on): Add symlinkat.
37817         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
37818         * modules/unistd (Makefile.am): Substitute it.
37819         * lib/unistd.in.h (linkat): Declare replacement.
37820         Reported by Pádraig Brady.
37821
37822         quotearg: port test to systems with C.UTF-8 locale
37823         * tests/test-quotearg.c (struct result_strings): Add another
37824         member, differentiating between C.ASCII and C.UTF-8 handling.
37825         (compare_strings): Add parameter.
37826         (main): Adjust all callers.
37827
37828         getopt: avoid clash with FreeBSD _getopt_internal
37829         * lib/getopt.in.h (_getopt_internal): Override the name.
37830         * lib/getopt_int.h (includes): Pick up any overrides.
37831         Reported by Reuben Thomas.
37832
37833         hash: allow C89 compilation
37834         * lib/hash.c (check_tuning): Move declaration before statement.
37835         Reported by Reuben Thomas.
37836
37837 2009-10-05  Karl Berry  <karl@gnu.org>
37838
37839         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
37840
37841 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
37842             Bruno Haible  <bruno@clisp.org>
37843
37844         * lib/uname.c (uname): Use a table-driven algorithm to compute
37845         Windows NT versions.
37846
37847 2009-10-04  Bruno Haible  <bruno@clisp.org>
37848
37849         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
37850         program_invocation_short_name.
37851         * modules/progname (configure.ac): Test for presence of
37852         program_invocation_short_name.
37853         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
37854
37855 2009-10-04  Bruno Haible  <bruno@clisp.org>
37856
37857         * lib/progname.c (set_program_name): Fix comment.
37858         Reported by Jim Meyering.
37859
37860 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
37861             Bruno Haible  <bruno@clisp.org>
37862
37863         * lib/uname.c: Include <string.h>.
37864         (uname): Do only one call to GetVersionEx in the common case.
37865
37866 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
37867             Bruno Haible  <bruno@clisp.org>
37868
37869         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
37870         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
37871         (uname): Add support for Windows CE and various non-x86 CPU types.
37872
37873 2009-10-03  Bruno Haible  <bruno@clisp.org>
37874
37875         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
37876         invocation to tests/configure.ac.
37877         Reported by Ian Beckwith <ianb@erislabs.net>.
37878
37879 2009-10-02  Eric Blake  <ebb9@byu.net>
37880
37881         fchdir: avoid compiler warning
37882         * lib/fchdir.c (canonicalize_file_name)
37883         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
37884
37885         test-open: support mingw errno values
37886         * tests/test-open.h (test_open): Relax test.
37887         * tests/test-fopen.h (test_fopen): Likewise.
37888         * tests/test-openat-safer.c (main): Likewise.
37889
37890         open: fix opening directory on mingw
37891         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
37892
37893         test-open: on GNU/Hurd, /dev/null is a directory
37894         * tests/test-fopen.h (main): Rename...
37895         (test_fopen): ...to this.  Use a guaranteed non-directory when
37896         confirming open behavior on trailing slash.
37897         * tests/test-openat-safer.c (main): Likewise.
37898         * tests/test-open.h (main): Likewise....
37899         (test_open): ...to this.
37900         * tests/test-fopen.c (main): Adjust caller.
37901         * tests/test-fopen-safer.c (main): Likewise.
37902         * tests/test-open.c (main): Likewise.
37903         * tests/test-fcntl-safer.c (main): Likewise.
37904         Reported by Samuel Thibault.
37905
37906         rename, fchdir: don't ignore chdir failure
37907         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
37908         * lib/rename.c (rpl_rename) [W32]: Likewise.
37909         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
37910         an empty destination directory if source cannot be renamed,
37911         although there is still possibility for failure.
37912         * doc/posix-functions/rename.texi (rename): Document the race.
37913         Reported by Jim Meyering.
37914
37915         maint: cleanup whitespace in recent commits
37916         * lib/rename.c (rpl_rename): Remove tabs.
37917         * tests/test-link.h (test_link): Likewise.
37918         * lib/fchdir.c (get_name): Likewise.
37919         Reported by Jim Meyering.
37920
37921 2009-10-02  Ben Pfaff  <blp@gnu.org>
37922
37923         relocatable-prog-wrapper: Add missing dependency on
37924         double-slash-root.
37925         * modules/relocatable-prog-wrapper: Add dependency.
37926         Reported by Ian Beckwith <ianb@erislabs.net>.
37927
37928 2009-10-02  Eric Blake  <ebb9@byu.net>
37929
37930         renameat: fix Solaris bugs
37931         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
37932         needed fixing.
37933         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
37934         * modules/stdio (Makefile.am): Substitute it.
37935         * lib/stdio.in.h (renameat): Declare replacement.
37936         * lib/renameat.c (rpl_renameat): Implement fix.
37937
37938         renameat: new module
37939         * modules/renameat: New file.
37940         * lib/renameat.c (renameat): Likewise.
37941         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
37942         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
37943         * modules/stdio (Makefile.am): Substitute them.
37944         * lib/stdio.in.h (renameat): Declare it.
37945         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37946         * doc/posix-functions/renameat.texi (renameat): Likewise.
37947         * modules/renameat-tests: New test.
37948         * tests/test-renameat.c: Likewise.
37949
37950         rename: fix mingw bugs
37951         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
37952         directory overwrite bugs.
37953
37954         rename: fix another cygwin 1.5 bug
37955         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
37956         checks.
37957         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
37958         unnecessary cygwin workarounds.  Also work around bug with moving
37959         full directory onto an empty one.
37960         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
37961
37962         rename-dest-slash: merge into rename module
37963         * modules/rename-dest-slash (Status): Mark obsolete.
37964         (Depends-on): Add rename.
37965         (Files): Let rename do it all.
37966         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
37967         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
37968         * m4/rename-dest-slash.m4: ...so this file can be deleted.
37969         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
37970         * lib/rename.c (rpl_rename): Update comments.
37971
37972         rename: fix cygwin 1.5.x bugs
37973         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
37974         * lib/rename.c (rpl_rename): Work around them.
37975         * modules/rename (Depends-on): Add same-inode.
37976
37977         rename: fix Solaris 10 bug
37978         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
37979         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
37980         was the only bug.
37981
37982         rename: fix Solaris 9 bug
37983         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
37984         on non-directory.  Avoid calling exit.
37985         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
37986         strdup.
37987         * modules/rename-tests (Depends-on): Drop lstat.
37988         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
37989         (gl_PREREQ_RENAME): Delete unused macro.
37990
37991         rename-dest-slash: fix NetBSD bug
37992         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
37993         links.
37994         * modules/rename-dest-slash (Depends-on): Add same-inode.
37995
37996         rename-tests: new test, exposes several platform bugs
37997         * modules/rename-tests: New file.
37998         * tests/test-rename.h: Likewise.
37999         * tests/test-rename.c: Likewise.
38000         * doc/posix-functions/rename.texi (rename): Improve documentation,
38001         including bugs that will eventually be fixed in gnulib.
38002
38003 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
38004
38005         * lib/uname.c: Include <stdlib.h>
38006         (uname): Assume version info is available.
38007
38008 2009-10-02  Jim Meyering  <meyering@redhat.com>
38009
38010         gnu-web-doc-update: correct --help output
38011         * build-aux/gnu-web-doc-update: Make --help output relevant.
38012
38013         gnu-web-doc-update: add standard options
38014         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
38015
38016         gnu-web-doc-update: New module.
38017         Use this script to automatically update the on-line web documentation
38018         for your GNU project at http://www.gnu.org/software/$pkg/manual/
38019         * modules/gnu-web-doc-update: New file, from coreutils.
38020         * build-aux/gnu-web-doc-update: New script.
38021
38022 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
38023
38024         link: LoadLibrary is not needed.
38025         * lib/link.c: Use GetModuleHandle.
38026
38027 2009-10-01  Eric Blake  <ebb9@byu.net>
38028
38029         getopt: bump serial number
38030         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
38031         change.
38032
38033         tests: tighten link, rmdir, and remove tests
38034         * tests/test-link.h (includes): No need to use <config.h> here.
38035         Clean up if directory hard link was created, otherwise test for
38036         trailing '.'.
38037         * tests/test-linkat.c (main): Simplify.
38038         * tests/test-remove.c (main): Enhance test for trailing '.'.
38039         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38040
38041 2009-10-01  Jim Meyering  <meyering@redhat.com>
38042
38043         maint.mk: requiring "make major" was annoying, for a "minor" release.
38044         What is intended is "stable", to contrast with alpha and beta,
38045         so require "make stable", not "make major".
38046         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
38047         (get_tool_versions): Likewise.
38048         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
38049
38050 2009-09-30  Ben Pfaff  <blp@gnu.org>
38051
38052         Fix broken build of replacement for Windows tmpfile().
38053         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
38054         flags argument added along with the 'mkostemp' module.
38055
38056 2009-09-28  Bruno Haible  <bruno@clisp.org>
38057
38058         Avoid identifier clash with POSIX function 'remove' defined as a macro.
38059         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
38060         to 'remove_elt'.
38061         (gl_list_remove): Update.
38062         * lib/gl_list.c (gl_list_remove): Update.
38063         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
38064         to 'remove_elt'.
38065         (gl_oset_remove): Update.
38066         * lib/gl_list.c (gl_oset_remove): Update.
38067         Reported by Eric Blake.
38068
38069 2009-09-28  Eric Blake  <ebb9@byu.net>
38070
38071         doc: mention yet more cygwin 1.7 status
38072         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
38073         cygwin.
38074         * doc/glibc-functions/execvpe.texi (execvpe): New file.
38075         * doc/gnulib.texi (Glibc unistd.h): Mention it.
38076
38077         argp: fix test failure
38078         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
38079         that are not upper-case.  Pass correct range to tolower.
38080
38081 2009-09-27  Jim Meyering  <meyering@redhat.com>
38082
38083         test-yesno: work around sparc-dash here-document infelicity
38084         Without this change, the literal \177 byte in a here document
38085         would make dash 0.5.5.1-3 access uninitialized memory.
38086         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
38087         Instead, use a marker, "@", and filter through tr to create the desired
38088         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
38089
38090 2009-09-27  Bruno Haible  <bruno@clisp.org>
38091
38092         Disable untested support for new flavours of ACLs on AIX.
38093         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
38094         progress.
38095         * lib/set-mode-acl.c (qset_acl): Likewise.
38096
38097 2008-12-07  Bruno Haible  <bruno@clisp.org>
38098
38099         Add support for new flavours of ACLs on AIX. (Untested.)
38100         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
38101         (file_has_acl): Add support for newer AIX.
38102         * lib/set-mode-acl.c (qset_acl): Likewise.
38103         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
38104         Rainer Tammer <tammer@tammer.net>.
38105
38106 2009-09-26  Eric Blake  <ebb9@byu.net>
38107
38108         argp: fix compilation of getopt
38109         * lib/getopt.in.h (includes): Use different guard than glibc.
38110         Reported by Sergey Poznyakoff.
38111
38112         doc: mention more cygwin 1.7 status
38113         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
38114         bug.
38115         * doc/posix-functions/execl.texi (execl): Likewise.
38116         * doc/posix-functions/execle.texi (execle): Likewise.
38117         * doc/posix-functions/execlp.texi (execlp): Likewise.
38118         * doc/posix-functions/execv.texi (execv): Likewise.
38119         * doc/posix-functions/execve.texi (execve): Likewise.
38120         * doc/posix-functions/execvp.texi (execvp): Likewise.
38121         * doc/glibc-functions/canonicalize_file_name.texi
38122         (canonicalize_file_name): Cygwin 1.7 now provides this.
38123         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
38124         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
38125         on AT_SYMLINK_NOFOLLOW.
38126
38127 2009-09-24  Eric Blake  <ebb9@byu.net>
38128
38129         test-linkat: make test more robust
38130         * tests/test-linkat.c (main): Avoid collision with EEXIST.
38131
38132         getopt: fix inclusion guards for cygwin
38133         * modules/getopt-posix (Depends-on): Add include-next.
38134         (Makefile.am): Substitute more items in replacement header.
38135         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
38136         <getopt.h>.
38137         * lib/getopt.in.h (includes): Use split inclusion guard, and
38138         prefer <getopt.h> over include <unistd.h> when one is present.
38139         (option): Also override name of 'struct option'.
38140
38141         same-inode: revert prior change; it is not yet ready
38142         * NEWS: Undo mention of this change.
38143         * lib/same-inode.h (same-inode.h): Undo tri-state change.
38144         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
38145         * lib/cycle-check.c (cycle_check): Likewise.
38146         * lib/same.c (same_name): Likewise.
38147         * lib/at-func2.c (at_func2): Likewise.
38148
38149 2009-09-23  Eric Blake  <ebb9@byu.net>
38150
38151         linkat: new module
38152         * modules/linkat: New file.
38153         * lib/at-func2.c (at_func2): Likewise.
38154         * lib/linkat.c (linkat): Likewise.
38155         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
38156         * lib/openat-priv.h (at_func2): Add declaration.
38157         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38158         * modules/unistd (Makefile.am): Substitute them.
38159         * lib/unistd.in.h (linkat): Declare it.
38160         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38161         * doc/posix-functions/linkat.texi (linkat): Likewise.
38162         * doc/posix-functions/link.texi (link): Tweak wording.
38163         * tests/test-link.c (main): Move guts...
38164         * tests/test-link.h (test_link): ...into new file.
38165         * modules/linkat-tests: New test.
38166         * tests/test-linkat.c: Likewise.
38167         * modules/link-tests (Files): Ship new file.
38168         (Depends-on): Add stdbool.
38169
38170         dirname: add library-safe mdir_name
38171         * lib/dirname.h (mdir_name): New prototype.
38172         * lib/dirname.c (dir_name): Move guts...
38173         (mdir_name): ...to new function that avoids xalloc_die.
38174
38175         fchdir: another mingw fix
38176         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
38177         * lib/fchdir.c (get_name): New helper method; skips canonicalize
38178         on mingw (where it has not yet been ported), and make it optional
38179         elsewhere.
38180         (_gl_register_fd): Use it.
38181
38182         same-inode: make SAME_INODE tri-state, to port to mingw
38183         * NEWS: Mention this change.
38184         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
38185         st_ino always being 0.
38186         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
38187         * lib/cycle-check.c (cycle_check): Likewise.
38188         * lib/same.c (same_name): Likewise.
38189
38190         lstat: avoid mingw compilation error
38191         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
38192         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
38193         lstat ourselves.
38194         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
38195         was adequate.
38196         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
38197         the checks for lstat.
38198         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
38199
38200         link: fix test failure on Solaris 9
38201         * lib/link.c (rpl_link): Don't assume link will catch bogus
38202         trailing slash on source.
38203
38204         test-symlinkat: enhance test
38205         * tests/test-readlink.c (main): Move guts...
38206         * tests/test-readlink.h (test_readlink): ...into new file.
38207         * tests/test-symlink.c (main): Move guts...
38208         * tests/test-symlink.h (test_symlink): ...into new file.
38209         * tests/test-symlinkat.c (main): Use new files for further
38210         coverage.
38211         (do_symlink, do_readlink): New helper functions.
38212         * modules/symlink-tests (Files): Ship new file.
38213         (Depends-on): Add stdbool.
38214         * modules/readlink-tests (Files): Ship new file.
38215         (Depends-on): Add stdbool.
38216         * modules/symlinkat-tests (Files): Use new files.
38217
38218 2009-09-23  Eric Blake  <ebb9@byu.net>
38219
38220         readlink: document portability issue with symlink length
38221         * doc/posix-functions/lstat.texi (lstat): Mention that some file
38222         systems have bogus st_size on symlinks, and mention the
38223         areadlink-with-size module.
38224         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
38225         * doc/posix-functions/readlink.texi (readlink): Mention the
38226         areadlink module, and ERANGE failure.
38227         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38228         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
38229
38230         readlink: fix Solaris 9 bug with trailing slash
38231         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
38232         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
38233         * doc/posix-functions/readlink.texi (readlink): Document this.
38234         * modules/readlink-tests: New test.
38235         * tests/test-readlink.c: Likewise.
38236
38237         readlink: fix cygwin 1.5.x bug with return type
38238         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
38239         * lib/unistd.in.h (readlink): Use ssize_t.
38240         * lib/readlink.c (readlink): Likewise.
38241         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38242         * modules/unistd (Makefile.am): Substitute it.
38243         * lib/unistd.in.h (readlink): Declare replacement.
38244         * doc/posix-functions/readlink.texi (readlink): Document this.
38245
38246         symlink: use throughout gnulib
38247         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
38248         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
38249         symlink is not used.
38250         * modules/symlinkat (Depends-on): Add symlink.
38251         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
38252         * modules/canonicalize-tests (Depends-on): Likewise.
38253         * modules/lstat-tests (Depends-on): Likewise.
38254         * modules/openat-tests (Depends-on): Likewise.
38255         * modules/remove-tests (Depends-on): Likewise.
38256         * modules/rmdir-tests (Depends-on): Likewise.
38257         * modules/unlink-tests (Depends-on): Likewise.
38258         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
38259         * tests/test-canonicalize.c (symlink): Likewise.
38260         * tests/test-fstatat.c (symlink): Likewise.
38261         * tests/test-lstat.c (symlink): Likewise.
38262         * tests/test-remove.c (symlink): Likewise.
38263         * tests/test-rmdir.c (symlink): Likewise.
38264         * tests/test-unlink.c (symlink): Likewise.
38265         * tests/test-unlinkat.c (symlink): Likewise.
38266
38267         symlink: new module, for Solaris 9 bug
38268         * modules/symlink: New file.
38269         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
38270         * lib/symlink.c: Likewise.
38271         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
38272         * modules/unistd (Makefile.am): Substitute them.
38273         * lib/unistd.in.h (symlink): Declare replacement.
38274         * MODULES.html.sh (File system functions): Mention it.
38275         * doc/posix-functions/symlink.texi (symlink): Likewise.
38276         * modules/symlink-tests: New test.
38277         * tests/test-symlink.c: Likewise.
38278
38279 2009-09-23  Bruno Haible  <bruno@clisp.org>
38280
38281         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
38282         when needed.
38283         Test case: gnulib-tool --import --with-tests atexit inttypes.
38284         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
38285
38286 2009-09-23  Bruno Haible  <bruno@clisp.org>
38287
38288         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
38289         subcommand, not in a subshell.
38290
38291 2009-09-22  Eric Blake  <ebb9@byu.net>
38292
38293         unistd: sort replacement declarations
38294         * lib/unistd.in.h: Sort declarations.
38295
38296         open, openat: minor optimization
38297         * lib/open.c (open): If open succeeded, len is non-zero.
38298         * lib/openat.c (rpl_openat): Likewise.
38299
38300         link-follow: ensure correct result
38301         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
38302         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
38303         distinguish between possible failures.
38304
38305 2009-09-21  Eric Blake  <ebb9@byu.net>
38306
38307         fts: avoid compiler warning
38308         * lib/fts.c (dirent_inode_sort_may_be_useful)
38309         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
38310
38311 2009-09-19  Bruno Haible  <bruno@clisp.org>
38312
38313         * lib/progreloc.c (canonicalize_file_name): New declaration.
38314
38315 2009-09-19  Eric Blake  <ebb9@byu.net>
38316
38317         link: fix quoting
38318         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
38319
38320         openat: fix openat bugs on Solaris 9
38321         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
38322         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
38323         * modules/openat (Depends-on): Add open.
38324         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
38325         * modules/fcntl-h (Makefile.am): Substitute it.
38326         * lib/fcntl.in.h (openat): Declare replacement.
38327         * doc/posix-functions/openat.texi (openat): Document this.
38328
38329         openat: move fstatat and unlinkat into correct files
38330         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
38331         compiled.
38332         * lib/openat.c (fstatat, unlinkat): Move...
38333         * lib/fstatat.c (fstatat): ...into correct files.
38334         * lib/unlinkat.c (unlinkat): Likewise.
38335
38336         openat: fix unlinkat bugs on Solaris 9
38337         * lib/unlinkat.c (unlinkat): New file.
38338         * modules/openat (Depends-on): Add unlink.
38339         (Files): Distribute it.
38340         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
38341         trailing slash behavior is broken.
38342         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38343         * modules/unistd (Makefile.am): Substitute it.
38344         * lib/unistd.in.h (unlinkat): Declare replacement.
38345         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
38346
38347         openat: fix fstatat bugs on Solaris 9
38348         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
38349         stat.
38350         * doc/posix-functions/fstatat.texi (fstatat): Document this.
38351
38352         test-unlinkat: enhance test, to expose Solaris 9 bug
38353         * tests/test-unlink.c (main): Factor guts...
38354         * tests/test-unlink.h (test_rmdir_func): ...into new file.
38355         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
38356         * tests/test-rmdir.c (main): Adjust caller.
38357         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
38358         (unlinker): New helper function.
38359         (rmdirat): Enhance check.
38360         * modules/rmdir-tests (Depends-on): Add stdbool.
38361         * modules/unlink-tests (Depends-on): Likewise.
38362         (Files): Add test-unlink.h.
38363         * modules/openat-tests (Files): Likewise.
38364         (Depends-on): Add unlinkdir.
38365
38366         test-fstatat: new test, to expose Solaris 9 bugs
38367         * tests/test-stat.c (main): Factor guts...
38368         * tests/test-stat.h (test_stat_func): ...into new file.
38369         * tests/test-lstat.c (main): Factor guts...
38370         * tests/test-lstat.h (test_lstat_func): ...into new file.
38371         * tests/test-fstatat.c: New file.
38372         * modules/stat-tests (Files): Add test-stat.h.
38373         * modules/lstat-tests (Files): Add test-lstat.h.
38374         (Depends-on): Add stdbool.
38375         * modules/openat-tests (Depends-on): Add pathmax.
38376         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
38377         (Makefile.am): Run new test.
38378
38379         remove: new module, for mingw and Solaris 9 bugs
38380         * modules/remove: New file.
38381         * lib/remove.c: Likewise.
38382         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
38383         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
38384         * modules/stdio (Makefile.am): Use them.
38385         * lib/stdio.in.h (remove): Declare replacement.
38386         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38387         * doc/posix-functions/remove.texi (remove): Likewise.
38388         * modules/remove-tests: New test.
38389         * tests/test-remove.c: Likewise.
38390
38391         unlink: new module, for Solaris 9 bug
38392         * modules/unlink: New file.
38393         * lib/unlink.c: Likewise.
38394         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
38395         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38396         * modules/unistd (Makefile.am): Use them.
38397         * lib/unistd.in.h (stat): Declare replacement.
38398         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38399         * doc/posix-functions/unlink.texi (unlink): Likewise.
38400         * modules/unlink-tests: New test.
38401         * tests/test-unlink.c: Likewise.
38402
38403         lstat: fix Solaris 9 bug
38404         * lib/lstat.c (lstat): Also check for trailing slash on
38405         non-symlink, non-directories.  Use stat module to simplify logic.
38406         * doc/posix-functions/lstat.texi (lstat): Document it.
38407         * modules/lstat-tests (Depends-on): Add errno, same-inode.
38408         (configure.ac): Check for symlink.
38409         * tests/test-lstat.c (main): Add more tests.
38410
38411         stat: add as dependency to other modules
38412         * modules/chown (Depends-on): Add stat.
38413         * modules/euidaccess (Depends-on): Likewise.
38414         * modules/fchdir (Depends-on): Likewise.
38415         * modules/isdir (Depends-on): Likewise.
38416         * modules/link (Depends-on): Likewise.
38417         * modules/lstat (Depends-on): Likewise.
38418         * modules/mkdir-p (Depends-on): Likewise.
38419         * modules/modechange (Depends-on): Likewise.
38420         * modules/open (Depends-on): Likewise.
38421         * modules/readlink (Depends-on): Likewise.
38422         * modules/same (Depends-on): Likewise.
38423
38424         stat: fix Solaris 9 bug
38425         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
38426         slash.
38427         * lib/stat.c (rpl_stat): Work around it.
38428         * doc/posix-functions/stat.texi (stat): Update documentation.
38429
38430         stat: new module, for mingw bug
38431         * modules/stat: New file.
38432         * lib/stat.c: Likewise.
38433         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
38434         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38435         * modules/sys_stat (Makefile.am): Use them.
38436         * lib/sys_stat.in.h (stat): Declare replacement.
38437         * lib/openat.c (fstatat): Deal with lstat and stat being function
38438         macros.
38439         * modules/openat (Depends-on): Add inline.
38440         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38441         * doc/posix-functions/stat.texi (stat): Likewise.
38442         * modules/stat-tests: New test.
38443         * tests/test-stat.c: Likewise.
38444
38445 2009-09-19  Jim Meyering  <meyering@redhat.com>
38446
38447         syntax-check: detect unnecessary inclusion of canonicalize.h
38448         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
38449
38450 2009-09-19  Eric Blake  <ebb9@byu.net>
38451
38452         canonicalize-lgpl: adjust clients to use correct header
38453         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
38454         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
38455         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
38456         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
38457         * lib/progreloc.c (includes): Likewise.
38458
38459 2009-09-19  Jim Meyering  <meyering@redhat.com>
38460
38461         test-posixtm.c: correct a comment
38462         * tests/test-posixtm.c: Correct first-line comment.
38463         Spotted by Eric Blake.
38464
38465 2009-09-16  Jim Meyering  <meyering@redhat.com>
38466
38467         posixtm-tests: make T const-correct; add a test case
38468         * tests/test-posixtm.c (T): Declare const.
38469         Add a test for -(2^31+1).
38470         Remove useless can-succeed-only-in-2002 test.
38471
38472         posixtm-tests: adjust the sole failing test
38473         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
38474         expected output matches what mktime now produces.  Cross-checked via
38475         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
38476
38477         posixtm: move #ifdef'd tests into a new module
38478         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
38479         * tests/test-posixtm.c: ... this new file.
38480         * modules/posixtm-tests: New module.
38481
38482 2009-09-19  Eric Blake  <ebb9@byu.net>
38483
38484         openat: simplify use of at-func.c
38485         * lib/at-func.c (includes): Include prerequisites here, to
38486         simplify requirements on client files.
38487         * lib/openat-priv.h: Add double-inclusion guard.
38488         * lib/faccessat.c (includes): Simplify.
38489         * lib/fchmodat.c (includes): Likewise.
38490         * lib/fchownat.c (includes): Likewise.
38491         * lib/mkdirat.c (includes): Likewise.
38492         * lib/mkfifoat.c (includes): Likewise.
38493         * lib/symlinkat.c (includes): Likewise.
38494
38495         openat: allow return of fd 0
38496         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
38497         * modules/save-cwd (Depends-on): Replace fcntl-safer with
38498         unistd-safer.
38499         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
38500         <fcntl.h>; this module does not leak fds.
38501         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
38502         must be allowed to return 0, leaving openat_safer to add the
38503         safety.
38504         (openat_permissive): Avoid writing to just-opened fd 2 if
38505         restoring the current directory fails.
38506         * lib/openat-die.c (openat_restore_fail): Add comment.
38507         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
38508         (save_cwd): Guarantee safe fd, but without use of open_safer.
38509         * tests/test-openat.c: New test.
38510         * modules/openat-tests (Files, Makefile.am): Distribute and build
38511         new file.
38512
38513         relocatable-prog-wrapper: fix build
38514         * modules/relocatable-prog-wrapper (Files): Update name of
38515         canonicalize m4 file, broken on 2009-09-17.
38516         Reported by emad hajjar <aleppos@hotmail.com>.
38517
38518 2009-09-19  Bruno Haible  <bruno@clisp.org>
38519
38520         * lib/safe-alloc.h: Use the standard header with GPL copyright.
38521         * lib/safe-alloc.c: Likewise.
38522         Reported by Ian Beckwith <ianb@erislabs.net>.
38523
38524 2009-09-18  Bruno Haible  <bruno@clisp.org>
38525
38526         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
38527         Reported by <erobles@sensacd.com.mx>.
38528
38529 2009-09-17  Eric Blake  <ebb9@byu.net>
38530
38531         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
38532         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
38533         slashes when checking if last component is missing.
38534         * tests/test-canonicalize.c (main): Test this.
38535
38536         canonicalize, canonicalize-lgpl: honor // if distinct from /
38537         * modules/canonicalize (Files): Add double-slash-root.m4.
38538         * modules/canonicalize-lgpl (Files): Likewise.
38539         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
38540         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
38541         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
38542         fallback definition.
38543         (canonicalize_filename_mode): Use it to protect //.
38544         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
38545         (__realpath): Likewise.
38546         * tests/test-canonicalize.c (main): Test this.
38547         * tests/test-canonicalize-lgpl.c (main): Likewise.
38548         * modules/canonicalize-tests (Depends-on): Add same-inode.
38549         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
38550
38551         canonicalize-lgpl: fix glibc bug with trailing slash
38552         * m4/canonicalize-lgpl.m4: Move contents...
38553         * m4/canonicalize.m4: ...here.
38554         (gl_CANONICALIZE_LGPL): Factor realpath check...
38555         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
38556         glibc 2.3.5 bug, fixed 2005-04-27.
38557         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
38558         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
38559         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
38560         * modules/canonicalize-lgpl (Files): Manage file rename.
38561         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
38562         * modules/stdlib (Makefile.am): Substitute witness.
38563         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
38564         is needed.
38565         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
38566         replacement is required.
38567         * lib/canonicalize.c (canonicalize_file_name): Likewise.
38568         * doc/glibc-functions/canonicalize_file_name.texi
38569         (canonicalize_file_name): Document this.
38570         * doc/posix-functions/realpath.texi (realpath): Likewise.
38571
38572         canonicalize-lgpl: reject non-directory with trailing slash
38573         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
38574         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
38575         catches failures in glibc 2.3.5.
38576         * tests/test-canonicalize.c (main): Likewise.
38577
38578         canonicalize-lgpl: use native realpath if it works
38579         * lib/canonicalize-lgpl.c (realpath): Guard with
38580         FUNC_REALPATH_WORKS.
38581         * lib/stdlib.in.h (realpath): Make declaration optional based on
38582         HAVE_REALPATH.
38583         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
38584         native realpath works.
38585         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
38586         * modules/stdlib (Makefile.am): Substitute witness.
38587
38588         canonicalize, canonicalize-lgpl: use <stdlib.h>
38589         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
38590         (Include): Mention <stdlib.h>.
38591         (configure.ac): Mention functions we provide.
38592         * modules/canonicalize (configure.ac): Likewise.
38593         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
38594         realpath if canonicalize_file_name is missing.
38595         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
38596         * modules/stdlib (Makefile.am): Substitute witnesses.
38597         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
38598         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
38599         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
38600         * NEWS: Document this.
38601         * doc/glibc-functions/canonicalize_file_name.texi
38602         (canonicalize_file_name): Likewise.
38603         * doc/posix-functions/realpath.texi (realpath): Likewise.
38604         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
38605
38606         test-canonicalize: consolidate into single C program
38607         * tests/test-canonicalize.sh: Delete; move setup into...
38608         * tests/test-canonicalize.c (main): ...the program, making it
38609         easier to run in debugger.  Add some tests.
38610         * modules/canonicalize-tests (Files): Remove unused file.
38611         (Depends-on): Add progname.
38612         (configure.ac, Makefile.am): Simplify.
38613
38614         test-canonicalize-lgpl: consolidate into single C program
38615         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
38616         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
38617         easier to run in debugger.  Add some tests.
38618         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
38619         (configure.ac, Makefile.am): Simplify.
38620
38621         canonicalize: avoid resolvepath
38622         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
38623         unnecessary checks.
38624         * lib/canonicalize.c (includes): Simplify.
38625         (canonicalize_file_name): Drop resolvepath implementation.
38626         * modules/canonicalize (Depends-on): Drop filenamecat.
38627
38628         canonicalize: don't lose errno
38629         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
38630         over calls to free.
38631
38632         canonicalize: simplify errno handling
38633         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
38634         assignment.
38635
38636         canonicalize, canonicalize-lgpl: update module dependencies
38637         * modules/canonicalize (Depends-on): Add extensions, lstat,
38638         pathmax, stdlib.
38639         (Files): Drop pathmax.h.
38640         (configure.ac): Adjust macro name.
38641         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
38642         lstat, stdlib, sys_stat.
38643         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
38644         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
38645         extensions.
38646         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
38647         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
38648         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
38649         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
38650         declaration, if available.
38651         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
38652         we can rely on the readlink module.
38653         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
38654         (includes): Use <unistd.h> unconditionally.
38655
38656 2009-09-17  Eric Blake  <ebb9@byu.net>
38657
38658         maint: make Include sections of modules consistent
38659         * modules/alloca: Use only header name; no need to list #include.
38660         * modules/alloca-opt: Likewise.
38661         * modules/arpa_inet: Likewise.
38662         * modules/canon-host: Likewise.
38663         * modules/configmake: Likewise.
38664         * modules/dirent: Likewise.
38665         * modules/eealloc: Likewise.
38666         * modules/environ: Likewise.
38667         * modules/fchdir: Likewise.
38668         * modules/fcntl: Likewise.
38669         * modules/fcntl-h: Likewise.
38670         * modules/gethrxtime: Likewise.
38671         * modules/gettime: Likewise.
38672         * modules/ignore-value: Likewise.
38673         * modules/inet_ntop: Likewise.
38674         * modules/inet_pton: Likewise.
38675         * modules/inttypes: Likewise.
38676         * modules/isnand-nolibm: Likewise.
38677         * modules/isnanf-nolibm: Likewise.
38678         * modules/mbchar: Likewise.
38679         * modules/mbfile: Likewise.
38680         * modules/mbiter: Likewise.
38681         * modules/mbuiter: Likewise.
38682         * modules/netdb: Likewise.
38683         * modules/netinet_in: Likewise.
38684         * modules/nproc: Likewise.
38685         * modules/pagealign_alloc: Likewise.
38686         * modules/poll: Likewise.
38687         * modules/printf-frexp: Likewise.
38688         * modules/pthread: Likewise.
38689         * modules/putenv: Likewise.
38690         * modules/random_r: Likewise.
38691         * modules/relocatable-prog: Likewise.
38692         * modules/search: Likewise.
38693         * modules/select: Likewise.
38694         * modules/selinux-h: Likewise.
38695         * modules/settime: Likewise.
38696         * modules/signal: Likewise.
38697         * modules/size_max: Likewise.
38698         * modules/socklen: Likewise.
38699         * modules/ssize_t: Likewise.
38700         * modules/stdarg: Likewise.
38701         * modules/stdbool: Likewise.
38702         * modules/stddef: Likewise.
38703         * modules/stdint: Likewise.
38704         * modules/stdio: Likewise.
38705         * modules/stdlib: Likewise.
38706         * modules/string: Likewise.
38707         * modules/strings: Likewise.
38708         * modules/sys_file: Likewise.
38709         * modules/sys_ioctl: Likewise.
38710         * modules/sys_select: Likewise.
38711         * modules/sys_socket: Likewise.
38712         * modules/sys_stat: Likewise.
38713         * modules/sys_time: Likewise.
38714         * modules/sys_times: Likewise.
38715         * modules/sys_utsname: Likewise.
38716         * modules/sys_wait: Likewise.
38717         * modules/sysexits: Likewise.
38718         * modules/time: Likewise.
38719         * modules/times: Likewise.
38720         * modules/tmpfile: Likewise.
38721         * modules/trim: Likewise.
38722         * modules/unistd: Likewise.
38723         * modules/wchar: Likewise.
38724         * modules/wctype: Likewise.
38725
38726 2009-09-17  Bruno Haible  <bruno@clisp.org>
38727
38728         Make getdate.y compile on QNX and NetBSD 5 / i386.
38729         * m4/getdate.m4 (gl_GETDATE): Conditionally define
38730         TIME_T_FITS_IN_LONG_INT.
38731         * lib/getdate.y (long_time_t): New type.
38732         (relative_time): Change type of 'seconds' field to long_time_t.
38733         (get_date): Update types of local variables. Check against overflow
38734         during conversion from long_time_t to time_t.
38735         Reported by Matt Kraai <kraai@ftbfs.org>
38736         and Hasso Tepper <hasso@netbsd.org>.
38737
38738 2009-09-17  Bruno Haible  <bruno@clisp.org>
38739
38740         * modules/COPYING: Update copyright years.
38741         * modules/README: Likeiwse.
38742         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
38743         Reported by Ian Beckwith <ianb@erislabs.net>.
38744
38745 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
38746
38747         * users.txt: Update references for gnuit package.
38748
38749 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
38750
38751         * m4/getdelim.m4: Fix typo in copyright line.
38752
38753 2009-09-17  Bruno Haible  <bruno@clisp.org>
38754
38755         * lib/atoll.c: Use the standard header with GPL copyright.
38756         * lib/argz.in.h: Likewise.
38757         * lib/glob.c: Likewise.
38758         * lib/glob-libc.h: Likewise.
38759         * lib/random_r.c: Likewise.
38760         * lib/siglist.h: Likewise.
38761         * lib/strsignal.c: Likewise.
38762         Reported by Ian Beckwith <ianb@erislabs.net>.
38763
38764 2009-09-17  Eric Blake  <ebb9@byu.net>
38765
38766         rmdir: ensure correct dependency order
38767         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
38768
38769 2009-09-17  Bruno Haible  <bruno@clisp.org>
38770
38771         Disable assertion that fails on NetBSD 5 / i386.
38772         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
38773         Reported by Sam Steingold <sds@gnu.org>
38774         and Hasso Tepper <hasso@netbsd.org>.
38775
38776 2009-09-16  Eric Blake  <ebb9@byu.net>
38777
38778         unlinkdir: port to mingw
38779         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
38780         on which no one can unlink a directory.
38781
38782         stdlib: sort witness names
38783         * modules/stdlib (Makefile.am): Sort replacements.
38784         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
38785         * lib/stdlib.in.h: Likewise.
38786
38787         parse-duration-tests: avoid link failure
38788         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
38789         LIBINTL.
38790         Reported by Tom G. Christensen.
38791
38792         openat-tests: ensure unlinkat behaves like rmdir
38793         * tests/test-rmdir.c (main): Factor guts...
38794         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
38795         * modules/rmdir-tests (Files): Ship new file.
38796         * modules/openat-tests: New test.
38797         * tests/test-unlinkat.c: Likewise.
38798
38799         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
38800         * modules/rmdir-errno (Status, Notice): Now obsolete.
38801
38802         rmdir: work around cygwin 1.5.x and mingw bugs
38803         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
38804         * lib/rmdir.c (rmdir): Work around it.
38805         * modules/rmdir (Status, Notice): No longer obsolete.
38806         (Files): Add dos.m4.
38807         (Depends-on): Add unistd.
38808         (configure.ac): Set witnesses.
38809         (License): Relax to LGPLv2+.
38810         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
38811         * modules/unistd (Makefile.am): Substitute witnesses.
38812         * lib/unistd.in.h (rmdir): Declare replacement.
38813         * doc/posix-functions/rmdir.texi (rmdir): Document this.
38814         * modules/rmdir-tests: New tests.
38815         * tests/test-rmdir.c: Likewise.
38816
38817 2009-09-15  Eric Blake  <ebb9@byu.net>
38818
38819         fchdir: improve use of replacement functions
38820         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
38821         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
38822         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
38823         REPLACE_CLOSEDIR.
38824         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
38825         * modules/sys_stat (Makefile.am): Substitute correct witness.
38826         * modules/dirent (Makefile.am): Likewise.
38827         * modules/unistd (Makefile.am): Likewise.
38828         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
38829         * lib/unistd.in.h (dup): Likewise.
38830         * lib/sys_stat.in.h (fstat): Likewise.
38831
38832         maint: ignore gnulib-tool temp files
38833         * .gitignore: Ignore files created during gnulib-tool --test.
38834
38835 2009-09-13  Jim Meyering  <meyering@redhat.com>
38836
38837         posixtm: don't reject a time that specify "60" as the number of seconds
38838         * lib/posixtm.c (posixtime): The code to reject invalid dates
38839         would also reject a time specified with the .60 suffix.
38840         But POSIX allows that, in order to accommodate leap seconds.
38841         So don't reject it.
38842         (main): Adjust tests accordingly.
38843         * modules/posixtm (Depends-on): Add stpcpy.
38844
38845 2009-09-11  Jim Meyering  <meyering@redhat.com>
38846
38847         announce-gen: include [$release_type] in emitted Subject:
38848         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
38849         e.g., [stable] in the emitted Subject: line.
38850
38851 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38852
38853         Remove obsolete macros from several modules.
38854         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
38855         obsolete Autoconf macros with their modern counterparts.
38856         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
38857         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
38858         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
38859         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
38860         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
38861         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
38862         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
38863         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
38864         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
38865         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
38866         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
38867         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
38868         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
38869         * m4/sockets.m4 (gl_SOCKETS): Likewise.
38870         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
38871         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
38872         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
38873         * m4/time_r.m4 (gl_TIME_R): Likewise.
38874         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
38875         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
38876         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
38877
38878         Fix copyright header in build-aux scripts.
38879         * build-aux/git-version-gen: Fix copyright header to match GPLv3
38880         recommendation.
38881         * build-aux/ncftpput-ftp: Likewise.
38882         * build-aux/update-copyright: Likewise.
38883
38884 2009-09-09  Eric Blake  <ebb9@byu.net>
38885
38886         test-link: allow Linux choice of errno
38887         * tests/test-link.c (main): Relax test for alternate error.
38888
38889         strndup: fix improper m4 caching
38890         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
38891         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
38892         (gl_PREREQ_STRNDUP): Delete.
38893         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
38894         * modules/string (Makefile.am): Substitute it.
38895         * lib/string.in.h (strndup): Modernize prototype.
38896
38897         getcwd: port to mingw
38898         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
38899         different from the POSIX assumptions made throughout the getcwd
38900         module; fortunately, the mingw getcwd does not need replacement.
38901         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
38902         * modules/getcwd-tests: New test.
38903         * tests/test-getcwd.c: Likewise.
38904
38905         link: fix platform bugs
38906         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
38907         * lib/link.c (link): Work around them.  Fix related mingw bug.
38908         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
38909         * modules/unistd (Makefile.am): Substitute it.
38910         * lib/unistd.in.h (link): Declare replacement.
38911         * doc/posix-functions/link.texi (link): Document this.
38912         * modules/link (Depends-on): Add strdup-posix, sys_stat.
38913
38914         test-link: consolidate into single C program, test more cases
38915         * tests/test-link.sh: Delete.
38916         * tests/test-link.c: Test more error conditions.  Exposes bugs on
38917         at least Cygwin and Solaris.
38918         * modules/link-tests (Files): Remove unused file.
38919         (Depends-on): Add errno, sys_stat.
38920         (Makefile.am): Simplify.
38921
38922 2009-09-08  Bruno Haible  <bruno@clisp.org>
38923
38924         Work around towlower, towupper bug on mingw.
38925         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
38926         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
38927         * doc/posix-functions/towlower.texi: Mention the mingw bug.
38928         * doc/posix-functions/towupper.texi: Likewise.
38929         Reported by Eric Blake.
38930
38931 2009-09-08  Jim Meyering  <meyering@redhat.com>
38932
38933         build: don't try to run autoheader if we don't use it
38934         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
38935         is not used in configure.ac.
38936
38937 2009-09-08  Eric Blake  <ebb9@byu.net>
38938
38939         euidaccess: fix compilation error
38940         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
38941
38942         rawmemchr: relax license
38943         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
38944         okay.
38945         Reported by Jim Meyering.
38946
38947         mkfifoat: new module
38948         * modules/mkfifoat: New file.
38949         * lib/mkfifoat.c: Likewise.
38950         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
38951         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38952         * modules/sys_stat (Makefile.am): Use them.
38953         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
38954         * MODULES.html.sh (File system functions): Mention module.
38955         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
38956         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
38957         * modules/mkfifoat-tests: New test.
38958         * tests/test-mkfifoat.c: Likewise.
38959
38960         strchrnul: relax license
38961         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
38962         okay.
38963         Reported by Jim Meyering.
38964
38965 2009-09-08  Eric Blake  <ebb9@byu.net>
38966
38967         fstatat: fix compilation on Solaris
38968         * lib/fstatat.c (includes): Add fcntl.h.
38969         Reported by Pádraig Brady.
38970
38971 2009-09-07  Eric Blake  <ebb9@byu.net>
38972
38973         rename: modernize replacement
38974         * modules/rename (Depends-on): Add stdio.
38975         (configure.ac): Declare witness.
38976         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
38977         stdio take care of replacement.
38978         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
38979         * modules/stdio (Makefile.am): Substitute them.
38980         * lib/stdio.in.h (rename): Declare replacement.
38981         * lib/rename.c (includes): Allow cross-compilation to non-windows
38982         machines.
38983         * doc/posix-functions/rename.texi (rename): Improve
38984         documentation.
38985
38986         stdio: sort witness names
38987         * modules/stdio (Makefile.am): Sort replacements.
38988         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38989         * lib/stdio.in.h: Likewise.
38990
38991         getcwd: minor cleanups
38992         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
38993         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
38994
38995         openat: provide more convenience names
38996         * modules/faccessat (configure.ac): Add C witness.
38997         * lib/unistd.in.h (readlinkat): Fix typo.
38998         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
38999         convenience wrappers.
39000         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
39001         wrappers in syntax checks.
39002
39003 2009-09-06  Eric Blake  <ebb9@byu.net>
39004
39005         doc: fix comments in recent patches
39006         * lib/faccessat.c: Mention correct function.
39007         * lib/fchmodat.c: Likewise.
39008         * lib/fchownat.c: Likewise.
39009         * lib/symlinkat.c: Likewise.
39010         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
39011         constants.
39012
39013         faccessat, symlinkat: continue cleanup of previous patch
39014         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
39015         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
39016         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
39017         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
39018         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
39019         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
39020         set.
39021
39022 2009-09-06  Bruno Haible  <bruno@clisp.org>
39023
39024         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
39025         (fstatat): Declare if GNULIB_FSTATAT is set.
39026         (mkdirat): Declare if GNULIB_MKDIRAT is set.
39027         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
39028         (unlinkat): Declare if GNULIB_UNLINKAT is set.
39029         * modules/fcntl-h (Files): Remove m4/openat.m4.
39030         * modules/sys_stat (Files): Remove m4/openat.m4.
39031         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
39032         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
39033         * modules/unistd (Files): Remove m4/openat.m4.
39034         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
39035         GNULIB_OPENAT.
39036         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
39037         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
39038         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
39039         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
39040         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
39041         gl_OPENAT_DEFAULTS.
39042         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
39043         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
39044         Don't require gl_OPENAT_DEFAULTS.
39045         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
39046         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
39047         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
39048         (gl_OPENAT_DEFAULTS): Remove macro.
39049
39050 2009-09-06  Bruno Haible  <bruno@clisp.org>
39051
39052         * modules/openat (configure.ac): Remove unneeded witness.
39053
39054 2009-09-06  Bruno Haible  <bruno@clisp.org>
39055
39056         Set errno to ENOSYS when a function is entirely unsupported.
39057         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
39058         EOPNOTSUPP.
39059         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
39060         * modules/chown (Depends-on): Remove errno.
39061
39062 2009-09-06  Bruno Haible  <bruno@clisp.org>
39063
39064         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
39065
39066 2009-09-06  Bruno Haible  <bruno@clisp.org>
39067
39068         * lib/sys_stat.in.h: Fix preprocessor command indentation.
39069
39070 2009-09-06  Ben Pfaff  <blp@gnu.org>
39071             Bruno Haible  <bruno@clisp.org>
39072
39073         Work around a glibc bug in strtok_r.
39074         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
39075         Undefine if UNDEFINE_STRTOK_R is set.
39076         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
39077         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39078         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
39079         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
39080         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
39081         UNDEFINE_STRTOK_R.
39082         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
39083
39084 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
39085
39086         exclude: minor fix
39087         * lib/exclude.c: Include wctype.h
39088
39089 2009-09-06  Akim Demaille  <demaille@gostai.com>
39090
39091         bootstrap: improve error message
39092         * build-aux/bootstrap (find_tool): Upon failure, report the list
39093         of candidates.
39094         Honor the initial value of the envvar.
39095
39096 2009-09-05  Eric Blake  <ebb9@byu.net>
39097
39098         symlinkat: new module
39099         * modules/symlinkat: New file.
39100         * lib/symlinkat.c: Likewise.
39101         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
39102         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39103         * modules/unistd (Makefile.am): Use them.
39104         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
39105         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
39106         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
39107         * MODULES.html.sh (File system functions): Mention module.
39108         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
39109         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
39110         * modules/symlinkat-tests: New test.
39111         * tests/test-symlinkat.c: Likewise.
39112
39113         test-openat-safer: add more checks
39114         * tests/test-openat-safer.c (main): Check more code paths.
39115
39116 2009-09-05  Jim Meyering  <meyering@redhat.com>
39117
39118         syntax-check: detect unnecessary inclusion of openat.h
39119         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
39120
39121 2009-09-05  Bruno Haible  <bruno@clisp.org>
39122
39123         Support towlower, towupper.
39124         * doc/posix-functions/towlower.texi: Mention module wctype.
39125         * doc/posix-functions/towupper.texi: Likewise.
39126         * lib/wctype.in.h (towlower, towupper): New functions.
39127         * tests/test-wctype.c: Include stdio.h, stdlib.h.
39128         (ASSERT): New macro.
39129         (e): New variable.
39130         (main): Test also towlower, towupper. Test WEOF argument.
39131         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39132
39133 2009-09-05  Bruno Haible  <bruno@clisp.org>
39134
39135         Fix conversion behaviour when the input is invalid.
39136         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
39137         mark occurring in first pass of indirect conversion.
39138         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
39139         input.
39140         Found by clang's static analyzer.
39141
39142 2009-09-05  Bruno Haible  <bruno@clisp.org>
39143
39144         * tests/test-striconveh.c (main): Test indirect conversion on platforms
39145         where direct conversion is possible.
39146
39147 2009-09-04  Eric Blake  <ebb9@byu.net>
39148
39149         openat: fail with ENOENT on empty name
39150         * lib/openat-proc.c (openat_proc_name): Special-case the empty
39151         buffer.
39152
39153         link-follow: fix logic bug in prior patch
39154         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
39155         reversed sense of yes and no in prior patch.  Avoid confusing
39156         compilation failure with desired semantics.
39157
39158         link-follow: accomodate mingw and cross-compilation
39159         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
39160         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
39161         cross-compilation results to -1, to make linkat easier to
39162         implement when cross-compiling.  Trivially support mingw.
39163         * modules/link-follow (configure.ac): Call new name.
39164         * NEWS: Mention this.
39165
39166 2009-09-03  Eric Blake  <ebb9@byu.net>
39167
39168         faccessat: compile replacement
39169         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
39170         needed.
39171
39172         fts: fix compilation error
39173         * lib/fts.c (includes): Re-add "openat.h", for
39174         openat_needs_fchdir.
39175
39176         faccessat: new module
39177         * modules/faccessat: New file.
39178         * lib/faccessat.c: Likewise.
39179         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
39180         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39181         * modules/unistd (Makefile.am): Use it.
39182         * lib/unistd.in.h (faccessat): Declare it.
39183         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
39184         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
39185         * MODULES.html.sh (File system functions): Mention it.
39186         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
39187         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
39188
39189         euidaccess: prefer POSIX over non-standard implementation
39190         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
39191         * lib/euidaccess.c (euidaccess): Use it if available.
39192
39193         openat: make template easier to use
39194         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
39195         AT_FUNC_F2 to be undefined.
39196         (VALIDATE_FLAG): New macro; use it to reject bad flags.
39197         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
39198         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
39199         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
39200         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
39201         Likewise.
39202         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
39203         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
39204         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
39205         Likewise.
39206
39207         openat: declare in POSIX headers
39208         * NEWS: Mention this.
39209         * modules/openat (configure.ac): Declare witnesses.
39210         (Depends-on): Add fcntl-h, sys_stat, unistd.
39211         (Include): Mention correct headers.
39212         * modules/fcntl-h (Depends-on): Add link-warning.
39213         (Files): Add openat.m4.
39214         (Makefile.am): Substitute witnesses.
39215         * modules/sys_stat (Files, Makefile.am): Likewise.
39216         * modules/unistd (Files, Makefile.am): Likewise.
39217         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
39218         (gl_OPENAT_DEFAULTS): New macro.
39219         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
39220         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
39221         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
39222         (SYS_STAT_H): Remove unused variable.
39223         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
39224         * lib/fcntl--.h (includes): Remove unneeded header.
39225         * lib/openat-safer.c (includes): Likewise.
39226         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
39227         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
39228         appropriate headers.
39229         (__OPENAT_PREFIX): Delete.
39230         * lib/fcntl.in.h (openat): Provide declaration.
39231         (AT_FDCWD): Fix Solaris bug.
39232         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
39233         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
39234         * lib/fchmodat.c (includes):  Adjust to find declaration.
39235         * lib/fchownat.c (includes): Likewise.
39236         * lib/mkdirat.c (includes): Likewise.
39237         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
39238         still visible.
39239
39240 2009-09-02  Eric Blake  <ebb9@byu.net>
39241
39242         errno: use consistently
39243         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
39244         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
39245         * lib/canonicalize.c (ELOOP): Likewise.
39246         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
39247         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
39248         * lib/lchown.c (EOPNOTSUPP): Likewise.
39249         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
39250         * lib/savewd.c (ESTALE): Likewise.
39251         * lib/settime.c (ENOSYS): Likewise.
39252         * lib/utimens.c (ENOSYS): Likewise.
39253         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
39254         * lib/chdir-safer.c (ELOOP): Likewise.
39255         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
39256         * modules/c-stack (Depends-on): Add errno.
39257         * modules/canonicalize (Depends-on): Likewise.
39258         * modules/chdir-safer (Depends-on): Likewise.
39259         * modules/fdopendir (Depends-on): Likewise.
39260         * modules/inet_ntop (Depends-on): Likewise.
39261         * modules/inet_pton (Depends-on): Likewise.
39262         * modules/lchown (Depends-on): Likewise.
39263         * modules/openat (Depends-on): Likewise.
39264         * modules/savewd (Depends-on): Likewise.
39265         * modules/settime (Depends-on): Likewise.
39266         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
39267
39268         fts: avoid leaking fds
39269         * modules/fts (Depends-on): Add cloexec.
39270         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
39271         flag.
39272
39273         fts: make directory fds more robust
39274         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
39275         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
39276
39277         backupfile, chdir-long, fts, savedir: make safer
39278         * lib/backupfile.c (includes): Use "dirent--.h", since
39279         numbered_backup can write to stderr during readdir.
39280         * lib/savedir.c (includes): Likewise.
39281         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
39282         emulation can write to stderr on failure.
39283         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
39284         * lib/getcwd.c: Document why opendir_safer is unused.
39285         * lib/glob.c: Likewise.
39286         * lib/scandir.c: Likewise.
39287         * lib/openat-proc.c: Likewise, for open_safer.
39288         * modules/backupfile (Depends-on): Add dirent-safer.
39289         * modules/savedir (Depends-on): Likewise.
39290         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
39291         * modules/chdir-long (Depends-on): Add openat-safer.
39292
39293         openat-safer: new module
39294         * modules/openat-safer: New file.
39295         * lib/openat-safer.c: Likewise.
39296         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
39297         * lib/fcntl-safer.h (openat_safer): Declare.
39298         * lib/fcntl--.h (openat): Override.
39299         * MODULES.html.sh (File descriptor based I/O): Mention it.
39300         * lib/openat.h: Add double-inclusion guards.
39301         * lib/openat.c (includes): Only include "fcntl-safer.h", not
39302         "fcntl--.h", so we can implement openat.
39303         * modules/openat-safer-tests: New test.
39304         * tests/test-openat-safer.c: New file.
39305
39306         dirent-safer: new module
39307         * modules/dirent-safer: New file.
39308         * lib/dirent--.h: Likewise.
39309         * lib/dirent-safer.h: Likewise.
39310         * lib/opendir-safer.c: Likewise.
39311         * m4/dirent-safer.m4: Likewise.
39312         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
39313         * modules/dirent-safer-tests: New test.
39314         * tests/test-dirent-safer.c: New file.
39315         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
39316
39317         fdopendir: optimize on mingw
39318         * lib/unistd.in.h (_gl_directory_name): New prototype.
39319         * lib/fchdir.c (_gl_directory_name): Implement it.
39320         (fchdir): Use it to simplify implementation.
39321         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
39322         fchdir, when available, to avoid calling [f]chdir().
39323
39324         fdopendir: split into its own module
39325         * lib/openat.c (fdopendir): Move...
39326         * lib/fdopendir.c: ...into new file.
39327         * modules/fdopendir: New module.
39328         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
39329         * modules/openat (Depends-on): Add fdopendir.
39330         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
39331         fdopendir here.
39332         * modules/savedir (Depends-on): Only need fdopendir, not full
39333         openat.
39334         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
39335         * lib/openat.h (fdopendir): Drop prototype.
39336         * lib/dirent.in.h (fdopendir): Provide prototype.
39337         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
39338         * modules/dirent (Makefile.am): Substitute them.
39339         * MODULES.html.sh (File system functions): Mention it.
39340         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
39341         * modules/fdopendir-tests: New file.
39342         * tests/test-fdopendir.c: Likewise.
39343
39344         fchdir: use more consistent macro convention
39345         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
39346         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
39347         REPLACE_FCHDIR, rather than relying on config.h macros.
39348         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
39349         inside a single make-time REPLACE_FCHDIR block, rather than using
39350         the config.h FCHDIR_REPLACEMENT.
39351         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
39352         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
39353         Manage fstat replacement.
39354         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
39355         REPLACE_FCHDIR.
39356         * modules/sys_stat (Files): Add m4/unistd_h.m4.
39357         (Makefile.am): Substitute REPLACE_FCHDIR.
39358         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
39359         FCHDIR_REPLACEMENT.
39360         * lib/dup-safer.c (dup_safer): Likewise.
39361         * lib/dup2.c (rpl_dup2): Likewise.
39362         * lib/dup3.c (rpl_dup3): Likewise.
39363         * lib/open.c (rpl_open): Likewise.
39364
39365         fchdir: simplify error handling, and support dup3
39366         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
39367         stdbool, malloc-posix, realloc-posix.
39368         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
39369         (ensure_dirs_slot): Return false on allocation failure.
39370         (rpl_dup2): Delete.
39371         (_gl_register_dup): New function.
39372         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
39373         (_gl_register_fd): Close fd on allocation failure.
39374         * lib/fcntl.in.h (_gl_register_fd): Update signature.
39375         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
39376         prototype.
39377         (rpl_dup2_fchdir): Delete prototype.
39378         * lib/open.c (open): Update caller.
39379         * lib/dup2.c (dup2): Track fchdir metadata.
39380         * lib/dup3.c (dup3): Likewise.
39381         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
39382         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
39383
39384 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39385
39386         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
39387         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
39388         don't pass arguments to AC_OUTPUT.
39389
39390 2009-09-02  Bruno Haible  <bruno@clisp.org>
39391
39392         * modules/mkdtemp (License): Relicense under LGPLv2+.
39393         Reported by Paolo Bonzini.
39394
39395 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39396
39397         Replace uses of obsolete autoconf macros in Jim's modules.
39398         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
39399         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
39400         can evoke a warning from autoconf when run with -Wobsolete
39401         enabled.  They were declared obsolete for good reasons (see
39402         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
39403         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
39404         should not continue using the deprecated macros.
39405         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
39406         obsolete Autoconf macros with modern counterparts.
39407         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
39408         * m4/dos.m4 (gl_AC_DOS): Likewise.
39409         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
39410         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
39411         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
39412         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
39413         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
39414         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
39415         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
39416         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
39417         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
39418         Likewise.
39419         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
39420         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
39421         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
39422         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
39423         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
39424         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
39425
39426 2009-09-01  Eric Blake  <ebb9@byu.net>
39427
39428         fchdir: fix off-by-one bug in previous patch
39429         * lib/fchdir.c (rpl_fstat): Use correct bounds.
39430         (_gl_unregister_fd): Delete useless if.
39431
39432 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
39433
39434         maint.mk: sort the list of syntax-check rules
39435         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
39436         easier to get a sense of progress when the rules are run sequentially
39437         and take a long time.
39438
39439 2009-09-01  Simon Josefsson  <simon@josefsson.org>
39440
39441         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
39442         * modules/netinet_in: Likewise.
39443         * modules/sys_file: Likewise.
39444         * modules/sys_ioctl: Likewise.
39445         * modules/sys_select: Likewise.
39446         * modules/sys_socket: Likewise.
39447         * modules/sys_stat: Likewise.
39448         * modules/sys_time: Likewise.
39449         * modules/sys_times: Likewise.
39450         * modules/sys_utsname: Likewise.
39451         * modules/sys_wait: Likewise.
39452
39453 2009-09-01  Jim Meyering  <meyering@redhat.com>
39454
39455         fts: help ensure that return values are not ignored
39456         * lib/fts_.h (__GNUC_PREREQ): Define.
39457         (__attribute_warn_unused_result__): Define.
39458         (fts_children, fts_close, fts_open, fts_read): Declare with
39459         __attribute_warn_unused_result__.
39460
39461         fts: fts_close now fails also when closing a dir file descriptor fails
39462         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
39463         and propagate to caller, along with errno.
39464
39465         announce-gen: correct formatting in --help output
39466         * build-aux/announce-gen (usage): Move the one-line description in
39467         --help output "up", to where it belongs, just after Usage:.
39468
39469 2009-08-31  Eric Blake  <ebb9@byu.net>
39470
39471         fchdir: port to mingw
39472         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
39473         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
39474         opened, then use a substitute.
39475         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
39476         replacement.
39477         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
39478         (_gl_register_fd): No need to check stat if open already filters
39479         all directories.
39480         (fchdir): Fix error condition to match POSIX.
39481         * modules/fchdir (Depends-on): Add sys_stat.
39482         * doc/posix-functions/open.texi (open): Document the limitation.
39483         * modules/fchdir-tests: New file.
39484         * tests/test-fchdir.c: Likewise.
39485
39486         canonicalize: allow cross-testing from cygwin to mingw
39487         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
39488         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
39489         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
39490         Likewise.
39491         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
39492         target does not support symlinks.
39493         * tests/test-canonicalize-lgpl.sh: Likewise.
39494
39495         chown: avoid compilation warning on mingw
39496         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
39497         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
39498         mingw.
39499         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
39500         * modules/chown (Depends-on): Add errno.
39501
39502 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
39503
39504         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
39505         command.
39506
39507 2009-08-31  Jim Meyering  <meyering@redhat.com>
39508
39509         canonicalize: remove useless initialization
39510         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
39511         initialization of local, "end".
39512
39513 2009-08-30  Bruno Haible  <bruno@clisp.org>
39514
39515         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
39516         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
39517         ENOSYS.
39518
39519 2009-08-30  Bruno Haible  <bruno@clisp.org>
39520
39521         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
39522         /usr/xpg4/bin/tr when it exists.
39523         * tests/test-pipe-filter-gi1.sh: Likewise.
39524
39525 2009-08-30  Bruno Haible  <bruno@clisp.org>
39526
39527         Work around deficient /usr/bin/id program on Solaris.
39528         * tests/test-file-has-acl.sh (ID): New variable.
39529         * tests/test-set-mode-acl.sh (ID): Likewise.
39530         * tests/test-copy-acl.sh (ID): Likewise.
39531         * tests/test-copy-file.sh (ID): Likewise.
39532
39533 2009-08-30  Bruno Haible  <bruno@clisp.org>
39534
39535         New module 'xstriconveh'.
39536         * lib/xstriconveh.h: New file.
39537         * lib/xstriconveh.c: New file.
39538         * modules/xstriconveh: New file.
39539
39540 2009-08-30  Bruno Haible  <bruno@clisp.org>
39541
39542         Make it easier to use mem_cd_iconveh.
39543         * lib/striconveh.h (iconveh_t): New type.
39544         (iconveh_open, iconveh_close): New declarations.
39545         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
39546         with a single 'const iconveh_t *' argument.
39547         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
39548         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
39549         with a single 'const iconveh_t *' argument.
39550         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
39551         * tests/test-striconveh.c (main): Update.
39552         * NEWS: Mention the change.
39553
39554 2009-08-30  Bruno Haible  <bruno@clisp.org>
39555
39556         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
39557         problem.
39558
39559 2009-08-30  Bruno Haible  <bruno@clisp.org>
39560
39561         Work around iconv_open problem on Solaris.
39562         * lib/iconv_open-solaris.gperf: New file.
39563         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
39564         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
39565         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
39566         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
39567         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
39568         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
39569
39570 2009-08-29  Jim Meyering  <meyering@redhat.com>
39571
39572         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
39573         * top/maint.mk (cvs-check): Remove target; it was just an alias
39574         to the better-named vc-diff-check.
39575         (maintainer-distcheck): Remove rule.  It was used only from
39576         the (alpha/beta/major) target, and all of its commands but one
39577         were coreutils-specific.
39578         (vc-dist): Remove rule.
39579         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
39580         Run vc-diff-check, not vc-dist.
39581         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
39582
39583 2009-08-27  Bruno Haible  <bruno@clisp.org>
39584
39585         * tests/test-bitrotate.c (main): Remove test that uses a shift count
39586         of 0.
39587
39588 2009-08-27  Bruno Haible  <bruno@clisp.org>
39589
39590         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
39591         compilers.
39592         * doc/func.texi: Document the SunPRO C bug.
39593
39594 2009-08-27  Bruno Haible  <bruno@clisp.org>
39595
39596         Fix link error on Solaris.
39597         * tests/test-parse-duration.c (xstrdup): Remove function.
39598
39599 2009-08-26  Pádraig Brady  <P@draigbrady.com>
39600
39601         ignore-value: handle pointer types, too
39602         * lib/ignore-value.h (__attribute__): Remove definition.
39603         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
39604         of a more concise and more-often effective "(void) i" statement.
39605         (ignore_ptr): New function to suppress warnings from functions that
39606         return pointers, and to make it explicit that one function doesn't
39607         handle all cases.
39608
39609 2009-08-25  Bruno Haible  <bruno@clisp.org>
39610
39611         dup2: work around a Linux bug.
39612         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
39613         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
39614         * doc/posix-functions/dup2.texi: Mention the Linux bug.
39615         Reported by Simon Josefsson.
39616
39617 2009-08-25  Jim Meyering  <meyering@redhat.com>
39618
39619         libguestfs uses gnulib
39620         * users.txt: Add libguestfs.
39621
39622 2009-08-24  Eric Blake  <ebb9@byu.net>
39623
39624         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
39625         * lib/pipe2.c (includes): Add binary-io.h.
39626         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
39627
39628 2009-08-24  Bruno Haible  <bruno@clisp.org>
39629
39630         Tolerate declared but missing accept4 syscall.
39631         * lib/accept4.c (accept4): Invoke original accept4 function first, if
39632         available.
39633         * lib/sys_socket.in.h (accept4): If the function is already present,
39634         override it.
39635         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
39636         * modules/accept4 (Makefile.am): Compile accept4.c always.
39637         Reported by Paolo Bonzini and Eric Blake.
39638
39639 2009-08-23  Bruno Haible  <bruno@clisp.org>
39640
39641         New module 'accept4'.
39642         * lib/sys_socket.in.h (accept4): New declaration.
39643         * lib/accept4.c: New file.
39644         * m4/accept4.m4: New file.
39645         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
39646         GNULIB_ACCEPT4, HAVE_ACCEPT4.
39647         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
39648         HAVE_ACCEPT4.
39649         * modules/accept4: New file.
39650         * doc/glibc-functions/accept4.texi: Mention the new module.
39651
39652 2009-08-24  Jim Meyering  <meyering@redhat.com>
39653
39654         progname: also set global program_invocation_name, when possible
39655         Before this change, a libtool-enabled program that calls glibc's
39656         error function would report the program name as
39657         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
39658         * modules/progname (configure.ac): Check for a declaration of
39659         program_invocation_name.
39660         * lib/progname.c:  Include <errno.h>.
39661         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
39662         Set program_invocation_name.
39663
39664 2009-08-23  Bruno Haible  <bruno@clisp.org>
39665
39666         * lib/dup3.c: Include <string.h>.
39667
39668 2009-08-23  Bruno Haible  <bruno@clisp.org>
39669
39670         * lib/dup3.c (dup3): Test only once whether the system actually exists.
39671         * lib/pipe2.c (pipe2): Likewise.
39672         Suggested by Eric Blake.
39673
39674 2009-08-23  Bruno Haible  <bruno@clisp.org>
39675
39676         Tolerate declared but missing dup3 syscall.
39677         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
39678         * lib/unistd.in.h (dup3): If the function is already present,
39679         override it.
39680         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
39681         * modules/dup3 (Makefile.am): Compile dup3.c always.
39682         Reported by Paolo Bonzini.
39683
39684 2009-08-23  Bruno Haible  <bruno@clisp.org>
39685
39686         Tolerate declared but missing pipe2 syscall.
39687         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
39688         available.
39689         * lib/unistd.in.h (pipe2): If the function is already present,
39690         override it.
39691         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
39692         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
39693         Reported by Paolo Bonzini.
39694
39695 2009-08-23  Bruno Haible  <bruno@clisp.org>
39696
39697         * lib/pipe2.c (pipe2): Move #ifs inside function.
39698
39699 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39700
39701         quotearg: document limitations of quote_these_too
39702         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
39703         those limitations are created.
39704         * lib/quotearg.h (set_char_quoting): Document that digits and
39705         letters that are special after backslash are not permitted.
39706         (quotearg_char): Cross-reference set_char_quoting documentation.
39707
39708 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
39709
39710         quotearg: implement custom_quoting_style
39711         * lib/quotearg.c: (struct quoting_options): Add left_quote and
39712         right_quote fields.
39713         (set_custom_quoting): New public function.
39714         (quotearg_buffer_restyled): Add left_quote and right_quote
39715         arguments, handle them very much like locale quoting, and update
39716         all uses.
39717         (quotearg_n_custom): New public function.
39718         (quotearg_n_custom_mem): New public function.
39719         (quotearg_custom): New public function.
39720         (quotearg_custom_mem): New public function.
39721         * lib/quotearg.h: Prototype and document new public functions.
39722         (enum quoting_style): For escape_quoting_style and
39723         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
39724         ignored even though they're otherwise like c_quoting_style.
39725         Add custom_quoting_style member and document with comparison to
39726         clocale_quoting_style.
39727         * tests/test-quotearg.c (custom_quotes): New array.
39728         (custom_results): New array.
39729         (main): Extend to test custom quoting.
39730
39731 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39732
39733         quotearg: fix right quote escaping when it's in quote_these_too
39734         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
39735         quote, be sure to prepend only one backslash.
39736         * tests/test-quotearg.c (use_quote_double_quotes): New function.
39737         (main): Test it.
39738
39739 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39740
39741         quotearg-tests: test escaping of embedded locale quotes
39742         * tests/test-quotearg.c (struct result_strings): Add member for
39743         new input.
39744         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
39745         (inputs): Add new input.
39746         (results_g): Add expected results.
39747         (flag_results): Likewise.
39748         (locale_results): Likewise.
39749         (compare_strings): Check those.
39750
39751 2009-08-23  Bruno Haible  <bruno@clisp.org>
39752
39753         Tests for module 'dup3'.
39754         * modules/dup3-tests: New file.
39755         * tests/test-dup3.c: New file.
39756
39757         New module 'dup3'.
39758         * lib/unistd.in.h (dup3): New declaration.
39759         * lib/dup3.c: New file.
39760         * m4/dup3.m4: New file.
39761         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
39762         HAVE_DUP3.
39763         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
39764         * modules/dup3: New file.
39765         * doc/glibc-functions/dup3.texi: Mention the new module.
39766
39767 2009-08-23  Bruno Haible  <bruno@clisp.org>
39768
39769         Tweak the dup2 test.
39770         * tests/test-dup2.c (main): Create the test file empty. Verify that an
39771         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
39772         the test file is still empty. Fix argument order of lseek.
39773
39774 2009-08-23  Bruno Haible  <bruno@clisp.org>
39775
39776         Avoid test link errors when the modules getopt-gnu, gettext are used.
39777         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
39778         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39779
39780 2009-08-23  Bruno Haible  <bruno@clisp.org>
39781
39782         Fix getdtablesize() on mingw.
39783         * lib/getdtablesize.c (getdtablesize): Implement differently.
39784         * lib/unistd.in.h (getdtablesize): Improve comment.
39785
39786 2009-08-23  Bruno Haible  <bruno@clisp.org>
39787
39788         New module 'mkostemp'.
39789         Based on Ulrich Drepper's 2007-08-10 change in glibc.
39790         * lib/stdlib.in.h (mksotemp): New declaration.
39791         * lib/mkostemp.c: New file, from glibc with modifications.
39792         * lib/tempname.h (GT_FILE): Remove outdated comment.
39793         (gen_tempname): Add flags argument.
39794         * lib/tempname.c (__GT_BIGFILE): Remove macro.
39795         (__GT_FILE): Map to 1.
39796         (small_open, large_open): Remove macros.
39797         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
39798         * lib/mkstemp.c (mkstemp): Update.
39799         * lib/mkdtemp.c (mkdtemp): Likewise.
39800         * m4/mkostemp.m4: New file.
39801         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
39802         HAVE_MKOSTEMP.
39803         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
39804         HAVE_MKOSTEMP.
39805         * modules/mkostemp: New file, based on modules/mkstemp.
39806         * doc/glibc-functions/mkostemp.texi: Mention the new module.
39807         * NEWS: Mention the change.
39808
39809 2009-08-23  Bruno Haible  <bruno@clisp.org>
39810
39811         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
39812         Reported by Eric Blake.
39813
39814 2009-08-23  Bruno Haible  <bruno@clisp.org>
39815
39816         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
39817         Reported by Eric Blake.
39818
39819 2009-08-23  Bruno Haible  <bruno@clisp.org>
39820
39821         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
39822         * modules/pipe2 (Depends-on): Likewise.
39823
39824 2009-08-23  Eric Blake  <ebb9@byu.net>
39825
39826         fcntl-h: add O_TTY_INIT support
39827         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
39828         * tests/test-fcntl-h.c (o): Test it.
39829         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
39830
39831         fcntl-h: rename from fcntl, in preparation for fcntl(2)
39832         * modules/fcntl: Move <fcntl.h> header replacement...
39833         * modules/fcntl-h: ...to new name, so as not to collide with
39834         like-named function.
39835         * tests/test-fcntl.c: Rename...
39836         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
39837         * modules/fcntl-tests: Rename...
39838         * modules/fcntl-h-tests: ...to this.  Update test file name.
39839         * modules/chdir-long (Depends-on): Update clients.
39840         * modules/chdir-safer (Depends-on): Likewise.
39841         * modules/fcntl-safer (Depends-on): Likewise.
39842         * modules/fts (Depends-on): Likewise.
39843         * modules/mkancesdirs (Depends-on): Likewise.
39844         * modules/mkdir-p (Depends-on): Likewise.
39845         * modules/open (Depends-on): Likewise.
39846         * modules/savewd (Depends-on): Likewise.
39847         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
39848         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
39849
39850 2009-08-22  Bruno Haible  <bruno@clisp.org>
39851
39852         * modules/binary-io (License): Relicense under LGPL.
39853         * modules/pipe2 (License): Likewise.
39854
39855 2009-08-22  Bruno Haible  <bruno@clisp.org>
39856
39857         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
39858         return value.
39859         * lib/pipe-filter-gi.c (filter_init): Likewise.
39860         Reported by Eric Blake.
39861
39862 2009-08-22  Bruno Haible  <bruno@clisp.org>
39863
39864         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
39865         * modules/pipe (Depends-on): Add pipe2.
39866
39867 2009-08-22  Bruno Haible  <bruno@clisp.org>
39868
39869         Tests for module 'pipe2'.
39870         * modules/pipe2-tests: New file.
39871         * tests/test-pipe2.c: New file.
39872
39873         New module 'pipe2'.
39874         * lib/unistd.in.h (pipe2): New declaration.
39875         * lib/pipe2.c: New file.
39876         * m4/pipe2.m4: New file.
39877         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
39878         HAVE_PIPE2.
39879         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
39880         * modules/pipe2: New file.
39881         * doc/glibc-functions/pipe2.texi: Mention the new module.
39882
39883 2009-08-22  Bruno Haible  <bruno@clisp.org>
39884
39885         Reference some new glibc functions.
39886         * doc/glibc-functions/accept4.texi: New file.
39887         * doc/glibc-functions/dup3.texi: New file.
39888         * doc/glibc-functions/mkostemp.texi: New file.
39889         * doc/glibc-functions/pipe2.texi: New file.
39890         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
39891         (Glibc sys/socket.h): Refer to accept4.
39892         (Glibc unistd.h): Refer to dup3, pipe2.
39893         Reported by Eric Blake.
39894
39895 2009-08-22  Jim Meyering  <meyering@redhat.com>
39896             Bruno Haible  <bruno@clisp.org>
39897
39898         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
39899         This makes it so packages using automake-1.11's silent-rules option
39900         can print e.g., a single "GEN    configmake.h" line, rather than
39901         the 30+ statements that perform the job.  If you want to see the
39902         actual commands, you can still run "make V=1".
39903         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
39904         so that make output is abbreviated when those variables are defined
39905         appropriately.
39906         * modules/argz: Likewise.
39907         * modules/arpa_inet: Likewise.
39908         * modules/byteswap: Likewise.
39909         * modules/configmake: Likewise.
39910         * modules/dirent: Likewise.
39911         * modules/errno: Likewise.
39912         * modules/fcntl: Likewise.
39913         * modules/float: Likewise.
39914         * modules/fnmatch: Likewise.
39915         * modules/getopt-posix: Likewise.
39916         * modules/glob: Likewise.
39917         * modules/iconv_open: Likewise.
39918         * modules/inttypes: Likewise.
39919         * modules/localcharset: Likewise.
39920         * modules/locale: Likewise.
39921         * modules/math: Likewise.
39922         * modules/netdb: Likewise.
39923         * modules/netinet_in: Likewise.
39924         * modules/poll: Likewise.
39925         * modules/posix_spawnp-tests: Likewise.
39926         * modules/sched: Likewise.
39927         * modules/search: Likewise.
39928         * modules/selinux-h: Likewise.
39929         * modules/signal: Likewise.
39930         * modules/spawn: Likewise.
39931         * modules/stdarg: Likewise.
39932         * modules/stdbool: Likewise.
39933         * modules/stddef: Likewise.
39934         * modules/stdint: Likewise.
39935         * modules/stdio: Likewise.
39936         * modules/stdlib: Likewise.
39937         * modules/string: Likewise.
39938         * modules/strings: Likewise.
39939         * modules/sys_file: Likewise.
39940         * modules/sys_ioctl: Likewise.
39941         * modules/sys_select: Likewise.
39942         * modules/sys_socket: Likewise.
39943         * modules/sys_stat: Likewise.
39944         * modules/sys_time: Likewise.
39945         * modules/sys_times: Likewise.
39946         * modules/sys_utsname: Likewise.
39947         * modules/sys_wait: Likewise.
39948         * modules/sysexits: Likewise.
39949         * modules/time: Likewise.
39950         * modules/unistd: Likewise.
39951         * modules/wchar: Likewise.
39952         * modules/wctype: Likewise.
39953
39954 2009-08-22  Jim Meyering  <meyering@redhat.com>
39955
39956         announce-gen: detect write failure
39957         * build-aux/announce-gen: Add Coda at end.
39958         Remove equivalent-but-more-verbose block at top.
39959
39960 2009-08-19  Akim Demaille  <demaille@gostai.com>
39961
39962         bootstrap: --help to stdout.
39963         * bootstrap (usage): Don't send --help to stderr.
39964         Use a here doc instead of a long string.
39965
39966 2009-08-21  Eric Blake  <ebb9@byu.net>
39967
39968         test-popen-safer: split from test-popen
39969         * tests/test-popen.c (main): Move...
39970         * tests/test-popen.h: ...into new file.
39971         * tests/test-popen-safer2.c: New file.
39972         * modules/popen-tests (Files): Add test-popen.h.
39973         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
39974         Suggested by Bruno Haible.
39975
39976         test-fcntl-safer: split from test-open
39977         * tests/test-open.c (main): Move...
39978         * tests/test-open.h: ...into new file.
39979         * tests/test-fcntl-safer.c: New file.
39980         * modules/open-tests (Files): Add test-open.h.
39981         * modules/fcntl-safer-tests: New file.
39982         Suggested by Bruno Haible.
39983
39984         test-fopen-safer: split from test-fopen
39985         * tests/test-fopen.c (main): Move...
39986         * tests/test-fopen.h: ...into new file.
39987         * tests/test-fopen-safer.c: New file.
39988         * modules/fopen-tests (Files): Add test-fopen.h.
39989         * modules/fopen-safer-tests: New file.
39990         Suggested by Bruno Haible.
39991
39992 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
39993
39994         popen-safer: test O_CLOEXEC at run-time.
39995         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
39996
39997 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
39998
39999         fcntl: move more flags to the header
40000         * lib/cloexec.c: Do not define FD_CLOEXEC here.
40001         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
40002         * lib/fcntl.in.h: Do both things here.
40003
40004 2009-08-21  Jim Meyering  <meyering@redhat.com>
40005
40006         consistently remove $@-t before redirecting to it
40007         * modules/argz: Remove $@-t and $@ before redirecting to the former.
40008         * modules/alloca-opt: Likewise.
40009         * modules/byteswap: Likewise.
40010         * modules/fnmatch: Likewise.
40011         * modules/getopt-posix: Likewise.
40012         * modules/glob: Likewise.
40013         * modules/poll: Likewise.
40014         * modules/posix_spawnp-tests: Likewise.
40015         * modules/sys_socket: Likewise.
40016         * modules/sysexits: Likewise.
40017
40018 2009-08-21  Eric Blake  <ebb9@byu.net>
40019
40020         popen: simplify access to original popen
40021         * lib/popen.c (rpl_popen): No need to worry about popen being a
40022         macro.
40023         Reported by Bruno Haible.
40024
40025 2009-08-20  Eric Blake  <ebb9@byu.net>
40026
40027         build: avoid some compiler warnings
40028         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
40029         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
40030         type.
40031         (new_exclude_segment, excluded_file_pattern_p)
40032         (excluded_file_name_p): Reduce scope.
40033         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
40034         old-style declaration.
40035
40036 2009-08-20  Simon Josefsson  <simon@josefsson.org>
40037
40038         * tests/test-exclude1.sh: Handle Windows EOL.
40039         * tests/test-exclude2.sh: Likewise.
40040         * tests/test-exclude3.sh: Likewise.
40041         * tests/test-exclude4.sh: Likewise.
40042         * tests/test-exclude5.sh: Likewise.
40043         * tests/test-exclude6.sh: Likewise.
40044         * tests/test-exclude7.sh: Likewise.
40045
40046 2009-08-19  Akim Demaille  <demaille@gostai.com>
40047
40048         bootstrap: find sha1sum when named gsha1sum.
40049         * bootstrap (find_tool): New.
40050         ($SHA1SUM): New.
40051         Use it.
40052
40053 2009-08-20  Jim Meyering  <meyering@redhat.com>
40054
40055         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
40056         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
40057         expression that converts "." in a file name to "\." in the resulting
40058         regexp.  Start with a dummy statement, so that prior shell variable
40059         definitions are expanded portably.  Reported by Simon Josefsson.
40060
40061 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
40062
40063         Fix polling for writeability of a screen buffer.
40064         * lib/poll.c: Distinguish input and screen buffers for the
40065         Win32 implementation.
40066         * lib/select.c: Likewise.
40067
40068 2009-08-19  Eric Blake  <ebb9@byu.net>
40069
40070         popen-safer: prevent popen from clobbering std descriptors
40071         * modules/popen-safer: New file.
40072         * lib/popen-safer.c: Likewise.
40073         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
40074         * lib/stdio--.h (popen): Provide override.
40075         * lib/stdio-safer.h (popen_safer): Provide declaration.
40076         * tests/test-popen.c (includes): Partially test this.
40077         * modules/popen-safer-tests: New file, for more tests.
40078         * tests/test-popen-safer.c: Likewise.
40079         * MODULES.html.sh (file stream based Input/Output): Mention it.
40080
40081         tests: test some of the *-safer modules
40082         * modules/fopen-safer (Depends-on): Add fopen.
40083         * modules/fcntl-safer (Depends-on): Add fcntl.
40084         * modules/stdlib-safer (Depends-on): Add stdlib.
40085         (configure.ac): Set indicator.
40086         * modules/unistd-safer (configure.ac): Likewise.
40087         * modules/tmpfile-safer (configure.ac): Likewise.
40088         (Depends-on): Add tmpfile.
40089         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
40090         active.
40091         * tests/test-fopen.c (includes): Test safer versions when they are
40092         in use.
40093         * tests/test-open.c (includes): Likewise.
40094
40095         popen: fix cygwin 1.5 bug when stdin closed
40096         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
40097         * modules/popen: New file.
40098         * modules/popen-tests: Likewise.
40099         * tests/test-popen.c: Likewise.
40100         * m4/popen.m4: Likewise.
40101         * lib/popen.c: Likewise.
40102         * lib/stdio.in.h (popen): New declaration.
40103         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
40104         * modules/stdio (Makefile.am): Likewise.
40105         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
40106
40107 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
40108
40109         maint.mk: give full control over update-copyright exclusions
40110         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
40111         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
40112         (update-copyright): Don't force inclusion of top-level
40113         ChangeLog.  Don't force exclusion of all COPYING files, but make
40114         them the default exclusion instead.
40115
40116 2009-08-16  Bruno Haible  <bruno@clisp.org>
40117
40118         Fix test failures on Solaris 10.
40119         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
40120         tests when Solaris iconv() is used.
40121         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
40122         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
40123         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
40124         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
40125         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
40126
40127 2009-08-16  Bruno Haible  <bruno@clisp.org>
40128
40129         Fix test failures on Solaris 10.
40130         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
40131         'tr' program and pass it as first argument.
40132         * tests/test-pipe-filter-gi1.sh: Likewise.
40133         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
40134         program as first argument.
40135         * tests/test-pipe-filter-gi1.c (main): Likewise.
40136
40137 2009-08-16  Eric Blake  <ebb9@byu.net>
40138
40139         fpurge: fix previous commits
40140         * modules/fpurge (Makefile.am): Make replacement conditional,
40141         partially reverting 2007-04-29 change; missed in previous
40142         attempt.
40143         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
40144         is missing.
40145
40146 2009-08-16  Bruno Haible  <bruno@clisp.org>
40147
40148         Clarify fpurge's effect on the file position.
40149         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
40150         * tests/test-fpurge.c (main): Make a second pass for checking the file
40151         position.
40152
40153 2009-08-16  Bruno Haible  <bruno@clisp.org>
40154
40155         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
40156         declaration of fpurge is missing.
40157         * tests/test-fpurge.c (main): Check that the file has not more contents
40158         than expected. Close the file before removing it.
40159
40160 2009-08-15  Eric Blake  <ebb9@byu.net>
40161
40162         fpurge: don't wrap working cygwin implementation
40163         * lib/fpurge.c (fpurge): Fix comment typo.
40164         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
40165         1.7 to avoid replacement.
40166         * tests/test-fpurge.c (main): Enhance test.
40167
40168 2009-08-15  Eric Blake  <ebb9@byu.net>
40169         and Jim Meyering  <meyering@redhat.com>
40170
40171         test-update-copyright: skip if perl is insufficient
40172         * tests/test-update-copyright.sh: Failure to run maintainer tool
40173         should not cause testsuite failure on cygwin 1.5.
40174
40175 2009-08-14  Eric Blake  <ebb9@byu.net>
40176
40177         doc: mention more functions added in cygwin 1.7.0
40178         * doc/posix-headers/limits.texi (limits.h): Update for recent
40179         cygwin additions.
40180         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
40181         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
40182         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
40183         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
40184         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
40185
40186 2009-08-14  Eric Blake  <ebb9@byu.net>
40187
40188         maint.mk: simplify update-copyright rule
40189         * top/maint.mk (update-copyright-local): Delete, and document how
40190         to do it in cfg.mk instead.
40191         (update-copyright-exclude-regexp): Delete, and document how to do
40192         it in .x-update-copyright instead.
40193         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
40194         exclude ChangeLog.
40195
40196 2009-08-14  Bruno Haible  <bruno@clisp.org>
40197
40198         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
40199
40200 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40201
40202         maint.mk: support update-copyright-env
40203         * top/maint.mk (update-copyright-env): Define place-holder.
40204         (update-copyright): Expand $(update-copyright-env) before
40205         invoking update-copyright.
40206
40207 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40208
40209         update-copyright: implement forced reformatting
40210         * build-aux/update-copyright: Implement and document
40211         UPDATE_COPYRIGHT_FORCE.
40212         * tests/test-update-copyright.sh: Test it.
40213
40214 2009-08-14  Eric Blake  <ebb9@byu.net>
40215         and Bruno Haible  <bruno@clisp.org>
40216
40217         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
40218         * tests/test-locale.c: Revert previous patch related to NULL.
40219         * tests/test-stdio.c: Likewise.
40220         * tests/test-stdlib.c: Likewise.
40221         * tests/test-string.c: Likewise.
40222         * tests/test-unistd.c: Likewise.
40223         * modules/time-tests (Depends-on): Add verify.
40224         * modules/wchar-tests (Depends-on): Likewise.
40225         * tests/test-time.c: Test for NULL compliance.
40226         * tests/test-wchar.c: Likewise.
40227         * modules/locale (Depends-on): Add stddef.
40228         * modules/stdio (Depends-on): Likewise.
40229         * modules/stdlib (Depends-on): Likewise.
40230         * modules/string (Depends-on): Likewise.
40231         * modules/time (Depends-on): Likewise.
40232         * modules/unistd (Depends-on): Likewise.
40233         * modules/wchar (Depends-on): Likewise.
40234         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
40235         * lib/stdlib.in.h (includes): Likewise.
40236         * lib/string.in.h (includes): Likewise.
40237         * lib/time.in.h (includes): Likewise.
40238         * lib/unistd.in.h (includes): Likewise.
40239         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
40240         replaced.
40241         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
40242         * m4/stddef_h.m4: New file.
40243         * modules/stddef: Likewise.
40244         * lib/stddef.in.h: Likewise.
40245         * modules/stddef-tests: Likewise.
40246         * tests/test-stddef.c: Likewise.
40247         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
40248         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
40249         * doc/posix-headers/locale.texi (locale.h): Likewise.
40250         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
40251         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
40252         * doc/posix-headers/string.texi (string.h): Likewise.
40253         * doc/posix-headers/time.texi (time.h): Likewise.
40254         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
40255         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
40256
40257 2009-08-14  Eric Blake  <ebb9@byu.net>
40258
40259         doc: improve git diff of texinfo files
40260         * .gitattributes: Add rule for *.texi files, with hint on how to
40261         use it.
40262         Copied from m4, and based on a report by Bruno Haible.
40263
40264 2009-08-14  Bruno Haible  <bruno@clisp.org>
40265
40266         Disable multithread support by default on Cygwin 1.5.x for real.
40267         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
40268
40269 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40270
40271         update-copyright: much ado about intervals
40272         * build-aux/update-copyright: Implement and document
40273         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
40274         of copyright year intervals.
40275         Also, document UPDATE_COPYRIGHT_YEAR.
40276         * tests/test-update-copyright.sh: Test it.
40277
40278         update-copyright: convert 2-digit to 4-digit years
40279         * build-aux/update-copyright: Implement and document.
40280         * tests/test-update-copyright.sh: Update.
40281
40282 2009-08-14  Jim Meyering  <meyering@redhat.com>
40283
40284         test-exclude: avoid coreutils "make check" failure
40285         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
40286         just as in test-argmatch.c.
40287
40288 2009-08-13  Eric Blake  <ebb9@byu.net>
40289
40290         test-dup2: fix bad assumption
40291         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
40292         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
40293
40294         test-version-etc: fix CRLF portability issue
40295         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
40296         recognize \r.
40297         * tests/test-argp-version-etc-1.sh: Likewise.
40298
40299         getopt: update client modules
40300         * modules/argp (Depends-on): Use getopt-gnu.
40301         * modules/git-merge-changelog (Depends-on): Likewise.
40302         * modules/long-options (Depends-on): Likewise.
40303         * modules/xstrtol (Depends-on): Likewise.
40304
40305 2009-08-13  Simon Josefsson  <simon@josefsson.org>
40306
40307         * tests/test-version-etc.sh: Don't fail on different
40308         project/version.  Don't fail on CRLF differences.  Rewrite to use
40309         multiple -e instead of multiple sed forks, suggested by Eric Blake
40310         <ebb9@byu.net>.
40311         * tests/test-argp-version-etc-1.sh: Likewise.
40312
40313 2009-08-13  Simon Josefsson  <simon@josefsson.org>
40314
40315         * tests/test-version-etc.sh: Don't fail on different
40316         project/version.
40317
40318 2009-08-12  Bruno Haible  <bruno@clisp.org>
40319
40320         Tests for modules 'getopt-posix', 'getopt-gnu'.
40321         * modules/getopt-posix-tests: New file.
40322         * tests/test-getopt.c: New file.
40323         * tests/test-getopt.h: New file.
40324         * tests/test-getopt_long.h: New file.
40325
40326         New modules 'getopt-posix', 'getopt-gnu'.
40327         * modules/getopt-gnu: New file, renamed from modules/getopt.
40328         * modules/getopt-posix: New file.
40329         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
40330         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
40331         (gl_GETOPT): Remove macro.
40332         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
40333         Disable the test against BSD systems that declare optreset. Test
40334         against mingw bug. Test against lack of support of optional arguments
40335         on many platforms.
40336         * doc/glibc-headers/getopt.texi: Update module name and list of
40337         relevant platforms.
40338         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
40339         'getopt-gnu' and more portability problems.
40340         * NEWS: Mention the changes.
40341
40342 2009-08-12  Bruno Haible  <bruno@clisp.org>
40343
40344         Ensure that optarg etc. get declared by <unistd.h>.
40345         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
40346         AC_USE_SYSTEM_EXTENSIONS.
40347         * modules/getopt (Depends-on): Add 'extensions'.
40348
40349 2009-08-12  Bruno Haible  <bruno@clisp.org>
40350
40351         Avoid test link errors.
40352         * modules/pipe-filter-ii-tests (Makefile.am): Define
40353         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
40354         * modules/pipe-filter-gi-tests (Makefile.am): Define
40355         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
40356         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40357
40358 2009-08-12  Bruno Haible  <bruno@clisp.org>
40359
40360         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
40361         gl_GETOPT_SUBSTITUTE before.
40362         (gl_GETOPT): Use it.
40363         * m4/argp.m4 (gl_ARGP): Update.
40364         Reported by Sergey Poznyakoff.
40365
40366         * m4/getopt.m4: Reorder macros.
40367         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
40368         (gl_GETOPT_SUBSTITUTE): Remove macro.
40369
40370 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40371
40372         Minor improvement in gitlog-to-changelog
40373
40374         * build-aux/gitlog-to-changelog: New option `--format' makes
40375         output format string configurable.
40376
40377 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40378
40379         Optimize exclude: use hash tables for non-wildcard patterns.
40380
40381         * lib/exclude.c: Include hash.h and mbuiter.h
40382         (struct exclude_pattern, exclude_segment): New data types.
40383         (struct exclude): Rewrite.
40384         (fnmatch_pattern_has_wildcards): New function.
40385         (new_exclude_segment, free_exclude_segment): New functions.
40386         (excluded_file_pattern_p, excluded_file_name_p): New functions.
40387         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
40388         * lib/exclude.h (is_fnmatch_pattern): New prototype.
40389         * modules/exclude: Depend on hash and mbuiter.
40390
40391         * modules/exclude-tests: New file.
40392         * tests/test-exclude.c: New file.
40393         * tests/test-exclude1.sh: New file.
40394         * tests/test-exclude2.sh: New file.
40395         * tests/test-exclude3.sh: New file.
40396         * tests/test-exclude4.sh: New file.
40397         * tests/test-exclude5.sh: New file.
40398         * tests/test-exclude6.sh: New file.
40399         * tests/test-exclude7.sh: New file.
40400
40401 2009-08-12  Bruno Haible  <bruno@clisp.org>
40402
40403         Ensure that getopt() gets declared by <unistd.h>.
40404         * lib/unistd.in.h: Conditionally include getopt.h.
40405         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
40406         Set GNULIB_UNISTD_H_GETOPT.
40407         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40408         GNULIB_UNISTD_H_GETOPT.
40409         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
40410
40411 2009-08-12  Bruno Haible  <bruno@clisp.org>
40412
40413         Clarify logic.
40414         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
40415         gl_replace_getopt instead of GETOPT_H.
40416
40417 2009-08-12  Bruno Haible  <bruno@clisp.org>
40418
40419         * m4/getopt.m4: Add comments.
40420
40421 2009-08-12  Bruno Haible  <bruno@clisp.org>
40422
40423         Disable multithread support by default on Cygwin 1.5.x.
40424         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
40425         set gl_use_threads=no if not specified otherwise.
40426
40427 2009-08-11  Bruno Haible  <bruno@clisp.org>
40428
40429         Avoid compilation error on NetBSD 5.0.
40430         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
40431         * tests/test-stdio.c: Likewise.
40432         * tests/test-stdlib.c: Likewise.
40433         * tests/test-string.c: Likewise.
40434         * tests/test-unistd.c: Likewise.
40435         Reported by Greg Troxel <gdt@ir.bbn.com>
40436         at <https://savannah.gnu.org/support/?106973>.
40437
40438 2009-08-11  Bruno Haible  <bruno@clisp.org>
40439
40440         * modules/dup2-tests (Depends-on): Remove close.
40441
40442         Undo 2009-07-19 commit.
40443         * modules/acl-tests (Depends-on): Remove close.
40444         * modules/binary-io-tests (Depends-on): Likewise.
40445         * modules/closein-tests (Depends-on): Likewise.
40446         * modules/flock-tests (Depends-on): Likewise.
40447         * modules/fsync-tests (Depends-on): Likewise.
40448         * modules/lseek-tests (Depends-on): Likewise.
40449         * modules/pipe-tests (Depends-on): Likewise.
40450         * modules/posix_spawn-tests (Depends-on): Likewise.
40451         * modules/posix_spawnp-tests (Depends-on): Likewise.
40452         * modules/stat-time-tests (Depends-on): Likewise.
40453         * modules/yesno-tests (Depends-on): Likewise.
40454
40455 2009-08-10  Bruno Haible  <bruno@clisp.org>
40456
40457         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
40458
40459 2009-08-10  Bruno Haible  <bruno@clisp.org>
40460
40461         Fix a gcc warning.
40462         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
40463
40464 2009-08-10  Bruno Haible  <bruno@clisp.org>
40465
40466         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
40467         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
40468         not only the first time.
40469         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
40470         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
40471         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
40472         is 1, not only the the first time.
40473
40474 2009-08-10  Bruno Haible  <bruno@clisp.org>
40475
40476         Make it possible to use module 'gethostname' without module 'close'.
40477         * lib/unistd.in.h (close): Evoke a link error only if
40478         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
40479         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40480         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40481         * modules/unistd (Makefile.am): Substitute
40482         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40483         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
40484         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
40485         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
40486         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40487         * modules/sys_ioctl (Makefile.am): Substitute
40488         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40489         * modules/socket (configure.ac): On native Windows, set
40490         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
40491         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40492         Reported by Sam Steingold <sds@gnu.org>.
40493
40494 2009-08-10  Bruno Haible  <bruno@clisp.org>
40495
40496         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
40497         * modules/ioctl (configure.ac): Likewise.
40498
40499 2009-08-10  Bruno Haible  <bruno@clisp.org>
40500
40501         Avoid collision between gnulib wrapper and libintl wrapper.
40502         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
40503         already defined in intl/printf.c.
40504         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
40505         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
40506
40507 2009-08-09  Bruno Haible  <bruno@clisp.org>
40508
40509         Make <sys/select.h> really self-contained, also on Solaris 10.
40510         * lib/sys_select.in.h: Include <string.h>.
40511         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
40512         Solaris 10 problem.
40513         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
40514         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
40515         Reported by Jim Meyering.
40516
40517 2009-08-09  Bruno Haible  <bruno@clisp.org>
40518
40519         Avoid warnings from 'aclocal' that are due to a use of macro name
40520         AM_XGETTEXT_OPTION that is not defined in automake.
40521         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
40522         automake.
40523         * modules/error (configure.ac): Likewise.
40524         * modules/propername (configure.ac): Likewise.
40525         * modules/vasprintf (configure.ac): Likewise.
40526         * modules/verror (configure.ac): Likewise.
40527         * modules/xprintf (configure.ac): Likewise.
40528         * modules/xvasprintf (configure.ac): Likewise.
40529
40530 2009-08-08  Bruno Haible  <bruno@clisp.org>
40531
40532         Avoid compilation error in C++ mode.
40533         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
40534         Reported by Sam Steingold <sds@gnu.org>.
40535
40536 2009-08-08  Bruno Haible  <bruno@clisp.org>
40537
40538         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
40539         for the various Unix platforms.
40540         * doc/posix-headers/limits.texi: Update platforms list regarding
40541         HOST_NAME_MAX.
40542         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40543
40544 2009-08-07  Jim Meyering  <meyering@redhat.com>
40545
40546         selinux-at: fix typo in a comment
40547         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
40548         Spotted by Paolo Bonzini.
40549
40550         selinux-at: remove redundant m4 code, add documentation
40551         * modules/selinux-at (configure.ac): Remove redundant code.
40552         LIB_SELINUX is already set via the dependent module, selinux-h.
40553         (Include): Add quotes around selinux-at.h.
40554         * lib/selinux-at.h: Add documentation.
40555         Reported by Bruno Haible in
40556         http://marc.info/?l=gnulib-bug&m=124958988300749
40557
40558 2009-08-07  Bruno Haible  <bruno@clisp.org>
40559
40560         Avoid link error on MacOS X 10.3 and 10.4.
40561         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
40562         on non-ELF systems.
40563         * lib/argp-pv.c (argp_program_version): Likewise.
40564         Reported by Simon Josefsson.
40565
40566 2009-08-07  Simon Josefsson  <simon@josefsson.org>
40567
40568         * tests/test-version-etc.sh: Use $EXEEXT.
40569
40570 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
40571
40572         update-copyright: update documentation to point to maint.mk
40573         * build-aux/update-copyright: Here.
40574
40575 2009-08-06  Jim Meyering  <meyering@redhat.com>
40576
40577         maint.mk: support update-copyright-local
40578         * top/maint.mk (update-copyright-local): Define place-holder.
40579         (update-copyright): Depend on $(update-copyright-local).
40580
40581 2009-08-06  Jim Meyering  <meyering@redhat.com>
40582
40583         selinux-at: new module
40584         Initially written for coreutils, this module will soon be
40585         used by findutils, too.
40586         * MODULES.html.sh [Misc]: Add selinux-at.
40587         * lib/selinux-at.h: New file, from coreutils.
40588         * lib/selinux-at.c: Likewise.
40589         * modules/selinux-at: Likewise.
40590         (License): Change from LGPL to GPL, since it depends
40591         on the GPL'd openat module.
40592
40593         doc: update README
40594         * README: Remove references to cogito.
40595         Remove cvs-repo-updating instructions from 2007.
40596         Don't imply that CVS is better if you have limited disk space.
40597
40598 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40599
40600         update-copyright: support C-style comments
40601         * build-aux/update-copyright: Implement and document.
40602         * tests/test-update-copyright.sh: Test.
40603
40604 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40605
40606         update-copyright: support omitted "(C)"
40607         * build-aux/update-copyright: Implement and document.  Also,
40608         allow variable whitespace before "(C)".
40609         * tests/test-update-copyright.sh: Test.
40610
40611 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40612
40613         update-copyright: don't trip on non-FSF copyright statements
40614         * build-aux/update-copyright: Fix so that the first correctly
40615         formatted FSF copyright statement is recognized no matter what
40616         appears before it.  Update documentation.
40617         * tests/test-update-copyright.sh: Test that.
40618
40619 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40620
40621         update-copyright: clean up code a little
40622         * build-aux/update-copyright: Append "_re" to the name of any
40623         variable holding a regular expression.
40624         Replace "old" and "new" with "stmt" in variable names.
40625         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
40626         handled correctly.
40627         Format code more consistently.
40628
40629 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40630
40631         update-copyright-tests: improve portability
40632         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
40633         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
40634
40635 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
40636
40637         update-copyright: support @copyright{} and &copy;
40638         * build-aux/update-copyright: Implement and document.
40639         * tests/test-update-copyright.sh: Test.
40640
40641 2009-08-04  Jim Meyering  <meyering@redhat.com>
40642
40643         update-copyright-tests: correctly test EOL=\r\n handling
40644         * tests/test-update-copyright.sh: Put \r at the end of some lines
40645         for the dos-eol tests.  Based on a patch by Joel E. Denny.
40646
40647         maint.mk: make update-copyright exclusion list more configurable
40648         * top/maint.mk (update-copyright): Default to excluding COPYING,
40649         but allow an override, in case someone does want to update that file.
40650
40651         maint.mk: don't update copyright date in COPYING
40652         * top/maint.mk (update-copyright): Exclude COPYING.
40653
40654         maint.mk: add a copyright-updating rule
40655         * top/maint.mk (update-copyright): New rule.
40656         Derived from coreutils/Makefile.am.
40657
40658         update-copyright: rename some variables
40659         * build-aux/update-copyright: Rename a few variables for clarity.
40660         Tweak syntax.  List Joel E. Denny as coauthor.
40661
40662 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
40663
40664         update-copyright: fix bug for 2-digit last year and add tests
40665         * build-aux/update-copyright: Fix bug.
40666         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
40667         specified.
40668         * modules/update-copyright-tests: New
40669         * tests/test-update-copyright.sh: New.
40670
40671 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40672
40673         update-copyright: handle leading tabs in line prefix
40674         * build-aux/update-copyright: Count leading tabs as 8 spaces
40675         when computing margin.  This helps with the formatting of
40676         ChangeLogs, for example.
40677         Fix documentation a little.
40678
40679 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40680
40681         update-copyright: support EOL=\r\n
40682         * build-aux/update-copyright: Implement that.
40683
40684 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40685
40686         update-copyright: automatically format copyright statements
40687         * build-aux/update-copyright: Implement that.
40688         Also, be a little more predictable and safer by always failing
40689         when the full copyright format is not perfectly recognized as an
40690         unbroken whole.  Discussed at
40691         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
40692         Rewrite documentation.
40693
40694 2009-08-03  Bruno Haible  <bruno@clisp.org>
40695
40696         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
40697
40698 2009-08-02  Bruno Haible  <bruno@clisp.org>
40699
40700         Tests for module 'uname'.
40701         * modules/uname-tests: New file.
40702         * tests/test-uname.c: New file.
40703
40704         New module 'uname'.
40705         * lib/uname.c: New file.
40706         * m4/uname.m4: New file.
40707         * modules/uname: New file.
40708         * doc/posix-functions/uname.texi: Mention the new module.
40709
40710 2009-08-02  Bruno Haible  <bruno@clisp.org>
40711
40712         Tests for module 'sys_utsname'.
40713         * modules/sys_utsname-tests: New file.
40714         * tests/test-sys_utsname.c: New file.
40715
40716         New module 'sys_utsname'.
40717         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
40718         * m4/sys_utsname_h.m4: New file.
40719         * modules/sys_utsname: New file.
40720         * doc/posix-headers/sys_utsname.texi: Mention the new module.
40721
40722 2009-08-02  Bruno Haible  <bruno@clisp.org>
40723
40724         Implicitly initialize the sockets library.
40725         * lib/gethostname.c: Include sockets.h.
40726         (rpl_gethostname): Invoke gl_sockets_startup.
40727         * lib/socket.c: Include sockets.h.
40728         (rpl_socket): Invoke gl_sockets_startup.
40729         * modules/gethostname (Depends-on): Add sockets.
40730         * modules/socket (Depends-on): Likewise.
40731         * tests/test-poll.c: Don't include sockets.h.
40732         (main): Don't invoke gl_sockets_startup.
40733         * tests/test-select.c: Don't include sockets.h.
40734         (main): Don't invoke gl_sockets_startup.
40735
40736 2009-08-02  Bruno Haible  <bruno@clisp.org>
40737
40738         Allow multiple calls to gl_sockets_startup.
40739         * lib/sockets.c (initialized_sockets_version): New variable.
40740         (gl_sockets_startup): Do nothing if already called for this or a higher
40741         version.
40742         (gl_sockets_cleanup): Reset initialized_sockets_version.
40743
40744 2009-08-03  Simon Josefsson  <simon@josefsson.org>
40745
40746         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
40747         different project/version.
40748
40749 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
40750             Bruno Haible  <bruno@clisp.org>
40751
40752         Tests for module 'pipe-filter-gi'.
40753         * modules/pipe-filter-gi-tests: New file.
40754         * tests/test-pipe-filter-gi1.sh: New file.
40755         * tests/test-pipe-filter-gi1.c: New file.
40756         * tests/test-pipe-filter-gi2.sh: New file.
40757         * tests/test-pipe-filter-gi2-main.c: New file.
40758         * tests/test-pipe-filter-gi2-child.c: New file.
40759
40760         New module 'pipe-filter-gi'.
40761         * lib/pipe-filter-gi.c: New file.
40762         * modules/pipe-filter-gi: New file.
40763
40764 2009-08-02  Bruno Haible  <bruno@clisp.org>
40765             Paolo Bonzini  <bonzini@gnu.org>
40766
40767         Tests for module 'pipe-filter-ii'.
40768         * modules/pipe-filter-ii-tests: New file.
40769         * tests/test-pipe-filter-ii1.sh: New file.
40770         * tests/test-pipe-filter-ii1.c: New file.
40771         * tests/test-pipe-filter-ii2.sh: New file.
40772         * tests/test-pipe-filter-ii2-main.c: New file.
40773         * tests/test-pipe-filter-ii2-child.c: New file.
40774
40775         New module 'pipe-filter-ii'.
40776         * lib/pipe-filter.h: New file.
40777         * lib/pipe-filter-ii.c: New file.
40778         * lib/pipe-filter-aux.h: New file.
40779         * modules/pipe-filter-ii: New file.
40780
40781 2009-08-02  Simon Josefsson  <simon@josefsson.org>
40782
40783         * lib/gc-libgcrypt.c: Change copyright to FSF.
40784         * lib/gc-gnulib.c: Likewise.
40785
40786 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
40787
40788         * lib/gethostname.c: Include limits.h.
40789
40790 2009-08-02  Simon Josefsson  <simon@josefsson.org>
40791             Bruno Haible  <bruno@clisp.org>
40792
40793         Ensure HOST_NAME_MAX as part of the gethostname module.
40794         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
40795         define also HOST_NAME_MAX.
40796         * tests/test-gethostname.c: Include <limits.h>.
40797         (main): Check also HOST_NAME_MAX.
40798         * doc/posix-headers/limits.texi: Document the mingw problem.
40799
40800 2009-08-02  Bruno Haible  <bruno@clisp.org>
40801
40802         * lib/gethostname.c (gethostname): Fix handling of large len argument.
40803         Add comments.
40804
40805 2009-03-31  Simon Josefsson  <simon@josefsson.org>
40806
40807         * lib/gethostname.c: Add Windows wrapper.
40808         * m4/gethostname.m4: Look for gethostname in -lws2_32.
40809         * modules/gethostname: Depend on sys_socket & errno, for also
40810         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
40811         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
40812
40813 2009-07-31  Jim Meyering  <meyering@redhat.com>
40814
40815         getloadavg: fix symbol name in comment
40816         * lib/getloadavg.c: Correct a typo I introduced when adding
40817         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
40818         Matt Kraai spotted the problem.
40819
40820 2009-07-29  Matt Kraai  <mkraai@beckman.com>
40821
40822         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
40823         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
40824         code also if ! defined N_NAME_POINTER.
40825         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
40826         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
40827         but the n_name member is a 12-byte array.
40828
40829 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
40830
40831         update-copyright: generalize comment handling
40832         * build-aux/update-copyright: Handle copyright statements
40833         within more comment styles.
40834         Document usage.
40835         Report any file with an external copyright holder or parse failure.
40836
40837 2009-07-29  Jim Meyering  <meyering@redhat.com>
40838
40839         mktime: correct setting of REPLACE_MKTIME
40840         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
40841
40842         update-copyright: new module
40843         * modules/update-copyright: New file.
40844         * build-aux/update-copyright: New file.
40845         * MODULES.html.sh (maint+release support): Add update-copyright.
40846
40847 2009-07-27  Bruno Haible  <bruno@clisp.org>
40848
40849         Fix compilation error when <ctime> is used and mktime is replaced.
40850         * lib/time.in.h (mktime): New declaration.
40851         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
40852         REPLACE_MKTIME instead of defining mktime in config.h.
40853         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
40854         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
40855         Reported by Ross McFarland <rwmcfa1@neces.com>.
40856
40857 2009-07-27  Bruno Haible  <bruno@clisp.org>
40858
40859         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
40860         Reported by Matt Kraai <mkraai@beckman.com>.
40861
40862 2009-07-25  Jim Meyering  <meyering@redhat.com>
40863
40864         maint.mk: avoid warnings about missing files
40865         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
40866         diagnostic when .prev-version does not exist.
40867         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
40868         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
40869         nonexistent cfg.mk.
40870         Suggestions from Simon Josefsson.
40871
40872 2009-07-25  Bruno Haible  <bruno@clisp.org>
40873
40874         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
40875         defined as macros. Needed on QNX 6.4.1.
40876         Reported by Matt Kraai <mkraai@beckman.com>.
40877
40878 2009-07-23  Jim Meyering  <meyering@redhat.com>
40879
40880         maint.mk: invoke "make dist" with a working value of XZ_OPT
40881         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
40882
40883 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
40884
40885         Make fseeko.c compile on QNX.
40886         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
40887
40888 2009-07-22  Peter Simons  <simons@cryp.to>
40889
40890         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
40891         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
40892         * lib/md4.h: Likewise.
40893         * lib/md5.h: Likewise.
40894         * lib/sha1.h: Likewise.
40895         * lib/sha256.h: Likewise.
40896         * lib/sha512.h: Likewise.
40897
40898         tests-sha1: don't assign literal string to 'char *' variable
40899         * tests/test-sha1.c (main): Declare locals with "const" to match
40900         attributes of the right hand side.
40901
40902 2009-07-21  Eric Blake  <ebb9@byu.net>
40903
40904         dup2: fix more mingw problems
40905         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
40906         fd to itself.
40907         * doc/posix-functions/dup2.texi (dup2): Document the bug.
40908         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
40909         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
40910         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
40911         care of mingw bugs.
40912
40913 2009-07-21  Jim Meyering  <meyering@redhat.com>
40914
40915         vc-list-files: avoid failure when /bin/sh is dash
40916         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
40917         On some Debian based systems, /bin/sh is a symlink to dash, and running
40918         this command would omit the "/" following each 'tests' prefix:
40919           dash -x build-aux/vc-list-files -C . tests
40920         That is because bash and dash work differently:
40921           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
40922           bash ok
40923           dash odd
40924
40925 2009-07-21  Eric Blake  <ebb9@byu.net>
40926
40927         dup2-tests: test previous patch
40928         * modules/dup2-tests: New file.
40929         * tests/test-dup2.c: Likewise.
40930         * tests/test-open.c (main): Avoid unspecified behavior.
40931         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
40932         test.
40933
40934         dup2: work around mingw and cygwin 1.5 bug
40935         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
40936         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40937         * modules/unistd (Makefile.am): Substitute it.
40938         * lib/unistd.in.h (dup2): Declare the replacement.
40939         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
40940         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
40941         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
40942         * modules/execute (Depends-on): Add dup2.
40943         * modules/fseterr (Depends-on): Likewise.
40944         * modules/pipe (Depends-on): Likewise.
40945         * modules/posix_spawn-internal (Depends-on): Likewise.
40946
40947 2009-07-21  Bruno Haible  <bruno@clisp.org>
40948
40949         * modules/.gitattributes: New file.
40950
40951 2009-07-20  Bruno Haible  <bruno@clisp.org>
40952
40953         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
40954         (main): Use it.
40955
40956 2009-07-20  Eric Blake  <ebb9@byu.net>
40957
40958         test-pipe: make a bit more robust.
40959         * tests/test-pipe.c (myerr): Allow error messages regardless of
40960         what we do to stderr.
40961         (test_pipe): Rearrange to avoid deadlock.
40962         (child_main): Try a larger read, to ensure we avoided deadlock.
40963         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
40964         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
40965         if misused.
40966
40967 2009-07-19  Jim Meyering  <meyering@redhat.com>
40968
40969         fts: avoid false-positive cycle-detection
40970         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
40971         for each new command line argument.
40972
40973 2009-07-19  Bruno Haible  <bruno@clisp.org>
40974
40975         Fix build error on mingw with the modules sys_select and unistd.
40976         * modules/acl-tests (Depends-on): Add close.
40977         * modules/binary-io-tests (Depends-on): Likewise.
40978         * modules/closein-tests (Depends-on): Likewise.
40979         * modules/flock-tests (Depends-on): Likewise.
40980         * modules/fsync-tests (Depends-on): Likewise.
40981         * modules/lseek-tests (Depends-on): Likewise.
40982         * modules/pipe-tests (Depends-on): Likewise.
40983         * modules/posix_spawn-tests (Depends-on): Likewise.
40984         * modules/posix_spawnp-tests (Depends-on): Likewise.
40985         * modules/stat-time-tests (Depends-on): Likewise.
40986         * modules/yesno-tests (Depends-on): Likewise.
40987
40988 2009-07-19  Bruno Haible  <bruno@clisp.org>
40989
40990         Unify conditionals.
40991         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
40992         macros, not at the compiler macros.
40993         * lib/pipe.c: Likewise.
40994         * lib/execute.c: Likewise.
40995         * lib/spawni.c: Likewise.
40996
40997 2009-07-19  Bruno Haible  <bruno@clisp.org>
40998
40999         Fix handling of closed stdin/stdout/stderr on mingw.
41000         * lib/w32spawn.h: Include unistd.h.
41001         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
41002         file descriptor with O_NOINHERIT flag.
41003         (fd_safer_noinherit): New function, based on fd-safer.c.
41004         (dup_safer_noinherit): New function, based on dup-safer.c.
41005         (undup_safer_noinherit): New function.
41006         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
41007         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
41008         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
41009         instead of fd_safer.
41010         * tests/test-pipe.c: Include <windows.h>.
41011         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
41012         result.
41013
41014         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
41015         from main.
41016         (test_pipe): Pass an extra argument for disambiguation.
41017         (main): Invoke parent_main or child_main.
41018
41019         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
41020         consistently.
41021
41022 2009-07-18  Eric Blake  <ebb9@byu.net>
41023
41024         test-pipe: fix mingw build
41025         * tests/test-pipe.c (main): Avoid fcntl on mingw.
41026
41027 2009-07-18  Bruno Haible  <bruno@clisp.org>
41028
41029         * modules/pipe-tests (Makefile.am): Fix typo.
41030
41031 2009-07-18  Eric Blake  <ebb9@byu.net>
41032
41033         error: fix mingw build
41034         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
41035         Reported by Bruno Haible.
41036
41037         error: avoid undefined use of stdout
41038         * lib/error.c (error, error_at_line): Check that fd 1 is open
41039         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
41040         is handling faults and the close_stdout module wants to report the
41041         detection of closed stdout as an error.
41042
41043 2009-07-17  Eric Blake  <ebb9@byu.net>
41044
41045         pipe: be robust in face of closed fds
41046         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
41047         should cause child to misbehave.
41048         * modules/pipe-tests: New module.
41049         * tests/test-pipe.c: New file.
41050         * tests/test-pipe.sh: New file.
41051         Reported by Akim Demaille.
41052
41053 2009-07-14  Bruno Haible  <bruno@clisp.org>
41054
41055         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
41056         Reported by anonymous kc.
41057
41058 2009-07-07  Jim Meyering  <meyering@redhat.com>
41059
41060         maint.mk: don't look for translatable strings in *.m4 or *.mk
41061         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
41062         when searching for translatable strings.
41063
41064 2009-07-05  Jim Meyering  <meyering@redhat.com>
41065
41066         remove superfluous parentheses in STREQ definition
41067         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
41068         * lib/getugroups.c (STREQ): Likewise.
41069         * lib/fnmatch.c (STREQ): Likewise.
41070         Spotted by Bruno Haible.
41071
41072 2009-07-04  Jim Meyering  <meyering@redhat.com>
41073
41074         argv-iter: new module
41075         * MODULES.html.sh: Add argv-iter.
41076         * lib/argv-iter.c, lib/argv-iter.h: New files.
41077         * modules/argv-iter: New file.
41078         * modules/argv-iter-tests: New file.
41079         * tests/test-argv-iter.c: Test it.
41080
41081 2009-07-04  Bruno Haible  <bruno@clisp.org>
41082
41083         Fix assertion.
41084         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
41085         contains more exact copies of a given entry than file2, leave the extra
41086         copies unpaired rather than aborting.
41087         Reported by Eric Blake.
41088
41089 2009-07-02  Bruno Haible  <bruno@clisp.org>
41090
41091         Speedup git-merge-changelog for git cherry-pick.
41092         * lib/git-merge-changelog.c (struct entries_mapping): New type.
41093         (entries_mapping_get): New function, extracted from compute_mapping.
41094         (entries_mapping_reverse_get): New function.
41095         (compute_mapping): Add a 'full' argument. Return the result in a
41096         'struct entries_mapping'.
41097         (main): Update. Access the mappings through entries_mapping_get.
41098         Reported by Eric Blake.
41099
41100 2009-07-02  Bruno Haible  <bruno@clisp.org>
41101
41102         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
41103         best_i.
41104
41105 2009-07-02  Bruno Haible  <bruno@clisp.org>
41106
41107         Speed up approximate search for matching ChangeLog entries.
41108         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
41109         argument. Call fstrcmp_bounded instead of fstrcmp.
41110         (compute_mapping, try_split_merged_entry, main): Update callers.
41111
41112 2009-07-02  Bruno Haible  <bruno@clisp.org>
41113
41114         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
41115
41116 2009-06-30  Bruno Haible  <bruno@clisp.org>
41117
41118         Reduce the number of uc_is_cased calls.
41119         * lib/unicase.h (casing_suffix_context_t): Add
41120         'first_char_except_ignorable' field.
41121         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
41122         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
41123         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
41124         Update initializer.
41125         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
41126         case-ignorable characters.
41127         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
41128         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
41129         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
41130         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
41131         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
41132
41133 2009-06-30  Bruno Haible  <bruno@clisp.org>
41134
41135         Tests for module 'unicase/ignorable'.
41136         * modules/unicase/ignorable-tests: New file.
41137         * tests/unicase/test-ignorable.c: New file, generated by
41138         gen-uni-tables.
41139
41140         Tests for module 'unicase/cased'.
41141         * modules/unicase/cased-tests: New file.
41142         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
41143         * tests/unicase/test-predicate-part1.h: New file, derived from
41144         tests/unictype/test-predicate-part1.h.
41145         * tests/unicase/test-predicate-part2.h: New file, same as
41146         tests/unictype/test-predicate-part2.h.
41147
41148         Fix evaluation of "Before C" condition of FINAL_SIGMA.
41149         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
41150         (output_casing_properties): New function.
41151         (main): Call it.
41152         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
41153         * lib/unicase/cased.c: Include unictype/bitmap.h.
41154         (uc_is_cased): Define through a bitmap lookup.
41155         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
41156         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
41157         (uc_is_case_ignorable): Define through a bitmap lookup.
41158         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
41159         lib/unictype/bitmap.h.
41160         (Depends-on): Add inline. Clean up.
41161         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
41162         lib/unictype/bitmap.h.
41163         (Depends-on): Add inline. Clean up.
41164         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
41165         recognition.
41166         * tests/unicase/test-u16-tolower.c (main): Likewise.
41167         * tests/unicase/test-u32-tolower.c (main): Likewise.
41168
41169 2009-06-30  Bruno Haible  <bruno@clisp.org>
41170
41171         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
41172         * lib/unicase/u16-casemap.c: Likewise.
41173         * lib/unicase/u32-casemap.c: Likewise.
41174
41175 2009-06-29  Bruno Haible  <bruno@clisp.org>
41176
41177         Define u32_casefold as a wrapper around u32_ct_casefold.
41178         * lib/unicase/u32-casefold.c: Update.
41179         * modules/unicase/u32-casefold (Depends-on): Add
41180         unicase/u32-ct-casefold, unicase/empty-prefix-context,
41181         unicase/empty-suffix-context. Clean up.
41182
41183         Define u16_casefold as a wrapper around u16_ct_casefold.
41184         * lib/unicase/u16-casefold.c: Update.
41185         * modules/unicase/u16-casefold (Depends-on): Add
41186         unicase/u16-ct-casefold, unicase/empty-prefix-context,
41187         unicase/empty-suffix-context. Clean up.
41188
41189         Define u8_casefold as a wrapper around u8_ct_casefold.
41190         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
41191         * lib/unicase/u8-casefold.c: Update.
41192         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
41193         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41194
41195         Define u32_totitle as a wrapper around u32_ct_totitle.
41196         * lib/unicase/u32-totitle.c: Update.
41197         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
41198         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41199
41200         Define u16_totitle as a wrapper around u16_ct_totitle.
41201         * lib/unicase/u16-totitle.c: Update.
41202         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
41203         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41204
41205         Define u8_totitle as a wrapper around u8_ct_totitle.
41206         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
41207         functions.
41208         (FUNC): Delegate to U_CT_TOTITLE.
41209         * lib/unicase/u8-totitle.c: Update.
41210         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
41211         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41212
41213         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
41214         invocation.
41215         * modules/unicase/u32-tolower (Depends-on): Add
41216         unicase/empty-prefix-context, unicase/empty-suffix-context.
41217
41218         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
41219         invocation.
41220         * modules/unicase/u16-tolower (Depends-on): Add
41221         unicase/empty-prefix-context, unicase/empty-suffix-context.
41222
41223         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
41224         * modules/unicase/u8-tolower (Depends-on): Add
41225         unicase/empty-prefix-context, unicase/empty-suffix-context.
41226
41227         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
41228         invocation.
41229         * modules/unicase/u32-toupper (Depends-on): Add
41230         unicase/empty-prefix-context, unicase/empty-suffix-context.
41231
41232         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
41233         invocation.
41234         * modules/unicase/u16-toupper (Depends-on): Add
41235         unicase/empty-prefix-context, unicase/empty-suffix-context.
41236
41237         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
41238         * modules/unicase/u8-toupper (Depends-on): Add
41239         unicase/empty-prefix-context, unicase/empty-suffix-context.
41240
41241         New module 'unicase/u32-ct-casefold'.
41242         * lib/unicase/u32-ct-casefold.c: New file.
41243         * modules/unicase/u32-ct-casefold: New file.
41244
41245         New module 'unicase/u16-ct-casefold'.
41246         * lib/unicase/u16-ct-casefold.c: New file.
41247         * modules/unicase/u16-ct-casefold: New file.
41248
41249         New module 'unicase/u8-ct-casefold'.
41250         * lib/unicase/u8-ct-casefold.c: New file.
41251         * lib/unicase/u-ct-casefold.h: New file, derived from
41252         lib/unicase/u-casefold.h.
41253         * modules/unicase/u8-ct-casefold: New file.
41254
41255         New module 'unicase/u32-ct-totitle'.
41256         * lib/unicase/u32-ct-totitle.c: New file.
41257         * modules/unicase/u32-ct-totitle: New file.
41258
41259         New module 'unicase/u16-ct-totitle'.
41260         * lib/unicase/u16-ct-totitle.c: New file.
41261         * modules/unicase/u16-ct-totitle: New file.
41262
41263         New module 'unicase/u8-ct-totitle'.
41264         * lib/unicase/u8-ct-totitle.c: New file.
41265         * lib/unicase/u-ct-totitle.h: New file, derived from
41266         lib/unicase/u-totitle.h.
41267         * modules/unicase/u8-ct-totitle: New file.
41268
41269         New module 'unicase/u32-ct-tolower'.
41270         * lib/unicase/u32-ct-tolower.c: New file.
41271         * modules/unicase/u32-ct-tolower: New file.
41272
41273         New module 'unicase/u16-ct-tolower'.
41274         * lib/unicase/u16-ct-tolower.c: New file.
41275         * modules/unicase/u16-ct-tolower: New file.
41276
41277         New module 'unicase/u8-ct-tolower'.
41278         * lib/unicase/u8-ct-tolower.c: New file.
41279         * modules/unicase/u8-ct-tolower: New file.
41280
41281         New module 'unicase/u32-ct-toupper'.
41282         * lib/unicase/u32-ct-toupper.c: New file.
41283         * modules/unicase/u32-ct-toupper: New file.
41284
41285         New module 'unicase/u16-ct-toupper'.
41286         * lib/unicase/u16-ct-toupper.c: New file.
41287         * modules/unicase/u16-ct-toupper: New file.
41288
41289         New module 'unicase/u8-ct-toupper'.
41290         * lib/unicase/u8-ct-toupper.c: New file.
41291         * modules/unicase/u8-ct-toupper: New file.
41292
41293         Add context arguments to u*_casemap functions.
41294         * lib/unicase/unicasemap.h: Include unicase.h.
41295         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
41296         suffix_context arguments.
41297         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
41298         functions.
41299         (FUNC): Add prefix_context and suffix_context arguments. Use
41300         uc_is_cased and uc_is_case_ignorable.
41301         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
41302         * lib/unicase/u16-casemap.c: Likewise.
41303         * lib/unicase/u32-casemap.c: Likewise.
41304         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
41305         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41306         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
41307         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41308         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
41309         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41310
41311         New module 'unicase/u32-suffix-context'.
41312         * lib/unicase/u32-suffix-context.c: New file.
41313         * modules/unicase/u32-suffix-context: New file.
41314
41315         New module 'unicase/u16-suffix-context'.
41316         * lib/unicase/u16-suffix-context.c: New file.
41317         * modules/unicase/u16-suffix-context: New file.
41318
41319         New module 'unicase/u8-suffix-context'.
41320         * lib/unicase/u8-suffix-context.c: New file.
41321         * lib/unicase/u-suffix-context.h: New file.
41322         * modules/unicase/u8-suffix-context: New file.
41323
41324         New module 'unicase/empty-suffix-context'.
41325         * lib/unicase/empty-suffix-context.c: New file.
41326         * modules/unicase/empty-suffix-context: New file.
41327
41328         New module 'unicase/u32-prefix-context'.
41329         * lib/unicase/u32-prefix-context.c: New file.
41330         * modules/unicase/u32-prefix-context: New file.
41331
41332         New module 'unicase/u16-prefix-context'.
41333         * lib/unicase/u16-prefix-context.c: New file.
41334         * modules/unicase/u16-prefix-context: New file.
41335
41336         New module 'unicase/u8-prefix-context'.
41337         * lib/unicase/u8-prefix-context.c: New file.
41338         * lib/unicase/u-prefix-context.h: New file.
41339         * lib/unicase/context.h: New file.
41340         * modules/unicase/u8-prefix-context: New file.
41341
41342         New module 'unicase/empty-prefix-context'.
41343         * lib/unicase/empty-prefix-context.c: New file.
41344         * modules/unicase/empty-prefix-context: New file.
41345
41346         New module 'unicase/ignorable'.
41347         * lib/unicase/ignorable.c: New file.
41348         * modules/unicase/ignorable: New file.
41349
41350         New module 'unicase/cased'.
41351         * lib/unicase/caseprop.h: New file.
41352         * lib/unicase/cased.c: New file.
41353         * modules/unicase/cased: New file.
41354
41355         New functions for case mapping of substrings.
41356         * lib/unicase.h (casing_prefix_context_t): New type.
41357         (unicase_empty_prefix_context): New variable.
41358         (u8_casing_prefix_context, u16_casing_prefix_context,
41359         u32_casing_prefix_context, u8_casing_prefixes_context,
41360         u16_casing_prefixes_context, u32_casing_prefixes_context): New
41361         declarations.
41362         (casing_suffix_context_t): New type.
41363         (unicase_empty_suffix_context): New variable.
41364         (u8_casing_suffix_context, u16_casing_suffix_context,
41365         u32_casing_suffix_context, u8_casing_suffixes_context,
41366         u16_casing_suffixes_context, u32_casing_suffixes_context,
41367         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
41368         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
41369         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
41370         declarations.
41371
41372 2009-06-28  Jim Meyering  <meyering@redhat.com>
41373
41374         boostrap: indent only with spaces
41375         * build-aux/bootstrap: Indent only with spaces, never TABs.
41376
41377         bootstrap: split long lines
41378         * build-aux/bootstrap: Keep line length < 80.
41379
41380         bootstrap: sync from coreutils
41381         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
41382         just as autoreconf does.  Verify a list of prerequisite
41383         package-name,version-number pairs if defined in bootstrap.conf.
41384         Refer to README-prereq, if prerequisites are not satisfied.
41385
41386 2009-06-27  Eric Blake  <ebb9@byu.net>
41387
41388         tests: add test for bogus NULL definition
41389         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
41390         * tests/test-stdlib.c: Likewise.
41391         * tests/test-string.c: Likewise.
41392         * tests/test-locale.c: Likewise.
41393         * tests/test-unistd.c: Likewise.
41394         * modules/stdio-tests (Depends-on): Add verify.
41395         * modules/stdlib-tests (Depends-on): Likewise.
41396         * modules/string-tests (Depends-on): Likewise.
41397         * modules/locale-tests (Depends-on): Likewise.
41398         * modules/unistd-tests (Depends-on): Likewise.
41399
41400 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
41401
41402         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
41403         self-explaining comment.
41404         * m4/selinux-selinux-h: Update serial.
41405         (gl_LIBSELINUX): New macro, adding a warning for missing development
41406         packages to code extracted from...
41407         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
41408         Add warning for missing development packages here, too.
41409
41410 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
41411
41412         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
41413
41414 2009-06-25  Eric Blake  <ebb9@byu.net>
41415
41416         version-etc: fix regression
41417         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
41418         gcc.
41419         (version_etc): Use it, to catch bugs with trailing NULL.
41420         * lib/version-etc.c (version_etc_arn): Delete unused argument.
41421         (version_etc_va): Fix logic bug.
41422         * modules/version-etc-tests: Add test.
41423         * tests/test-version-etc.c: New file.
41424         * tests/test-version-etc.sh: Likewise.
41425
41426 2009-06-25  Sam Steingold  <sds@gnu.org>
41427
41428         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
41429         mbtowc declaration.
41430
41431 2009-06-25  Eric Blake  <ebb9@byu.net>
41432
41433         fpurge: migrate into <stdio.h>
41434         * lib/fpurge.h: Delete...
41435         * lib/stdio.in.h (fpurge): ...and declare here, instead.
41436         * lib/fpurge.c (fpurge): Change declaring header.
41437         * modules/fpurge (Files): Drop deleted file.
41438         (Depends-on): Add stdio.
41439         (configure.ac): Set witness.
41440         * modules/stdio (Makefile.am): Support fpurge macros.
41441         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41442         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
41443         * lib/fflush.c: Update client.
41444         * tests/test-fpurge.c: Likewise.
41445         * NEWS: Mention the change.
41446
41447 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
41448
41449         * lib/argp-version-etc.c (program_authors): Add const
41450         qualifier.
41451         * lib/version-etc.c: Fix typos in the comments.
41452         * modules/argp-version-etc: Depends on version-etc.
41453
41454 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
41455
41456         argp-version-etc: new module.
41457
41458         * lib/argp-version-etc.c: New file.
41459         * lib/argp-version-etc.h: New file.
41460         * modules/argp-version-etc: New file.
41461         * modules/argp-version-etc-tests: New file.
41462         * tests/test-argp-version-etc.c: New test.
41463         * tests/test-argp-version-etc-1.sh: New test.
41464
41465 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
41466
41467         Provide additional interfaces and documentation for version-etc
41468         module.
41469
41470         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
41471         interfaces.
41472         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
41473         prototypes.
41474
41475 2009-06-24  Bruno Haible  <bruno@clisp.org>
41476
41477         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
41478         HAVE_LIB${NAME} macro.
41479         Reported by Sam Steingold <sds@gnu.org>.
41480
41481 2009-06-23  Simon Josefsson  <simon@josefsson.org>
41482
41483         * modules/hash-tests (test_hash_LDADD): Link to libintl when
41484         needed.
41485
41486 2009-06-21  Bruno Haible  <bruno@clisp.org>
41487
41488         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
41489         work.
41490         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
41491         together with LIB${NAME}, LTLIB${NAME}.
41492         Reported by Sam Steingold <sds@gnu.org>.
41493
41494 2009-06-20  Jim Meyering  <meyering@redhat.com>
41495
41496         tests: make sc_require_test_exit_idiom more generic
41497         * top/maint.mk (Exit_witness_file): New overridable variable.
41498         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
41499         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
41500
41501 2009-06-19  Jim Meyering  <meyering@redhat.com>
41502
41503         hash: reverse order of src/dst parameters in an internal interface
41504         * lib/hash.c (transfer_entries): Reverse order of parameters to
41505         put DST before SRC.  Adjust callers.
41506
41507         tests: test-hash: avoid wholesale duplication
41508         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
41509         Instead, use a loop and add a single conditional.
41510
41511         tests: test-hash: allow seed selection via a command line argument
41512         * tests/test-hash.c (get_seed): New function.
41513         (main): Use it.
41514
41515 2009-06-19  Eric Blake  <ebb9@byu.net>
41516
41517         hash: avoid memory leak on allocation failure
41518         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
41519         failure.  Factor repeated algorithm...
41520         (transfer_entries): ...into new helper routine.
41521         (hash_delete): React to hash_rehash return value.
41522
41523         hash: reduce memory pressure in hash_rehash no-op case
41524         * lib/hash.c (next_prime): Avoid overflow.
41525         (hash_initialize): Factor bucket size computation...
41526         (compute_bucket_size): ...into new helper function.
41527         (hash_rehash): Use new function and open coding to reduce memory
41528         pressure, and avoid a memory leak in USE_OBSTACK code.
41529         Reported by Jim Meyering.
41530
41531 2009-06-18  Eric Blake  <ebb9@byu.net>
41532
41533         hash: make rotation more obvious
41534         * modules/hash (Depends-on): Add bitrotate and stdint.
41535         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
41536         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
41537         (SIZE_MAX): Rely on headers for definition.
41538         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
41539         (raw_hasher): Use rotr_sz.
41540         Suggested by Jim Meyering.
41541
41542         hash: fix memory leak in last patch
41543         * lib/hash.c (hash_rehash): Avoid memory leak.
41544
41545         hash: avoid no-op rehashing
41546         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
41547
41548         hash: provide default callback functions
41549         * lib/hash.c (raw_hasher, raw_comparator): New functions.
41550         (hash_initialize): Use them as defaults.
41551         * tests/test-hash.c (main): Test this.
41552
41553         hash: minor optimization
41554         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
41555         when possible.
41556         (hash_initialize): Document this promise.
41557         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
41558         * tests/test-hash.c (hash_compare_strings): Test this.
41559
41560 2009-06-18  Bruno Haible  <bruno@clisp.org>
41561
41562         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
41563         going to be replaced anyway.
41564
41565 2009-06-18  Bruno Haible  <bruno@clisp.org>
41566
41567         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
41568         in one place.
41569         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
41570         be replaced anyway.
41571
41572 2009-06-18  Eric Blake  <ebb9@byu.net>
41573
41574         hash: check for resize before insertion
41575         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
41576         threshold before insertion, so that a pathological hash_rehash
41577         that fills every bucket can still trigger another rehash.
41578
41579 2009-06-18  Jim Meyering  <meyering@redhat.com>
41580
41581         hash-tests: add a loop around the small tests
41582         * tests/test-hash.c (main): Repeat small tests with selected
41583         small initial table sizes.
41584
41585 2009-06-17  Eric Blake  <ebb9@byu.net>
41586
41587         hash: minor cleanups
41588         * lib/hash.h (hash_entry): Make opaque, by moving...
41589         * lib/hash.c (hash_entry): ...here.
41590         (hash_insert): Clarify restrictions on what can be inserted.
41591         (hash_get_next): Clarify when it is safe to remove an element
41592         during traversal.
41593         (check_tuning): Skip verification when tuning is known safe.
41594         (hash_initialize): Clarify restrictions on tuning.
41595
41596 2009-06-17  Jim Meyering  <jim@meyering.net>
41597         and Eric Blake  <ebb9@byu.net>
41598
41599         hash-tests: new module
41600         * modules/hash-tests: New file.
41601         * tests/test-hash.c: New file.
41602
41603 2009-06-17  Eric Blake  <ebb9@byu.net>
41604
41605         strstr-simple: document new module
41606         * MODULES.html.sh: Document new module.
41607
41608         strstr, strcasestr: replace on platforms with broken memchr
41609         * modules/strstr: Split into...
41610         * modules/strstr-simple: ...new module that does not care about
41611         performance, but does care about glibc bug.
41612         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
41613         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
41614         if platform memchr is broken, per Debian bug 521737.
41615         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
41616         memchr.
41617         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
41618         * doc/posix-functions/strstr.texi (strstr): Document the fix.
41619         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
41620         * modules/mountlist (Depends-on): Add strstr-simple.
41621         * modules/gen-uni-tables (Depends-on): Likewise.
41622         * modules/argz (Depends-on): Add strstr.
41623
41624 2009-06-17  Bruno Haible  <bruno@clisp.org>
41625
41626         * modules/posix_spawn-internal (Depends-on): Add errno.
41627
41628 2009-06-17  Bruno Haible  <bruno@clisp.org>
41629
41630         Define missing ESTALE on Interix 3.5.
41631         * lib/errno.in.h (ESTALE): Assign a value if missing.
41632         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
41633         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
41634         missing.
41635         * doc/posix-headers/errno.texi: Mention the Interix bug.
41636         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
41637
41638 2009-06-15  Eric Blake  <ebb9@byu.net>
41639
41640         memchr, memchr2: add valgrind exception
41641         * lib/memchr.valgrind: New file.
41642         * lib/memchr2.valgrind: New file.
41643         * modules/memchr (Files): Distribute valgrind file.
41644         * modules/memchr2 (Files): Likewise.
41645
41646         docs: memchr is no longer obsolete
41647         * MODULES.html.sh: Move memchr from obsolete to string.h section.
41648         * lib/string.in.h (memchr): Simplify logic.
41649
41650 2009-06-14  Jim Meyering  <meyering@redhat.com>
41651
41652         link-follow: fix the "checking..." message to not mention trailing slash
41653         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
41654         never considered trailing slashes.
41655
41656 2009-06-14  Bruno Haible  <bruno@clisp.org>
41657
41658         * m4/memchr.m4: Mention also the bug on IA-64.
41659         * doc/posix-functions/memchr.texi: Likewise.
41660
41661 2009-06-12  Eric Blake  <ebb9@byu.net>
41662
41663         memchr: detect broken x86_64 and alpha implementations
41664         * modules/memchr-tests (Depends-on): Move mmap detection...
41665         * modules/memchr (Depends-on): ...here.
41666         (configure.ac): Set indicator.
41667         * lib/string.in.h (memchr): Declare replacement.
41668         * modules/string (Makefile.am): Trigger replacement.
41669         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
41670         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
41671         bugs.
41672         * doc/posix-functions/memchr.texi (memchr): Document the bug.
41673         * modules/getpagesize (License): Relax license.
41674
41675 2009-06-11  Bruno Haible  <bruno@clisp.org>
41676
41677         * lib/idpriv.h: Add more references.
41678
41679 2009-06-08  Bruno Haible  <bruno@clisp.org>
41680
41681         Tests for module 'idpriv-droptemp'.
41682         * modules/idpriv-droptemp-tests: New file.
41683         * tests/test-idpriv-droptemp.sh: New file.
41684         * tests/test-idpriv-droptemp.su.sh: New file.
41685         * tests/test-idpriv-droptemp.c: New file.
41686
41687         New module 'idpriv-droptemp'.
41688         * lib/idpriv-droptemp.c: New file.
41689         * modules/idpriv-droptemp: New file.
41690
41691 2009-06-08  Bruno Haible  <bruno@clisp.org>
41692
41693         Tests for module 'idpriv-drop'.
41694         * modules/idpriv-drop-tests: New file.
41695         * tests/test-idpriv-drop.sh: New file.
41696         * tests/test-idpriv-drop.su.sh: New file.
41697         * tests/test-idpriv-drop.c: New file.
41698
41699         New module 'idpriv-drop'.
41700         * lib/idpriv.h: New file.
41701         * lib-idpriv-drop.c: New file.
41702         * m4/idpriv.m4: New file.
41703         * modules/idpriv-drop: New file.
41704
41705 2009-06-08  Bruno Haible  <bruno@clisp.org>
41706
41707         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
41708         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
41709         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
41710         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
41711         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
41712         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
41713         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
41714
41715 2009-06-08  Eric Blake  <ebb9@byu.net>
41716
41717         test-strstr: use memory fence, when possible
41718         * tests/test-strstr.c (main): Use memory fence, in order to be
41719         more likely to trigger Debian bug 521737.
41720         * modules/strstr-tests (Files): Pull in additional files.
41721
41722         memchr: no longer obsolete, for wider field testing
41723         * modules/memchr (Status, Notice): Delete, this module is no
41724         longer obsolete.
41725         * modules/vasnprintf (Depends-on): Add memchr.
41726
41727 2009-06-07  Jim Meyering  <meyering@redhat.com>
41728
41729         hash: declare some functions with the warn_unused_result attribute
41730         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
41731
41732 2009-06-07  Bruno Haible  <bruno@clisp.org>
41733
41734         * tests/test-alignof.c: Don't test int64_t if it does not exist.
41735         Reported by Eric Blake.
41736
41737 2009-06-06  Eric Blake  <ebb9@byu.net>
41738
41739         test-alignof: fix typo with long double
41740         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
41741         compiler error.
41742
41743 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
41744
41745         Escape non-texinfo { and }s.
41746         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
41747         markup error.
41748
41749 2009-06-04  Jim Meyering  <meyering@redhat.com>
41750
41751         gitlog-to-changelog: don't infloop on an empty commit log
41752         * build-aux/gitlog-to-changelog: Warn about an empty log message.
41753         Reported by Boris Petersen <transacid@centerim.org>.
41754
41755 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
41756
41757         version-etc: extend for packagers
41758         Add three new configure options, intended for packagers:
41759           --with-packager="packager name"
41760           --with-packager-version="packager-specific version"
41761           --with-packager-bug-reports="packager bug reporting"
41762         An example with coreutils:
41763           $ ./configure \
41764             --with-packager=Gentoo \
41765             --with-packager-bug-report=http://bugs.gentoo.org/ \
41766             --with-packager-version="patchset 1.6"
41767           $ ./src/ls --version | head -n2
41768           ls (GNU coreutils) 7.1-dirty
41769           Packaged by Gentoo (patchset 1.6)
41770         Note that the bug reporting info via --help doesn't show up because
41771         coreutils uses its own custom emit_bug_reporting_address() implementation
41772         in src/system.h.  If it didn't, it'd look like:
41773           $ ./src/ls --help | tail -n4
41774           Report bugs to <bug-coreutils@gnu.org>.
41775           Report Gentoo bugs to <http://bugs.gentoo.org/>.
41776           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
41777           General help using GNU software: <http://www.gnu.org/gethelp/>.
41778         * lib/version-etc.c: Print new information, if provided.
41779         * m4/version-etc.m4: New file.
41780         * modules/version-etc (Files): Add m4/version-etc.m4.
41781         (configure.ac): Add gl_VERSION_ETC.
41782
41783 2009-05-31  Bruno Haible  <bruno@clisp.org>
41784
41785         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
41786         and 'int64_t'.
41787         * modules/alignof-tests (Dependencies): Add stdint.
41788         Reported by Eric Blake.
41789
41790 2009-05-31  Bruno Haible  <bruno@clisp.org>
41791
41792         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
41793         restriction due to compiler bugs.
41794         Reported by Eric Blake.
41795
41796 2009-05-31  Simon Josefsson  <simon@josefsson.org>
41797             Bruno Haible  <bruno@clisp.org>
41798
41799         Fix test-alignof failure.
41800         * lib/alignof.h (alignof_slot): New macro.
41801         (alignof_type): New macro, with the same semantics as the previous
41802         'alignof'.
41803         (alignof): Alias to alignof_slot.
41804         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
41805         check that the results are usable as constant expressions.
41806
41807 2009-05-31  Bruno Haible  <bruno@clisp.org>
41808
41809         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
41810         * tests/test-memchr.c (main): Check that memchr does not read past the
41811         first occurrence of the byte.
41812         * tests/test-strstr.c (main): Update comment.
41813         Suggested by Eric Blake.
41814
41815 2009-05-30  Bruno Haible  <bruno@clisp.org>
41816
41817         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
41818         detail how to use dumpbin.
41819         Reported by David Byron <dbyron@dbyron.com>.
41820
41821 2009-06-02  Simon Josefsson  <simon@josefsson.org>
41822
41823         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
41824
41825 2009-06-02  Simon Josefsson  <simon@josefsson.org>
41826
41827         * m4/manywarnings.m4: Add GCC 4.4 warnings.
41828
41829 2009-05-28  Bruno Haible  <bruno@clisp.org>
41830
41831         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
41832         build-aux/ files.
41833
41834 2009-05-28  Simon Josefsson  <simon@josefsson.org>
41835
41836         * gnulib-tool (func_import): Transform license on build-aux/ files too.
41837
41838 2009-05-27  Simon Josefsson  <simon@josefsson.org>
41839
41840         * gnulib-tool (sed_transform_main_lib_file)
41841         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
41842         regexps.
41843
41844 2009-05-26  Simon Josefsson  <simon@josefsson.org>
41845
41846         * tests/test-strstr.c: Add another self-test.
41847         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
41848         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
41849
41850 2009-05-23  Bruno Haible  <bruno@clisp.org>
41851
41852         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
41853         change.
41854
41855 2009-05-21  Bruno Haible  <bruno@clisp.org>
41856
41857         Simplify use of mode_t varargs.
41858         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
41859         uses 'mode_t' or 'int'.
41860         * lib/openat.c (openat): Likewise.
41861         * lib/open-safer.c (open_safer): Likewise.
41862         * m4/mode_t.m4: New file.
41863         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
41864         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
41865         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
41866         * modules/open (Files): Add m4/mode_t.m4.
41867         * modules/openat (Files): Likewise.
41868         * modules/fcntl-safer (Files): Likewise.
41869         Suggested by Eric Blake.
41870
41871 2009-05-21  Pádraig Brady  <P@draigbrady.com>
41872
41873         * doc/glibc-functions/fallocate.texi: New file.
41874         * doc/gnulib.texi: Include it.
41875
41876 2009-05-21  Eric Blake  <ebb9@byu.net>
41877             Bruno Haible  <bruno@clisp.org>
41878
41879         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
41880         invocations.
41881         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
41882
41883 2009-05-21  Eric Blake  <ebb9@byu.net>
41884             Bruno Haible  <bruno@clisp.org>
41885
41886         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
41887         include_next. Fix of 2008-11-20 commit.
41888         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
41889         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
41890         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
41891         NEXT_MATH_H.
41892         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
41893         instead of NEXT_MATH_H.
41894
41895 2009-05-21  Bruno Haible  <bruno@clisp.org>
41896
41897         Avoid redefinition warnings for SIZE_MAX.
41898         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
41899         Reported by Simon Josefsson.
41900
41901 2009-05-21  Bruno Haible  <bruno@clisp.org>
41902
41903         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
41904         AC_CACHE_VAL.
41905
41906 2009-05-20  Bruno Haible  <bruno@clisp.org>
41907
41908         Make zeroptr.h work on mingw.
41909         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
41910         mprotect.
41911         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
41912         * modules/memchr2-tests (configure.ac): Likewise.
41913         * modules/memcmp-tests (configure.ac): Likewise.
41914         * modules/memmem-tests (configure.ac): Likewise.
41915         * modules/memrchr-tests (configure.ac): Likewise.
41916         Reported by Simon Josefsson.
41917
41918 2009-05-20  Simon Josefsson  <simon@josefsson.org>
41919
41920         * tests/test-glob.c: Include string.h for strcmp prototype.
41921
41922 2009-05-20  Simon Josefsson  <simon@josefsson.org>
41923
41924         * modules/getdelim (Depends-on): Add explicit stdint, although it
41925         was implicitly already pulled in via realloc-posix.
41926         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
41927
41928 2009-05-20  Simon Josefsson  <simon@josefsson.org>
41929
41930         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
41931         G. Christensen" <tgc@jupiterrise.com>.
41932         * m4/sys_socket_h.m4: Check for sa_family_t.
41933         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
41934         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
41935         * tests/test-sys_socket.c: Check that sa_family_t works.
41936
41937 2009-05-18  Eric Blake  <ebb9@byu.net>
41938
41939         maint.mk: allow gnulib_dir in VPATH build
41940         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
41941
41942 2009-05-15  Jim Meyering  <meyering@redhat.com>
41943
41944         maint.mk: Give gnulib_dir a default definition.
41945         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
41946         Thus, most packages no longer need to specify this variable in cfg.mk
41947
41948 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
41949
41950         rename.m4: fix typos that would make non-mingw cross-configure fail
41951         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
41952
41953 2009-05-13  Eric Blake  <ebb9@byu.net>
41954
41955         mmap-anon: avoid out-of-order autoconf expansion
41956         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
41957         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
41958         * modules/memchr-tests (Depends-on): Add extensions.
41959         * modules/memchr2-tests (Depends-on): Add extensions.
41960         * modules/memcmp-tests (Depends-on): Add extensions.
41961         * modules/memmem-tests (Depends-on): Add extensions.
41962         * modules/memrchr-tests (Depends-on): Add extensions.
41963
41964 2009-05-13  Bruno Haible  <bruno@clisp.org>
41965
41966         Make some tests ISO C 99 compliant.
41967         * tests/zerosize-ptr.h: New file.
41968         * tests/test-memchr.c: Include zerosize-ptr.h.
41969         (main): Use a zero-size object pointer instead of NULL.
41970         * tests/test-memchr2.c: Include zerosize-ptr.h.
41971         (main): Use a zero-size object pointer instead of NULL.
41972         * tests/test-memcmp.c: Include zerosize-ptr.h.
41973         (main): Use a zero-size object pointer instead of NULL.
41974         * tests/test-memmem.c: Include zerosize-ptr.h.
41975         (main): Use a zero-size object pointer instead of NULL.
41976         * tests/test-memrchr.c: Include zerosize-ptr.h.
41977         (main): Use a zero-size object pointer instead of NULL.
41978         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
41979         m4/mmap-anon.m4.
41980         (Depends-on): Add getpagesize.
41981         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41982         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
41983         m4/mmap-anon.m4.
41984         (Depends-on): Add getpagesize.
41985         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41986         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
41987         m4/mmap-anon.m4.
41988         (Depends-on): Add getpagesize.
41989         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41990         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
41991         m4/mmap-anon.m4.
41992         (Depends-on): Add getpagesize.
41993         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41994         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
41995         m4/mmap-anon.m4.
41996         (Depends-on): Add getpagesize.
41997         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41998
41999 2009-05-12  Bruno Haible  <bruno@clisp.org>
42000
42001         Tests for module 'alignof'.
42002         * modules/alignof-tests: New file.
42003         * tests/test-alignof.c: New file.
42004
42005 2009-05-12  Bruno Haible  <bruno@clisp.org>
42006
42007         Fix alignof macro.
42008         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
42009         vendor compilers that are always correct.
42010
42011 2009-05-12  Bruno Haible  <bruno@clisp.org>
42012
42013         Make the MAP_ANONYMOUS detection work on HP-UX 11.
42014         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
42015         not whether its fully works.
42016
42017 2009-05-12  Bruno Haible  <bruno@clisp.org>
42018
42019         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
42020
42021 2009-05-12  Jim Meyering  <meyering@redhat.com>
42022
42023         * top/maint.mk: Adjust backslash alignment.
42024
42025 2009-05-11  Simon Josefsson  <simon@josefsson.org>
42026
42027         * top/maint.mk: Make $(srcdir)/build-aux configurable.
42028
42029 2009-05-11  Eric Blake  <ebb9@byu.net>
42030
42031         argp: avoid undefined behavior
42032         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
42033         macros.
42034
42035 2009-05-08  Simon Josefsson  <simon@josefsson.org>
42036
42037         * tests/test-vc-list-files-git.sh: Do git config of user.email and
42038         user.name to prevent git commit from complaining.
42039
42040 2009-05-10  Bruno Haible  <bruno@clisp.org>
42041
42042         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
42043         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
42044         it rewrites every file name only once.
42045         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
42046
42047 2009-05-08  Bruno Haible  <bruno@clisp.org>
42048
42049         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
42050         instead of 'max'.
42051
42052 2009-05-08  Simon Josefsson  <simon@josefsson.org>
42053
42054         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
42055         sockaddr_storage test.
42056
42057 2009-05-07  Simon Josefsson  <simon@josefsson.org>
42058
42059         * modules/sys_socket (Makefile.am): Substitute
42060         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
42061         * m4/sys_socket_h.m4: Check for sockaddr_storage.
42062         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
42063         * tests/test-sys_socket.c: Check sockaddr_storage.
42064
42065 2009-05-08  Bruno Haible  <bruno@clisp.org>
42066
42067         New module 'alignof'.
42068         * lib/alignof.h: New file.
42069         * modules/alignof: New file.
42070
42071 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42072             Bruno Haible  <bruno@clisp.org>
42073
42074         Fix test-file-has-acl on FreeBSD.
42075         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
42076         mask is implicitly added.
42077         * tests/test-file-has-acl.c: Include <signal.h>.
42078         (main): Terminate the test after 5 seconds.
42079         * modules/acl-tests (configure.ac): Check for alarm function.
42080
42081 2009-05-04  Bruno Haible  <bruno@clisp.org>
42082
42083         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
42084         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
42085         * modules/errno (configure.ac): Drop AC_REQUIRE.
42086         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
42087         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
42088
42089 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42090
42091         * modules/glob-tests: New module.
42092         * tests/test-glob.c: Add.
42093
42094 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42095
42096         * modules/fnmatch-tests: New module.
42097         * tests/test-fnmatch.c: Add.
42098
42099 2009-05-04  Eric Blake  <ebb9@byu.net>
42100
42101         maint: make the new no-submodule-changes rule VPATH-safe
42102         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
42103
42104 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42105             Bruno Haible  <bruno@clisp.org>
42106
42107         acl: Fix infinite loop on FreeBSD.
42108         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
42109         of return value from acl_get_entry.
42110         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
42111         Likewise.
42112
42113 2009-05-03  Bruno Haible  <bruno@clisp.org>
42114
42115         * lib/acl-internal.h (acl_entries): Clarify return value.
42116         * lib/acl_entries.c (acl_entries): Likewise.
42117
42118 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42119
42120         Bug fix in acl module.
42121         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
42122
42123 2009-05-03  Bruno Haible  <bruno@clisp.org>
42124
42125         Create gperf-generated file in the source dir, not in the build dir.
42126         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
42127         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
42128         * modules/unicase/locale-language (unicase/locale-languages.h):
42129         Likewise.
42130         * modules/unicase/special-casing (unicase/special-casing-table.h):
42131         Likewise.
42132         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
42133         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
42134         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
42135         Reported by Ralf Wildenhues.
42136
42137 2009-05-03  Bruno Haible  <bruno@clisp.org>
42138
42139         * modules/fnmatch (Description, configure.ac): Taken from
42140         fnmatch-posix.
42141         * modules/fnmatch-posix: Turn into a symbolic reference to the
42142         'fnmatch' module, and deprecate.
42143         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
42144
42145 2009-05-03  Bruno Haible  <bruno@clisp.org>
42146
42147         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
42148         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
42149         Reported by Ralf Wildenhues.
42150
42151 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42152
42153         * m4/fnmatch.m4: Fix fnmatch re-define.
42154
42155 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42156
42157         priv-set: new module and tests; adapt write-any-file
42158         * lib/priv-set.c: New file.
42159         * lib/priv-set.h: New file.
42160         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
42161         * lib/write-any-file.c: Simplify by using priv-set module.
42162         * m4/priv-set.m4: New file.
42163         * modules/priv-set: New file.
42164         * modules/unlinkdir: Add dependency on priv-set module.
42165         * modules/write-any-file: Likewise.
42166
42167         Tests for module 'priv-set'.
42168         * modules/priv-set-tests: New file.
42169         * tests/test-priv-set.c: New file.
42170
42171 2009-05-03  Jim Meyering  <meyering@redhat.com>
42172             Bruno Haible  <bruno@clisp.org>
42173
42174         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
42175         use the converted UTF-8 variant of the name instead.
42176
42177 2009-05-03  Jim Meyering  <meyering@redhat.com>
42178
42179         tests: tighten some getdate tests
42180         * tests/test-getdate.c (main): Tighten tests: require equality,
42181         not just greater than.  Set TZ envvar to UTC0.
42182
42183 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
42184
42185         getdate: correctly interpret "next monday" when run on a Monday
42186         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
42187         that e.g., "next tues" (when run on a tuesday) results in a date
42188         that is one week in the future, and not today's date.
42189         I.e., add a week when the wday is the same as the current one.
42190         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
42191         and earlier by Martin Bernreuther and Jan Minář.
42192         * tests/test-getdate.c (main): Check that "next DAY" is always in
42193         the future and that "last DAY" is always in the past.
42194
42195 2009-05-02  Jim Meyering  <meyering@redhat.com>
42196
42197         build: ensure that a release build fails when a submodule is unclean
42198         * top/maint.mk (no-submodule-changes): New rule.
42199         (alpha beta major): Depend on it.
42200
42201 2009-05-02  Bruno Haible  <bruno@clisp.org>
42202
42203         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
42204         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
42205         shell variable gl_fnmatch_required to detect which variant is
42206         requested.
42207         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
42208         gl_FUNC_FNMATCH_POSIX.
42209         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
42210         exclude fnmatch-posix.
42211
42212 2009-05-02  Bruno Haible  <bruno@clisp.org>
42213
42214         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
42215         * modules/mbsrtowcs (License): Change to LGPLv2+.
42216         * modules/strnlen1 (License): Likewise.
42217         Reported by Simon Josefsson.
42218
42219 2009-05-02  Bruno Haible  <bruno@clisp.org>
42220
42221         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
42222         "cross".
42223         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
42224         gnulib-tool was called with option --source-base=lib.
42225
42226 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42227
42228         Use automake *-local hooks without commands, for extensibility.
42229         * modules/localcharset (Makefile.am): Rename install-exec-local
42230         rule to install-exec-localcharset, and make it a prerequisite of
42231         install-exec-local.  Likewise, rename the uninstall-local rule to
42232         uninstall-localcharset, and make it a prerequisite of the former.
42233
42234 2009-05-01  Bruno Haible  <bruno@clisp.org>
42235
42236         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
42237         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
42238         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
42239         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
42240         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
42241         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
42242         m4/locale-zh.m4, m4/codeset.m4.
42243
42244         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
42245         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
42246         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
42247         m4/locale-zh.m4.
42248
42249         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
42250         REPLACE_WCRTOMB if mbstate_t must be replaced.
42251         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
42252         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
42253
42254 2009-05-01  Bruno Haible  <bruno@clisp.org>
42255
42256         Avoid compiler warnings when redefining macros defined by <libintl.h>.
42257         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
42258         dngettext, dcngettext, textdomain, bindtextdomain,
42259         bind_textdomain_codeset): Undefine before redefining.
42260
42261 2009-04-30  Bruno Haible  <bruno@clisp.org>
42262
42263         Fix bug introduced on 2009-04-25.
42264         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
42265         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
42266         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
42267         is defined.
42268         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
42269         is defined.
42270         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
42271         is defined.
42272         Reported by Elbert_Pol <elbert.pol@gmail.com>.
42273
42274 2009-04-28  Bruno Haible  <bruno@clisp.org>
42275
42276         Comment tweaks.
42277         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
42278         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
42279         * lib/unicase.h (u*_casexfrm): Likewise.
42280         Reported by Paolo Bonzini.
42281
42282 2009-04-28  Bruno Haible  <bruno@clisp.org>
42283
42284         Fix a compilation error.
42285         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
42286         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
42287         Reported by Jim Meyering.
42288
42289 2009-04-27  Bruno Haible  <bruno@clisp.org>
42290
42291         New module 'libunistring'.
42292         * modules/libunistring: New file.
42293         * m4/libunistring.m4: New file.
42294         * MODULES.html.sh (Unicode string functions): Add it.
42295
42296 2009-04-27  Eric Blake  <ebb9@byu.net>
42297
42298         maint.mk: allow package-specific header to provide <config.h>
42299         * top/maint.mk (sc_require_config_h): New variable.
42300         (sc_require_config_h, sc_require_config_h_first): Use it.
42301
42302 2009-04-27  Simon Josefsson  <simon@josefsson.org>
42303
42304         * top/maint.mk (sc_avoid_if_before_free): Except
42305         useless-if-before-free script.
42306
42307 2009-04-27  Eric Blake  <ebb9@byu.net>
42308
42309         maintainer-makefile: depend on all required helper scripts
42310         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
42311         useless-if-before-free.
42312         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
42313         version, rather than assuming gnulib checkout is available.
42314         Reported by Simen Josefsson.
42315
42316 2009-04-26  Bruno Haible  <bruno@clisp.org>
42317
42318         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
42319         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
42320         "../" or "..".
42321
42322 2009-04-26  Bruno Haible  <bruno@clisp.org>
42323
42324         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
42325         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
42326         AC_LIB_HAVE_LINKFLAGS.
42327
42328 2009-04-26  Bruno Haible  <bruno@clisp.org>
42329
42330         Simplify calling convention of u*_conv_from_encoding.
42331         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
42332         u32_conv_from_encoding): Expect a resultbuf argument and return the
42333         result directly as a pointer.
42334         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
42335         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
42336         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
42337         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
42338         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
42339         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
42340         Update.
42341         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
42342         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
42343         * lib/vasnprintf.c (VASNPRINTF): Update.
42344         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
42345         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
42346         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
42347         * NEWS: Mention the change.
42348
42349 2009-04-26  Bruno Haible  <bruno@clisp.org>
42350
42351         Simplify calling convention of u*_conv_to_encoding.
42352         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
42353         u32_conv_to_encoding): Expect a resultbuf argument and return the
42354         result directly as a pointer.
42355         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
42356         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
42357         freeing scaled_offsets if mem_iconveha failed.
42358         * lib/unicase/u-casexfrm.h (FUNC): Update.
42359         * lib/uninorm/u-normxfrm.h (FUNC): Update.
42360         * lib/vasnprintf.c (VASNPRINTF): Update.
42361         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
42362         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
42363         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
42364         * NEWS: Mention the change.
42365
42366 2009-04-26  Bruno Haible  <bruno@clisp.org>
42367
42368         Avoid test failures on AIX and OSF/1.
42369         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
42370         malloc(0).
42371         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
42372         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
42373         Likewise.
42374         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
42375         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
42376         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
42377         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
42378         * doc/posix-functions/malloc.texi: Document the portability problem
42379         related to malloc(0).
42380
42381 2009-04-26  Bruno Haible  <bruno@clisp.org>
42382
42383         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
42384         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
42385         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
42386
42387 2009-04-25  Bruno Haible  <bruno@clisp.org>
42388
42389         Avoid link error when creating a namespace clean library.
42390         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
42391         as macro with arguments if already defined as an alias.
42392         * lib/signbitf.c (gl_signbitf): Don't undefine.
42393         * lib/signbitd.c (gl_signbitd): Don't undefine.
42394         * lib/signbitl.c (gl_signbitl): Don't undefine.
42395
42396 2009-04-25  Jim Meyering  <meyering@redhat.com>
42397
42398         vc-list-files: fix another quoting bug
42399         * build-aux/vc-list-files: Avoid sed backslash expansion
42400         of pathological directory names.
42401
42402 2009-04-25  Eric Blake  <ebb9@byu.net>
42403
42404         vc-list-files: fix shell quoting error
42405         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
42406         timestamp.
42407
42408 2009-04-25  Jim Meyering  <meyering@redhat.com>
42409
42410         vc-list-files: restore lost functionality with subdir argument
42411         * build-aux/vc-list-files: When given a non-"." sub-directory
42412         argument, substitute the $dir/ prefix back onto each resulting name.
42413         Otherwise, coreutils' root_tests check would fail.
42414
42415 2009-04-24  Eric Blake  <ebb9@byu.net>
42416
42417         vc-list-files: ignore git symlinks
42418         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
42419         than ls-files, to ignore git symlinks.
42420
42421         maint.mk: import improvements from m4
42422         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
42423         (move_if_change): Delete unused macro.
42424         (news-date-check, vc-diff-check): Support VPATH builds.
42425         (announcement): Likewise.  Split --bootstrap-tools list...
42426         (boostrap-tools): ...into separate list, which can be overridden
42427         in cfg.mk.
42428         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
42429         requiring dependency on useless-if-before-free module.
42430         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
42431         Support VPATH builds.
42432
42433 2009-04-24  Jim Meyering  <meyering@redhat.com>
42434
42435         maint.mk: remove coreutils-specific rules and variables
42436         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
42437         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
42438         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
42439
42440         maint.mk: remove obsolete rule
42441         * top/maint.mk (rel-check): Remove rule.
42442         (WGET, WGETFLAGS): Remove now-unused variables.
42443
42444 2009-04-24  Simon Josefsson  <simon@josefsson.org>
42445
42446         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
42447         consistency.
42448
42449         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
42450         '$(PATH_SEPARATOR)' instead of ':'.
42451
42452 2009-04-24  Simon Josefsson  <simon@josefsson.org>
42453
42454         * lib/getopt1.c (main): Use 'const' for static array.
42455
42456 2009-04-24  Simon Josefsson  <simon@josefsson.org>
42457
42458         * top/maint.mk: Sync with coreutils.
42459         * NEWS: Explain incompatibilities.
42460
42461 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42462             Bruno Haible  <bruno@clisp.org>
42463
42464         Fix cross-compilation results.
42465         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
42466         statement, as third argument of AC_TRY_RUN.
42467         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
42468         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
42469         Likewise.
42470         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
42471         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
42472         Likewise.
42473         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
42474         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
42475         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
42476
42477 2009-04-20  Bruno Haible  <bruno@clisp.org>
42478
42479         Avoid test failure on mingw.
42480         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
42481
42482 2009-04-20  Bruno Haible  <bruno@clisp.org>
42483
42484         Avoid compilation error on mingw.
42485         * modules/localename-tests (Depends-on): Add locale.
42486
42487 2009-04-19  Bruno Haible  <bruno@clisp.org>
42488
42489         Support for building a shared library on Windows platforms.
42490         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
42491         (main): Test the presence of UNINORM_NFC here.
42492         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
42493         (main): Test the presence of UNINORM_NFD here.
42494         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
42495         (main): Test the presence of UNINORM_NFKC here.
42496         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
42497         (main): Test the presence of UNINORM_NFKD here.
42498
42499 2009-04-19  Bruno Haible  <bruno@clisp.org>
42500
42501         Avoid a compiler warning.
42502         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
42503         Change type of variable 'sequence'.
42504
42505 2009-04-19  Bruno Haible  <bruno@clisp.org>
42506
42507         * modules/configmake (Makefile.am): When the contents of configmake.h
42508         does not change, arrange to preserve its modification time.
42509
42510 2009-04-17  Simon Josefsson  <simon@josefsson.org>
42511
42512         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
42513         gettext domain.
42514
42515 2009-04-16  Jim Meyering  <meyering@redhat.com>
42516
42517         useless-if-before-free: improve conversion code
42518         * build-aux/useless-if-before-free: Adjust code-in-comment to match
42519         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
42520
42521 2009-04-14  Bruno Haible  <bruno@clisp.org>
42522
42523         * modules/fcntl (Depends-on): Add extensions.
42524         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
42525
42526 2009-04-12  Ben Pfaff  <blp@gnu.org>
42527
42528         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
42529         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
42530
42531 2009-03-20  Ben Pfaff  <blp@gnu.org>
42532
42533         Make rename replace existing destinations on Windows.
42534         * m4/rename.m4: Add test for Mingw.
42535         * lib/rename.c: Add rename replacement that uses MoveFileEx with
42536         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
42537         * doc/posix-functions/rename.texi: Document.
42538
42539 2009-04-10  Bruno Haible  <bruno@clisp.org>
42540
42541         New include file "iconveh.h".
42542         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
42543         * lib/striconveh.h: Include it.
42544         (enum iconv_ilseq_handler): Remove definition.
42545         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
42546         striconveh.h.
42547         * lib/striconveha.c: Include striconveh.h.
42548         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
42549         * modules/striconveh (Files): Add lib/iconveh.h.
42550         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
42551         lib/striconveh.h.
42552
42553 2009-04-10  Bruno Haible  <bruno@clisp.org>
42554
42555         * lib/uniconv.h: Update comment.
42556
42557 2009-04-10  Bruno Haible  <bruno@clisp.org>
42558
42559         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
42560         always.
42561         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
42562         * lib/unistr/u16-mbtouc-aux.c: Likewise.
42563         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
42564         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
42565         "unistring-notinline.h", so that the function gets defined always.
42566         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
42567         * lib/unistr/u8-uctomb.c: Likewise.
42568         * lib/unistr/u16-mbtouc.c: Likewise.
42569         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
42570         * lib/unistr/u16-uctomb.c: Likewise.
42571         * lib/unistr/u32-mbtouc.c: Likewise.
42572         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
42573         * lib/unistr/u32-uctomb.c: Likewise.
42574
42575 2009-04-10  Bruno Haible  <bruno@clisp.org>
42576
42577         Mark 'utime' obsolete.
42578         * modules/utime (Status, Notice): New sections.
42579         Suggested by Jim Meyering.
42580
42581         Fix cross-compile guess for utime test.
42582         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
42583         autoconf.
42584         * doc/posix-functions/utime.texi: Give more precisions.
42585         Reported by Jan <ipif@ymail.com>.
42586
42587 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
42588
42589         filevercmp: correct today's change
42590         * lib/filevercmp.c: Also handle coreutils' test inputs.
42591         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
42592
42593         Fix regression in 'filevercmp' module. Thanks Sven Joachim
42594         for reporting it.
42595         * lib/filevercmp.c: Special handle for "", "." and "..".
42596         * tests/test-filevercmp.c: Enlarge the set suite.
42597
42598 2009-04-07  Jim Meyering  <meyering@redhat.com>
42599
42600         useless-if-before-free: show how to remove braced useless free, too
42601         * build-aux/useless-if-before-free: still only in a comment, though.
42602
42603 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
42604
42605         maint.mk: import changes to syntax-check macros from coreutils
42606         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
42607         Use them in the relevant macros.
42608
42609 2009-04-06  Bruno Haible  <bruno@clisp.org>
42610
42611         Fix unportable use of bit-fields.
42612         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
42613         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
42614         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
42615
42616 2009-04-06  Bruno Haible  <bruno@clisp.org>
42617
42618         Avoid test failures on AIX and OSF/1.
42619         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
42620         that malloc(0) = NULL.
42621         * tests/unicase/test-u8-tolower.c (check): Likewise.
42622         * tests/unicase/test-u8-totitle.c (check): Likewise.
42623         * tests/unicase/test-u8-toupper.c (check): Likewise.
42624         * tests/unicase/test-u16-casefold.c (check): Likewise.
42625         * tests/unicase/test-u16-tolower.c (check): Likewise.
42626         * tests/unicase/test-u16-totitle.c (check): Likewise.
42627         * tests/unicase/test-u16-toupper.c (check): Likewise.
42628         * tests/unicase/test-u32-casefold.c (check): Likewise.
42629         * tests/unicase/test-u32-tolower.c (check): Likewise.
42630         * tests/unicase/test-u32-totitle.c (check): Likewise.
42631         * tests/unicase/test-u32-toupper.c (check): Likewise.
42632         * tests/uninorm/test-u8-nfc.c (check): Likewise.
42633         * tests/uninorm/test-u8-nfd.c (check): Likewise.
42634         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
42635         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
42636         * tests/uninorm/test-u16-nfc.c (check): Likewise.
42637         * tests/uninorm/test-u16-nfd.c (check): Likewise.
42638         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
42639         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
42640         * tests/uninorm/test-u32-nfc.c (check): Likewise.
42641         * tests/uninorm/test-u32-nfd.c (check): Likewise.
42642         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
42643         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
42644
42645 2009-04-05  Bruno Haible  <bruno@clisp.org>
42646
42647         Work around an autoconf limitation.
42648         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
42649         comment line if it would be longer than 3 KB.
42650
42651 2009-04-05  Bruno Haible  <bruno@clisp.org>
42652
42653         Avoid test failure with libiconv-1.13.
42654         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
42655         of the expected test results.
42656
42657 2009-04-05  Bruno Haible  <bruno@clisp.org>
42658
42659         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
42660         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
42661         that it should be installed.
42662
42663 2009-04-05  Bruno Haible  <bruno@clisp.org>
42664
42665         * gnulib-tool: New option --copy-file.
42666         (func_usage): Document it.
42667         (func_dest_tmpfilename): Moved out of func_import.
42668         (func_add_file, func_update_file): New functions, extracted from
42669         func_import.
42670         (func_import): Update.
42671
42672 2009-04-05  Karl Berry  <karl@gnu.org>
42673
42674         * README: prominently mention gnulib-tool.
42675         Rearrange sections so getting the code is near the top.
42676
42677 2009-04-05  Bruno Haible  <bruno@clisp.org>
42678
42679         * lib/unicase.h: Mention u*_cmp2.
42680         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
42681         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
42682         * lib/unicase/ulc-casecmp.c: Likewise.
42683         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
42684         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
42685         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
42686         unistr/u8-cmp.
42687         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
42688         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
42689         unistr/u16-cmp.
42690         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
42691         unistr/u32-cmp.
42692
42693         * lib/uninorm.h: Mention u*_cmp2.
42694         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
42695         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
42696         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
42697         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
42698         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
42699         unistr/u8-cmp.
42700         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
42701         unistr/u16-cmp.
42702         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
42703         unistr/u32-cmp.
42704
42705         New module 'unistr/u32-cmp2'.
42706         * lib/unistr/u32-cmp2.c: New file.
42707         * modules/unistr/u32-cmp2: New file.
42708
42709         New module 'unistr/u16-cmp2'.
42710         * lib/unistr/u16-cmp2.c: New file.
42711         * modules/unistr/u16-cmp2: New file.
42712
42713         New module 'unistr/u8-cmp2'.
42714         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
42715         * lib/unistr/u8-cmp2.c: New file.
42716         * lib/unistr/u-cmp2.h: New file.
42717         * modules/unistr/u8-cmp2: New file.
42718
42719 2009-04-05  Bruno Haible  <bruno@clisp.org>
42720
42721         * lib/unictype.h (uc_property_is_valid): New macro.
42722         * tests/unictype/test-pr_byname.c (main): Use it.
42723
42724         * lib/unistr.h: Doc fixes.
42725         * lib/uniconv.h: Doc fixes.
42726         * lib/unictype.h: Doc fixes.
42727
42728 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
42729
42730         Port coreutils 7.2 to Solaris 8.
42731
42732         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
42733         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
42734         for Solaris 8.  This is a bit of a hack, as it means it's the
42735         caller's responsibility to add -lnsl if needed, but most likely it
42736         won't be needed since only getaddrinfo uses this and getaddrinfo
42737         isn't needed on Solaris 8.
42738
42739         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
42740         problem to Solaris 8 encountered with coreutils 7.2, which
42741         resulted in a message "fnmatch.c:292: warning: passing argument 4
42742         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
42743         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
42744
42745 2009-04-03  Simon Josefsson  <simon@josefsson.org>
42746
42747         * m4/ld-version-script.m4: Add FIXME comment.
42748
42749 2009-04-02  Simon Josefsson  <simon@josefsson.org>
42750
42751         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
42752         SOVERSION variable.
42753
42754 2009-04-02  Bruno Haible  <bruno@clisp.org>
42755
42756         * Makefile (info, html, dvi, pdf): Combine the rules.
42757         Suggested by Jim Meyering.
42758
42759 2009-04-01  Bruno Haible  <bruno@clisp.org>
42760
42761         * Makefile (info, html, dvi, pdf): New targets.
42762         Reported by Reuben Thomas <rrt@sc3d.org>.
42763
42764 2009-04-01  Bruno Haible  <bruno@clisp.org>
42765
42766         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
42767         can be put into PATH.
42768         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
42769
42770 2009-04-01  Bruno Haible  <bruno@clisp.org>
42771
42772         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
42773
42774 2009-04-01  Bruno Haible  <bruno@clisp.org>
42775
42776         Rename module 'visibility'.
42777         * modules/lib-symbol-visibility: Renamed from modules/visibility.
42778         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
42779         * doc/gnulib.texi: Update.
42780         * MODULES.html.sh (Misc): Update.
42781         * NEWS: Mention the change.
42782
42783 2009-04-01  Simon Josefsson  <simon@josefsson.org>
42784
42785         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
42786         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
42787         Eric Blake <ebb9@byu.net> for review.
42788         * MODULES.html.sh: Add lib-msvc-compat.
42789         * doc/gnulib.texi: Link to new section.
42790         * m4/ld-output-def.m4: New file.
42791         * doc/ld-output-def.texi: New file.
42792
42793 2009-04-01  Simon Josefsson  <simon@josefsson.org>
42794
42795         Rename ld-version-script to lib-symbol-versions.  Suggested by
42796         Bruno Haible <bruno@clisp.org>.
42797         * modules/ld-version-script: Renamed to lib-symbol-versions.
42798         * doc/ld-version-script.texi: Fix module name.
42799         * MODULES.html.sh: Add lib-symbol-versions.
42800
42801 2009-03-31  Simon Josefsson  <simon@josefsson.org>
42802
42803         * modules/u64-tests: New file.
42804         * tests/test-u64.c: New file.
42805
42806 2009-03-04  Simon Josefsson  <simon@josefsson.org>
42807
42808         * MODULES.html.sh: Mention u64.
42809         * modules/u64: New module.
42810         * modules/crypto/sha512: Depend on u64 module instead of providing
42811         u64.h.
42812
42813 2009-03-27  Eric Blake  <ebb9@byu.net>
42814
42815         test-strerror: make debugging EAI_SYSTEM easier
42816         * modules/getaddrinfo-tests (Depends-on): Add strerror.
42817         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
42818         failure was EAI_SYSTEM.
42819
42820 2009-03-25  Bruno Haible  <bruno@clisp.org>
42821
42822         Fix a problem with --enable-relocatable on Solaris 7.
42823         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
42824         since 2008-02-24.
42825
42826 2009-03-25  Eric Blake  <ebb9@byu.net>
42827
42828         test-sockets: avoid gcc warning
42829         * tests/test-sockets.c (main): Silence compiler warning.
42830
42831 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
42832
42833         New modules nproc, pthread, contributed by Glen Lenker.
42834
42835         * MODULES.html.sh: Add pthread, nproc.
42836         * lib/nproc.c: New file.
42837         * lib/nproc.h: New file.
42838         * lib/pthread.in.h: New file.
42839         * m4/pthread.m4: New file.
42840         * modules/nproc: New file.
42841         * modules/pthread: New file.
42842
42843 2009-03-24  Simon Josefsson  <simon@josefsson.org>
42844
42845         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
42846         New variable.
42847
42848 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
42849
42850         filevercmp: handle simple~ and numbered.~3~ backup suffixes
42851         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
42852         * tests/test-filevercmp.c: Add tests for backup suffixes.
42853
42854 2009-03-24  Simon Josefsson  <simon@josefsson.org>
42855
42856         * modules/stdlib (Depends-on): Add stdint, needed when defining
42857         struct random_data on, for example, HP-UX 10.20.  Reported by
42858         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42859
42860 2009-03-24  Simon Josefsson  <simon@josefsson.org>
42861
42862         * lib/readline.c (readline): Call fflush on stdout after printing
42863         prompt.
42864
42865 2009-03-20  Bruno Haible  <bruno@clisp.org>
42866
42867         Remove dependency from 'close' module to -lws2_32 on native Windows.
42868         * lib/close-hook.h: New file.
42869         * lib/close-hook.c: New file.
42870         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
42871         w32sock.h.
42872         (_gl_close_fd_maybe_socket): Remove function.
42873         (rpl_close): Invoke execute_all_close_hooks instead of
42874         _gl_close_fd_maybe_socket.
42875         * lib/sockets.c: Include close-hook.h, w32sock.h.
42876         (close_fd_maybe_socket): New function, essentially from lib/close.c.
42877         (close_sockets_hook): New variable.
42878         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
42879         (gl_sockets_cleanup): Unregister it.
42880         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
42881         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
42882         * modules/close-hook: New file.
42883         * modules/close (Files): Remove lib/w32sock.h.
42884         (Depends-on): Add close-hook.
42885         (Link): Remove section.
42886         * modules/sockets (Files): Add lib/w32sock.h.
42887         (Depends-on): Add close-hook.
42888         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
42889         invocation.
42890         * NEWS: Mention that LIB_CLOSE is gone.
42891
42892 2009-03-23  Eric Blake  <ebb9@byu.net>
42893
42894         signal-tests: test previous patch
42895         * tests/test-signal.c: New file.
42896         * modules/signal-tests: Likewise.
42897
42898         signal.h: always support 'volatile sig_atomic_t'
42899         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
42900         (gl_SIGNAL_H_DEFAULTS): Add a default.
42901         * modules/signal (Makefile.am): Substitute if needed.
42902         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
42903         users can blindly add volatile.
42904         * doc/posix-headers/signal.texi (signal.h): Document it.
42905         Reported by Matthew Woehlke.
42906
42907 2009-03-23  Jim Meyering  <meyering@redhat.com>
42908
42909         pathmax: PATH_MAX: use pathconf only when available
42910         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
42911         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
42912         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
42913         This avoids a link failure in a PSP cross-compilation environment
42914         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
42915
42916         * lib/vasnprintf.c (divide): Fix typo in comment.
42917
42918 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42919
42920         * gnulib-tool (func_filter_filelist): Fix comment.
42921
42922 2009-03-20  Bruno Haible  <bruno@clisp.org>
42923
42924         Make sockets.h self-contained.
42925         * lib/sockets.c: Include sockets.h first.
42926         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
42927
42928 2009-03-19  Eric Blake  <ebb9@byu.net>
42929
42930         doc: mention more functions added in cygwin 1.7.0
42931         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
42932         addition.
42933         * doc/posix-functions/log2f.texi: Likewise.
42934
42935 2009-03-19  Jim Meyering  <meyering@redhat.com>
42936
42937         fsusage: avoid syntax error due to statement-before-declaration
42938         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
42939         after all declarations.  Reported by Matthew Woehlke in
42940         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
42941
42942 2009-03-18  Eric Blake  <ebb9@byu.net>
42943
42944         build-aux/compile: sync from automake
42945         * build-aux/compile: New file, from automake.
42946         * config/srclist.txt: Mention build-aux/compile.
42947
42948 2009-03-17  Bruno Haible  <bruno@clisp.org>
42949
42950         * lib/git-merge-changelog.c: Fix typo in comment.
42951         Reported by Reuben Thomas <rrt@sc3d.org>.
42952
42953 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
42954
42955         * m4/regex.m4: update and improve help for
42956         --without-included-regex.
42957
42958 2009-03-17  Simon Josefsson  <simon@josefsson.org>
42959
42960         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
42961         failure on missing include files.
42962
42963 2009-03-17  Eric Blake  <ebb9@byu.net>
42964
42965         doc: mention more functions added in cygwin 1.7.0
42966         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
42967         addition.
42968         * doc/posix-functions/fwscanf.texi: Likewise.
42969         * doc/posix-functions/swprintf.texi: Likewise.
42970         * doc/posix-functions/swscanf.texi: Likewise.
42971         * doc/posix-functions/vfwprintf.texi: Likewise.
42972         * doc/posix-functions/vfwscanf.texi: Likewise.
42973         * doc/posix-functions/vswprintf.texi: Likewise.
42974         * doc/posix-functions/vswscanf.texi: Likewise.
42975         * doc/posix-functions/vwprintf.texi: Likewise.
42976         * doc/posix-functions/vwscanf.texi: Likewise.
42977         * doc/posix-functions/wcscasecmp.texi: Likewise.
42978         * doc/posix-functions/wcsdup.texi: Likewise.
42979         * doc/posix-functions/wcsftime.texi: Likewise.
42980         * doc/posix-functions/wcsncasecmp.texi: Likewise.
42981         * doc/posix-functions/wprintf.texi: Likewise.
42982         * doc/posix-functions/wscanf.texi: Likewise.
42983         * doc/glibc-functions/gethostbyname2.texi: Likewise.
42984
42985 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42986
42987         maint.mk: really add $(AM_MAKEFLAGS)
42988         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
42989         was inadvertently omitted in the last commit.
42990         Spotted by Bruno Haible.
42991
42992         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
42993         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
42994         $(AM_MAKEFLAGS)' rather than plain `make'.
42995
42996         gnulib-tool: execute $MAKE not make
42997         * gnulib-tool: Default $MAKE to 'make'.
42998         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
42999         than make.  Initialize $MAKE in the do-autobuild script.
43000
43001         gnulib-tool: use $MAKE not make in generated files
43002         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
43003         make, in generated files.  Initialize $MAKE in the do-autobuild
43004         script.
43005
43006         * top/GNUmakefile (_have-git-version-gen): Fix typo.
43007
43008         GNUmakefile: disable parallelism only for multiple, recursive targets
43009         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
43010         additions in the Makefile.
43011         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
43012         by Automake.
43013         (.NOTPARALLEL): Only disable parallel builds if multiple targets
43014         are listed on the command line and at least one of them is
43015         listed in $(ALL_RECURSIVE_TARGETS).
43016
43017 2009-03-14  Bruno Haible  <bruno@clisp.org>
43018
43019         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
43020         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
43021         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
43022         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
43023         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
43024         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
43025         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
43026         unistr/u8-uctomb.
43027         * modules/unistr/u8-strchr (Depends-on): Likewise.
43028         * modules/unistr/u8-strrchr (Depends-on): Likewise.
43029         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
43030         unistr/u16-uctomb.
43031         * modules/unistr/u16-strchr (Depends-on): Likewise.
43032         * modules/unistr/u16-strrchr (Depends-on): Likewise.
43033
43034 2009-03-12  Bruno Haible  <bruno@clisp.org>
43035
43036         Work around select() bug on Interix 3.5.
43037         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
43038         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
43039         * m4/select.m4: New file.
43040         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
43041         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
43042         * modules/select (Files): Add m4/select.m4.
43043         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
43044         * modules/nanosleep (Depends-on): Add select.
43045         * modules/poll (Depends-on): Likewise.
43046         * doc/posix-functions/select.texi: Mention the Interix bug.
43047         Reported by Markus Duft <mduft@gentoo.org>.
43048
43049         * lib/select.c: Renamed from lib/winsock-select.c.
43050         * modules/select (Files): Add lib/select.c, remove
43051         lib/winsock-select.c.
43052         (configure.ac): Update.
43053
43054 2009-03-12  Jim Meyering  <meyering@redhat.com>
43055
43056         avoid gcc warnings about unused macro definitions
43057         * lib/readtokens.c (STREQ): Remove unused definition.
43058         * lib/xmalloc.c (SIZE_MAX): Likewise.
43059         * lib/openat-die.c (N_): Likewise.
43060         * lib/mountlist.c (SIZE_MAX): Remove definition.
43061         Instead, include <stdint.h>.
43062         * lib/readutmp.c: Likewise.
43063         * modules/readutmp (Depends-on): Add stdint.
43064         * modules/mountlist (Depends-on): Add stdint.
43065         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
43066
43067 2009-03-10  Bruno Haible  <bruno@clisp.org>
43068
43069         Tests for module 'mbmemcasecoll'.
43070         * modules/mbmemcasecoll-tests: New file.
43071         * tests/test-mbmemcasecoll1.sh: New file.
43072         * tests/test-mbmemcasecoll2.sh: New file.
43073         * tests/test-mbmemcasecoll3.sh: New file.
43074         * tests/test-mbmemcasecoll.c: New file.
43075
43076         New module 'mbmemcasecoll'.
43077         * lib/mbmemcasecoll.h: New file.
43078         * lib/mbmemcasecoll.c: New file.
43079         * modules/mbmemcasecoll: New file.
43080
43081         * tests/test-mbmemcasecmp.h: New file, extracted from
43082         tests/test-mbmemcasecmp.c.
43083         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
43084         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
43085         (main): Update.
43086         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
43087
43088 2009-03-09  Bruno Haible  <bruno@clisp.org>
43089
43090         Tests for module 'mbmemcasecmp'.
43091         * modules/mbmemcasecmp-tests: New file.
43092         * tests/test-mbmemcasecmp1.sh: New file.
43093         * tests/test-mbmemcasecmp2.sh: New file.
43094         * tests/test-mbmemcasecmp3.sh: New file.
43095         * tests/test-mbmemcasecmp.c: New file.
43096
43097         New module 'mbmemcasecmp'.
43098         * lib/mbmemcasecmp.h: New file.
43099         * lib/mbmemcasecmp.c: New file.
43100         * modules/mbmemcasecmp: New file.
43101
43102 2009-03-09  Bruno Haible  <bruno@clisp.org>
43103
43104         Tests for module 'unicase/ulc-casecoll'.
43105         * modules/unicase/ulc-casecoll-tests: New file.
43106         * tests/unicase/test-ulc-casecoll1.sh: New file.
43107         * tests/unicase/test-ulc-casecoll2.sh: New file.
43108         * tests/unicase/test-ulc-casecoll.c: New file.
43109
43110         New module 'unicase/ulc-casecoll'.
43111         * lib/unicase.h (ulc_casecoll): New declaration.
43112         * lib/unicase/ulc-casecoll.c: New file.
43113         * modules/unicase/ulc-casecoll: New file.
43114
43115         New module 'unicase/ulc-casexfrm'.
43116         * lib/unicase.h (ulc_casexfrm): New declaration.
43117         * lib/unicase/ulc-casexfrm.c: New file.
43118         * modules/unicase/ulc-casexfrm: New file.
43119
43120 2009-03-09  Bruno Haible  <bruno@clisp.org>
43121
43122         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
43123         invocations.
43124
43125         * m4/mbscasecmp.m4: Remove file.
43126         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
43127         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
43128
43129         * m4/mbscasestr.m4: Remove file.
43130         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
43131         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
43132
43133         * m4/mbschr.m4: Remove file.
43134         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
43135         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
43136
43137         * m4/mbscspn.m4: Remove file.
43138         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
43139         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
43140
43141         * m4/mbslen.m4: Remove file.
43142         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
43143         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
43144
43145         * m4/mbsncasecmp.m4: Remove file.
43146         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
43147         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
43148
43149         * m4/mbsnlen.m4: Remove file.
43150         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
43151         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
43152
43153         * m4/mbspbrk.m4: Remove file.
43154         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
43155         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
43156
43157         * m4/mbspcasecmp.m4: Remove file.
43158         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
43159         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
43160
43161         * m4/mbsrchr.m4: Remove file.
43162         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
43163         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
43164
43165         * m4/mbssep.m4: Remove file.
43166         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
43167         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
43168
43169         * m4/mbsspn.m4: Remove file.
43170         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
43171         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
43172
43173         * m4/mbsstr.m4: Remove file.
43174         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
43175         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
43176
43177         * m4/mbstok_r.m4: Remove file.
43178         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
43179         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
43180
43181         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
43182
43183         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
43184         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
43185
43186         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
43187
43188 2009-03-08  Bruno Haible  <bruno@clisp.org>
43189
43190         Tests for module 'unicase/ulc-casecmp'.
43191         * modules/unicase/ulc-casecmp-tests: New file.
43192         * tests/unicase/test-ulc-casecmp1.sh: New file.
43193         * tests/unicase/test-ulc-casecmp2.sh: New file.
43194         * tests/unicase/test-ulc-casecmp.c: New file.
43195
43196         New module 'unicase/ulc-casecmp'.
43197         * lib/unicase.h (ulc_casecmp): New declaration.
43198         * lib/unicase/ulc-casecmp.c: New file.
43199         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
43200         'const SRC_UNIT *'.
43201         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
43202         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
43203         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
43204         * modules/unicase/ulc-casecmp: New file.
43205
43206         Tests for module 'unicase/u32-is-cased'.
43207         * modules/unicase/u32-is-cased-tests: New file.
43208         * tests/unicase/test-u32-is-cased.c: New file.
43209
43210         Tests for module 'unicase/u16-is-cased'.
43211         * modules/unicase/u16-is-cased-tests: New file.
43212         * tests/unicase/test-u16-is-cased.c: New file.
43213
43214         Tests for module 'unicase/u8-is-cased'.
43215         * modules/unicase/u8-is-cased-tests: New file.
43216         * tests/unicase/test-u8-is-cased.c: New file.
43217         * tests/unicase/test-is-cased.h: New file.
43218
43219         New module 'unicase/u32-is-cased'.
43220         * lib/unicase/u32-is-cased.c: New file.
43221         * modules/unicase/u32-is-cased: New file.
43222
43223         New module 'unicase/u16-is-cased'.
43224         * lib/unicase/u16-is-cased.c: New file.
43225         * modules/unicase/u16-is-cased: New file.
43226
43227         New module 'unicase/u8-is-cased'.
43228         * lib/unicase/u8-is-cased.c: New file.
43229         * lib/unicase/u-is-cased.h: New file.
43230         * modules/unicase/u8-is-cased: New file.
43231
43232         Tests for module 'unicase/u32-is-casefolded'.
43233         * modules/unicase/u32-is-casefolded-tests: New file.
43234         * tests/unicase/test-u32-is-casefolded.c: New file.
43235
43236         Tests for module 'unicase/u16-is-casefolded'.
43237         * modules/unicase/u16-is-casefolded-tests: New file.
43238         * tests/unicase/test-u16-is-casefolded.c: New file.
43239
43240         Tests for module 'unicase/u8-is-casefolded'.
43241         * modules/unicase/u8-is-casefolded-tests: New file.
43242         * tests/unicase/test-u8-is-casefolded.c: New file.
43243         * tests/unicase/test-is-casefolded.h: New file.
43244
43245         New module 'unicase/u32-is-casefolded'.
43246         * lib/unicase/u32-is-casefolded.c: New file.
43247         * modules/unicase/u32-is-casefolded: New file.
43248
43249         New module 'unicase/u16-is-casefolded'.
43250         * lib/unicase/u16-is-casefolded.c: New file.
43251         * modules/unicase/u16-is-casefolded: New file.
43252
43253         New module 'unicase/u8-is-casefolded'.
43254         * lib/unicase/u8-is-casefolded.c: New file.
43255         * modules/unicase/u8-is-casefolded: New file.
43256
43257         Tests for module 'unicase/u32-is-titlecase'.
43258         * modules/unicase/u32-is-titlecase-tests: New file.
43259         * tests/unicase/test-u32-is-titlecase.c: New file.
43260
43261         Tests for module 'unicase/u16-is-titlecase'.
43262         * modules/unicase/u16-is-titlecase-tests: New file.
43263         * tests/unicase/test-u16-is-titlecase.c: New file.
43264
43265         Tests for module 'unicase/u8-is-titlecase'.
43266         * modules/unicase/u8-is-titlecase-tests: New file.
43267         * tests/unicase/test-u8-is-titlecase.c: New file.
43268         * tests/unicase/test-is-titlecase.h: New file.
43269
43270         New module 'unicase/u32-is-titlecase'.
43271         * lib/unicase/u32-is-titlecase.c: New file.
43272         * modules/unicase/u32-is-titlecase: New file.
43273
43274         New module 'unicase/u16-is-titlecase'.
43275         * lib/unicase/u16-is-titlecase.c: New file.
43276         * modules/unicase/u16-is-titlecase: New file.
43277
43278         New module 'unicase/u8-is-titlecase'.
43279         * lib/unicase/u8-is-titlecase.c: New file.
43280         * modules/unicase/u8-is-titlecase: New file.
43281
43282         Tests for module 'unicase/u32-is-lowercase'.
43283         * modules/unicase/u32-is-lowercase-tests: New file.
43284         * tests/unicase/test-u32-is-lowercase.c: New file.
43285
43286         Tests for module 'unicase/u16-is-lowercase'.
43287         * modules/unicase/u16-is-lowercase-tests: New file.
43288         * tests/unicase/test-u16-is-lowercase.c: New file.
43289
43290         Tests for module 'unicase/u8-is-lowercase'.
43291         * modules/unicase/u8-is-lowercase-tests: New file.
43292         * tests/unicase/test-u8-is-lowercase.c: New file.
43293         * tests/unicase/test-is-lowercase.h: New file.
43294
43295         New module 'unicase/u32-is-lowercase'.
43296         * lib/unicase/u32-is-lowercase.c: New file.
43297         * modules/unicase/u32-is-lowercase: New file.
43298
43299         New module 'unicase/u16-is-lowercase'.
43300         * lib/unicase/u16-is-lowercase.c: New file.
43301         * modules/unicase/u16-is-lowercase: New file.
43302
43303         New module 'unicase/u8-is-lowercase'.
43304         * lib/unicase/u8-is-lowercase.c: New file.
43305         * modules/unicase/u8-is-lowercase: New file.
43306
43307         Tests for module 'unicase/u32-is-uppercase'.
43308         * modules/unicase/u32-is-uppercase-tests: New file.
43309         * tests/unicase/test-u32-is-uppercase.c: New file.
43310
43311         Tests for module 'unicase/u16-is-uppercase'.
43312         * modules/unicase/u16-is-uppercase-tests: New file.
43313         * tests/unicase/test-u16-is-uppercase.c: New file.
43314
43315         Tests for module 'unicase/u8-is-uppercase'.
43316         * modules/unicase/u8-is-uppercase-tests: New file.
43317         * tests/unicase/test-u8-is-uppercase.c: New file.
43318         * tests/unicase/test-is-uppercase.h: New file.
43319
43320         New module 'unicase/u32-is-uppercase'.
43321         * lib/unicase/u32-is-uppercase.c: New file.
43322         * modules/unicase/u32-is-uppercase: New file.
43323
43324         New module 'unicase/u16-is-uppercase'.
43325         * lib/unicase/u16-is-uppercase.c: New file.
43326         * modules/unicase/u16-is-uppercase: New file.
43327
43328         New module 'unicase/u8-is-uppercase'.
43329         * lib/unicase/u8-is-uppercase.c: New file.
43330         * modules/unicase/u8-is-uppercase: New file.
43331
43332         New module 'unicase/u32-is-invariant'.
43333         * lib/unicase/u32-is-invariant.c: New file.
43334         * modules/unicase/u32-is-invariant: New file.
43335
43336         New module 'unicase/u16-is-invariant'.
43337         * lib/unicase/u16-is-invariant.c: New file.
43338         * modules/unicase/u16-is-invariant: New file.
43339
43340         New module 'unicase/u8-is-invariant'.
43341         * lib/unicase/u8-is-invariant.c: New file.
43342         * lib/unicase/invariant.h: New file.
43343         * lib/unicase/u-is-invariant.h: New file.
43344         * modules/unicase/u8-is-invariant: New file.
43345
43346         Tests for module 'unicase/u32-casecoll'.
43347         * modules/unicase/u32-casecoll-tests: New file.
43348         * tests/unicase/test-u32-casecoll.c: New file.
43349
43350         Tests for module 'unicase/u16-casecoll'.
43351         * modules/unicase/u16-casecoll-tests: New file.
43352         * tests/unicase/test-u16-casecoll.c: New file.
43353
43354         Tests for module 'unicase/u8-casecoll'.
43355         * modules/unicase/u8-casecoll-tests: New file.
43356         * tests/unicase/test-u8-casecoll.c: New file.
43357
43358         New module 'unicase/u32-casecoll'.
43359         * lib/unicase/u32-casecoll.c: New file.
43360         * modules/unicase/u32-casecoll: New file.
43361
43362         New module 'unicase/u16-casecoll'.
43363         * lib/unicase/u16-casecoll.c: New file.
43364         * modules/unicase/u16-casecoll: New file.
43365
43366         New module 'unicase/u8-casecoll'.
43367         * lib/unicase/u8-casecoll.c: New file.
43368         * lib/unicase/u-casecoll.h: New file.
43369         * modules/unicase/u8-casecoll: New file.
43370
43371         New module 'unicase/u32-casexfrm'.
43372         * lib/unicase/u32-casexfrm.c: New file.
43373         * modules/unicase/u32-casexfrm: New file.
43374
43375         New module 'unicase/u16-casexfrm'.
43376         * lib/unicase/u16-casexfrm.c: New file.
43377         * modules/unicase/u16-casexfrm: New file.
43378
43379         New module 'unicase/u8-casexfrm'.
43380         * lib/unicase/u8-casexfrm.c: New file.
43381         * lib/unicase/u-casexfrm.h: New file.
43382         * modules/unicase/u8-casexfrm: New file.
43383
43384         Tests for module 'unicase/u32-casecmp'.
43385         * modules/unicase/u32-casecmp-tests: New file.
43386         * tests/unicase/test-u32-casecmp.c: New file.
43387
43388         Tests for module 'unicase/u16-casecmp'.
43389         * modules/unicase/u16-casecmp-tests: New file.
43390         * tests/unicase/test-u16-casecmp.c: New file.
43391
43392         Tests for module 'unicase/u8-casecmp'.
43393         * modules/unicase/u8-casecmp-tests: New file.
43394         * tests/unicase/test-u8-casecmp.c: New file.
43395         * tests/unicase/test-casecmp.h: New file.
43396
43397         New module 'unicase/u32-casecmp'.
43398         * lib/unicase/u32-casecmp.c: New file.
43399         * modules/unicase/u32-casecmp: New file.
43400
43401         New module 'unicase/u16-casecmp'.
43402         * lib/unicase/u16-casecmp.c: New file.
43403         * modules/unicase/u16-casecmp: New file.
43404
43405         New module 'unicase/u8-casecmp'.
43406         * lib/unicase/u8-casecmp.c: New file.
43407         * lib/unicase/u-casecmp.h: New file.
43408         * modules/unicase/u8-casecmp: New file.
43409
43410         Tests for module 'unicase/u32-casefold'.
43411         * modules/unicase/u32-casefold-tests: New file.
43412         * tests/unicase/test-u32-casefold.c: New file.
43413
43414         Tests for module 'unicase/u16-casefold'.
43415         * modules/unicase/u16-casefold-tests: New file.
43416         * tests/unicase/test-u16-casefold.c: New file.
43417
43418         Tests for module 'unicase/u8-casefold'.
43419         * modules/unicase/u8-casefold-tests: New file.
43420         * tests/unicase/test-u8-casefold.c: New file.
43421
43422         New module 'unicase/u32-casefold'.
43423         * lib/unicase/u32-casefold.c: New file.
43424         * modules/unicase/u32-casefold: New file.
43425
43426         New module 'unicase/u16-casefold'.
43427         * lib/unicase/u16-casefold.c: New file.
43428         * modules/unicase/u16-casefold: New file.
43429
43430         New module 'unicase/u8-casefold'.
43431         * lib/unicase/u8-casefold.c: New file.
43432         * lib/unicase/u-casefold.h: New file.
43433         * modules/unicase/u8-casefold: New file.
43434
43435         New module 'unicase/tocasefold'.
43436         * lib/unicase/casefold.h: New file.
43437         * lib/unicase/tocasefold.c: New file.
43438         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
43439         * modules/unicase/tocasefold: New file.
43440
43441         Tests for module 'unicase/u32-totitle'.
43442         * modules/unicase/u32-totitle-tests: New file.
43443         * tests/unicase/test-u32-totitle.c: New file.
43444
43445         Tests for module 'unicase/u16-totitle'.
43446         * modules/unicase/u16-totitle-tests: New file.
43447         * tests/unicase/test-u16-totitle.c: New file.
43448
43449         Tests for module 'unicase/u8-totitle'.
43450         * modules/unicase/u8-totitle-tests: New file.
43451         * tests/unicase/test-u8-totitle.c: New file.
43452
43453         New module 'unicase/u32-totitle'.
43454         * lib/unicase/u32-totitle.c: New file.
43455         * modules/unicase/u32-totitle: New file.
43456
43457         New module 'unicase/u16-totitle'.
43458         * lib/unicase/u16-totitle.c: New file.
43459         * modules/unicase/u16-totitle: New file.
43460
43461         New module 'unicase/u8-totitle'.
43462         * lib/unicase/u8-totitle.c: New file.
43463         * lib/unicase/u-totitle.h: New file.
43464         * modules/unicase/u8-totitle: New file.
43465
43466         Tests for module 'unicase/u32-tolower'.
43467         * modules/unicase/u32-tolower-tests: New file.
43468         * tests/unicase/test-u32-tolower.c: New file.
43469
43470         Tests for module 'unicase/u16-tolower'.
43471         * modules/unicase/u16-tolower-tests: New file.
43472         * tests/unicase/test-u16-tolower.c: New file.
43473
43474         Tests for module 'unicase/u8-tolower'.
43475         * modules/unicase/u8-tolower-tests: New file.
43476         * tests/unicase/test-u8-tolower.c: New file.
43477
43478         New module 'unicase/u32-tolower'.
43479         * lib/unicase/u32-tolower.c: New file.
43480         * modules/unicase/u32-tolower: New file.
43481
43482         New module 'unicase/u16-tolower'.
43483         * lib/unicase/u16-tolower.c: New file.
43484         * modules/unicase/u16-tolower: New file.
43485
43486         New module 'unicase/u8-tolower'.
43487         * lib/unicase/u8-tolower.c: New file.
43488         * modules/unicase/u8-tolower: New file.
43489
43490         Tests for module 'unicase/u32-toupper'.
43491         * modules/unicase/u32-toupper-tests: New file.
43492         * tests/unicase/test-u32-toupper.c: New file.
43493
43494         Tests for module 'unicase/u16-toupper'.
43495         * modules/unicase/u16-toupper-tests: New file.
43496         * tests/unicase/test-u16-toupper.c: New file.
43497
43498         Tests for module 'unicase/u8-toupper'.
43499         * modules/unicase/u8-toupper-tests: New file.
43500         * tests/unicase/test-u8-toupper.c: New file.
43501
43502         New module 'unicase/u32-toupper'.
43503         * lib/unicase/u32-toupper.c: New file.
43504         * modules/unicase/u32-toupper: New file.
43505
43506         New module 'unicase/u16-toupper'.
43507         * lib/unicase/u16-toupper.c: New file.
43508         * modules/unicase/u16-toupper: New file.
43509
43510         New module 'unicase/u8-toupper'.
43511         * lib/unicase/u8-toupper.c: New file.
43512         * modules/unicase/u8-toupper: New file.
43513
43514         New module 'unicase/u32-casemap'.
43515         * lib/unicase/u32-casemap.c: New file.
43516         * modules/unicase/u32-casemap: New file.
43517
43518         New module 'unicase/u16-casemap'.
43519         * lib/unicase/u16-casemap.c: New file.
43520         * modules/unicase/u16-casemap: New file.
43521
43522         New module 'unicase/u8-casemap'.
43523         * lib/unicase/unicasemap.h: New file.
43524         * lib/unicase/u8-casemap.c: New file.
43525         * lib/unicase/u-casemap.h: New file.
43526         * modules/unicase/u8-casemap: New file.
43527
43528         New module 'unicase/special-casing'.
43529         * lib/unicase/special-casing.h: New file.
43530         * lib/unicase/special-casing.c: New file.
43531         * lib/unicase/special-casing-table.gperf: New file, generated by
43532         gen-uni-tables.c.
43533         * modules/unicase/special-casing: New file.
43534
43535         Tests for module 'unicase/locale-language'.
43536         * modules/unicase/locale-language-tests: New file.
43537         * tests/unicase/test-locale-language.sh: New file.
43538         * tests/unicase/test-locale-language.c: New file.
43539
43540         New module 'unicase/locale-language'.
43541         * lib/unicase/locale-language.c: New file.
43542         * lib/unicase/locale-languages.gperf: New file.
43543         * modules/unicase/locale-language: New file.
43544
43545         Generate more tables for case conversion and case folding.
43546         * lib/gen-uni-tables.c (SCC_*): New enum items.
43547         (struct special_casing_rule): New type.
43548         (casing_rules, num_casing_rules, allocated_casing_rules): New
43549         variables.
43550         (add_casing_rule, fill_casing_rules): New functions.
43551         (struct casefold_rule): New type.
43552         (casefolding_rules, num_casefolding_rules,
43553         allocated_casefolding_rules): New variables.
43554         (fill_casefolding_rules): New function.
43555         (unicode_casefold): New variable.
43556         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
43557         sort_casing_rules, output_casing_rules): New functions.
43558         (main): Accept to more arguments: SpecialCasing.txt and
43559         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
43560         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
43561         Output mapping for casefolding.
43562
43563         * lib/unicase.h: Include stdbool.h, uninorm.h.
43564         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
43565         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
43566         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
43567         arguments.
43568         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
43569         resultp arguments.
43570         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
43571         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
43572         resultp arguments.
43573         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
43574         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
43575         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
43576         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
43577         declarations.
43578         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
43579
43580 2009-03-08  Bruno Haible  <bruno@clisp.org>
43581
43582         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
43583         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
43584         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
43585         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
43586
43587 2009-03-07  Bruno Haible  <bruno@clisp.org>
43588
43589         Adjust u*_normcmp, u*_normcoll API.
43590         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
43591         u16_normcoll, u32_normcoll): Change failure conventions.
43592         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
43593         errno and return -1.
43594         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
43595
43596 2009-03-07  Bruno Haible  <bruno@clisp.org>
43597
43598         Tests for module 'uninorm/u32-normcoll'.
43599         * modules/uninorm/u32-normcoll-tests: New file.
43600         * tests/uninorm/test-u32-normcoll.c: New file.
43601
43602         Tests for module 'uninorm/u16-normcoll'.
43603         * modules/uninorm/u16-normcoll-tests: New file.
43604         * tests/uninorm/test-u16-normcoll.c: New file.
43605
43606         Tests for module 'uninorm/u8-normcoll'.
43607         * modules/uninorm/u8-normcoll-tests: New file.
43608         * tests/uninorm/test-u8-normcoll.c: New file.
43609
43610 2009-03-07  Bruno Haible  <bruno@clisp.org>
43611
43612         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
43613         tests/uninorm/test-u32-normcmp.c.
43614         * tests/uninorm/test-u32-normcmp.c: Include it.
43615         (test_nonascii): New function, extracted from main. Add some more
43616         tests.
43617         (main): Invoke test_ascii and test_nonascii.
43618         * modules/uninorm/u32-normcmp-tests (Files): Add
43619         tests/uninorm/test-u32-normcmp.h.
43620         (Depends-on): Remove uninorm/u32-normcmp.
43621
43622         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
43623         tests/uninorm/test-u16-normcmp.c.
43624         * tests/uninorm/test-u16-normcmp.c: Include it.
43625         (test_nonascii): New function, extracted from main. Add some more
43626         tests.
43627         (main): Invoke test_ascii and test_nonascii.
43628         * modules/uninorm/u16-normcmp-tests (Files): Add
43629         tests/uninorm/test-u16-normcmp.h.
43630         (Depends-on): Remove uninorm/u16-normcmp.
43631
43632         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
43633         tests/uninorm/test-u8-normcmp.c.
43634         * tests/uninorm/test-u8-normcmp.c: Include it.
43635         (test_nonascii): New function, extracted from main. Add some more
43636         tests.
43637         (main): Invoke test_ascii and test_nonascii.
43638         * modules/uninorm/u8-normcmp-tests (Files): Add
43639         tests/uninorm/test-u8-normcmp.h.
43640         (Depends-on): Remove uninorm/u8-normcmp.
43641
43642 2009-03-07  Bruno Haible  <bruno@clisp.org>
43643
43644         New module 'uninorm/u32-normcoll'.
43645         * lib/uninorm/u32-normcoll.c: New file.
43646         * modules/uninorm/u32-normcoll: New file.
43647
43648         New module 'uninorm/u16-normcoll'.
43649         * lib/uninorm/u16-normcoll.c: New file.
43650         * modules/uninorm/u16-normcoll: New file.
43651
43652         New module 'uninorm/u8-normcoll'.
43653         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
43654         declarations.
43655         * lib/uninorm/u8-normcoll.c: New file.
43656         * lib/uninorm/u-normcoll.h: New file.
43657         * modules/uninorm/u8-normcoll: New file.
43658
43659         New module 'uninorm/u32-normxfrm'.
43660         * lib/uninorm/u32-normxfrm.c: New file.
43661         * modules/uninorm/u32-normxfrm: New file.
43662
43663         New module 'uninorm/u16-normxfrm'.
43664         * lib/uninorm/u16-normxfrm.c: New file.
43665         * modules/uninorm/u16-normxfrm: New file.
43666
43667         New module 'uninorm/u8-normxfrm'.
43668         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
43669         declarations.
43670         * lib/uninorm/u8-normxfrm.c: New file.
43671         * lib/uninorm/u-normxfrm.h: New file.
43672         * modules/uninorm/u8-normxfrm: New file.
43673
43674 2009-03-07  Bruno Haible  <bruno@clisp.org>
43675
43676         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
43677         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
43678         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
43679
43680 2009-03-07  Bruno Haible  <bruno@clisp.org>
43681
43682         New module 'memxfrm'.
43683         * lib/memxfrm.h: New file.
43684         * lib/memxfrm.c: New file.
43685         * modules/memxfrm: New file.
43686
43687 2009-03-07  Bruno Haible  <bruno@clisp.org>
43688
43689         New module 'memcmp2'.
43690         * lib/memcmp2.h: New file.
43691         * lib/memcmp2.c: New file.
43692         * modules/memcmp2: New file.
43693
43694 2009-03-07  Bruno Haible  <bruno@clisp.org>
43695
43696         Tests for module 'uninorm/decomposing-form'.
43697         * modules/uninorm/decomposing-form-tests: New file.
43698         * tests/uninorm/test-decomposing-form.c: New file.
43699
43700         New module 'uninorm/decomposing-form'.
43701         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
43702         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
43703         Add 'decomposing_variant' field.
43704         * lib/uninorm/decomposing-form.c: New file.
43705         * lib/uninorm/nfc.c (uninorm_nfc): Update.
43706         * lib/uninorm/nfd.c (uninorm_nfd): Update.
43707         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
43708         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
43709         * modules/uninorm/decomposing-form: New file.
43710         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
43711         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
43712
43713 2009-03-07  Bruno Haible  <bruno@clisp.org>
43714
43715         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
43716         strings.
43717
43718 2009-03-06  Bruno Haible  <bruno@clisp.org>
43719
43720         Tests for module 'uninorm/u32-normcmp'.
43721         * tests/uninorm/test-u32-normcmp.c: New file.
43722         * modules/uninorm/u32-normcmp-tests: New file.
43723
43724         Tests for module 'uninorm/u16-normcmp'.
43725         * tests/uninorm/test-u16-normcmp.c: New file.
43726         * modules/uninorm/u16-normcmp-tests: New file.
43727
43728         Tests for module 'uninorm/u8-normcmp'.
43729         * tests/uninorm/test-u8-normcmp.c: New file.
43730         * modules/uninorm/u8-normcmp-tests: New file.
43731
43732         New module 'uninorm/u32-normcmp'.
43733         * lib/uninorm/u32-normcmp.c: New file.
43734         * modules/uninorm/u32-normcmp: New file.
43735
43736         New module 'uninorm/u16-normcmp'.
43737         * lib/uninorm/u16-normcmp.c: New file.
43738         * modules/uninorm/u16-normcmp: New file.
43739
43740         New module 'uninorm/u8-normcmp'.
43741         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
43742         declarations.
43743         * lib/uninorm/u8-normcmp.c: New file.
43744         * lib/uninorm/u-normcmp.h: New file.
43745         * modules/uninorm/u8-normcmp: New file.
43746
43747 2009-03-06  Bruno Haible  <bruno@clisp.org>
43748
43749         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
43750         Reported by Eric Blake.
43751
43752 2009-03-06  Eric Blake  <ebb9@byu.net>
43753             Bruno Haible  <bruno@clisp.org>
43754
43755         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
43756         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
43757         condition.
43758         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
43759         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
43760         condition.
43761         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
43762
43763 2009-03-06  Eric Blake  <ebb9@byu.net>
43764
43765         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
43766         to avoid compiler warnings.
43767         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
43768
43769 2009-03-05  Bruno Haible  <bruno@clisp.org>
43770
43771         * tests/test-ftell.c (main): Disable test beyond end of file on
43772         FreeMiNT.
43773         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
43774
43775 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
43776
43777         * lib/filevercmp.c: Move hidden files up in ordering.
43778         * tests/test-filevercmp.c: Add tests for hidden files.
43779
43780 2009-03-04  Bruno Haible  <bruno@clisp.org>
43781
43782         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
43783         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
43784         AM_CFLAGS.
43785         Reported by Simon Josefsson.
43786
43787 2009-03-03  Bruno Haible  <bruno@clisp.org>
43788
43789         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
43790         Reported by Simon Josefsson.
43791
43792         * doc/ld-version-script.texi: Update node reference.
43793
43794 2009-03-03  Bruno Haible  <bruno@clisp.org>
43795
43796         * modules/visibility (License): Change to 'unlimited'.
43797         Suggested by Simon Josefsson.
43798
43799 2009-03-03  Jim Meyering  <meyering@redhat.com>
43800
43801         unlinkdir: cannot_unlink_dir may modify process state
43802         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
43803         it's neither thread-safe nor appropriate for use in a library.
43804
43805 2009-03-03  Eric Blake  <ebb9@byu.net>
43806
43807         test-closein: silence test under Darwin
43808         * tests/test-closein.sh: Ignore stderr from cat, since we don't
43809         care if it dies from EPIPE or EBADF.
43810
43811 2009-03-03  Bruno Haible  <bruno@clisp.org>
43812
43813         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
43814         earlier.
43815         * doc/visibility.texi: Fix @node and @section.
43816
43817 2009-03-03  Simon Josefsson  <simon@josefsson.org>
43818
43819         * doc/gnulib.texi: Link to sections for ld version script and
43820         visibility.
43821         * doc/visibility.texi: Add @node and @section.
43822         * modules/ld-version-script: New module.
43823         * m4/ld-version-script.m4: New file.
43824         * doc/ld-version-script.texi: New file.
43825
43826 2009-03-02  David Lutterkort  <lutter@redhat.com>
43827
43828         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
43829         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43830
43831 2009-03-02  Bruno Haible  <bruno@clisp.org>
43832
43833         * doc/visibility.texi: Mention libtool's -export-symbols option.
43834
43835 2009-03-02  Jim Meyering  <meyering@redhat.com>
43836
43837         announce-gen: new option: --no-print-checksums
43838         * build-aux/announce-gen (usage): Describe it.
43839         (print_checksums): Print a newline here, not in the [*] footnote.
43840         (main): Honor it.
43841
43842 2009-03-01  Bruno Haible  <bruno@clisp.org>
43843
43844         Use socklen_t in the native Windows replacements prototypes.
43845         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
43846         instead of 'int'.
43847         * lib/getsockopt.c (rpl_getsockopt): Likewise.
43848         * lib/setsockopt.c (rpl_setsockopt): Likewise.
43849         * modules/getsockopt (Depends-on): Add socklen.
43850         * modules/setsockopt (Depends-on): Add socklen.
43851
43852 2009-03-01  Bruno Haible  <bruno@clisp.org>
43853
43854         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
43855         least 4.2.
43856
43857 2009-03-01  Eric Blake  <ebb9@byu.net>
43858             Bruno Haible  <bruno@clisp.org>
43859
43860         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
43861         error messages.
43862         * lib/wait-process.c (wait_subprocess): Omit error message about
43863         deadly signal sent to the child of termsigp != NULL.
43864
43865 2009-03-01  Eric Blake  <ebb9@byu.net>
43866
43867         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
43868
43869 2009-03-01  Bruno Haible  <bruno@clisp.org>
43870
43871         Avoid a gcc warning.
43872         * tests/test-sched.c (b): Make global.
43873         Reported by Eric Blake.
43874
43875 2009-01-19  Martin Lambers  <marlam@marlam.de>
43876
43877         Provide POSIX semantics for socket timeout options on W32.
43878         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
43879         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
43880         * modules/setsockopt: Depend on sys_time module for struct timeval.
43881         * modules/getsockopt: Depend on sys_time module for struct timeval.
43882
43883 2009-03-01  Simon Josefsson  <simon@josefsson.org>
43884
43885         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
43886         __USE_GNU, for consistency with netdb.in.h.
43887         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43888
43889 2009-03-01  Bruno Haible  <bruno@clisp.org>
43890
43891         More support for FreeMiNT.
43892         * lib/fseeko.c (rpl_fseeko): Complete last commit.
43893         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43894
43895 2009-03-01  Bruno Haible  <bruno@clisp.org>
43896
43897         More support for FreeMiNT.
43898         * lib/fpurge.c (fpurge): Correct last commit.
43899         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43900
43901 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43902
43903         Fix unportable awk script in vc-list-files.
43904         * build-aux/vc-list-files: In the replacement awk script, use
43905         substr with a second argument of 1, not zero.
43906         Report by Simon Josefsson.
43907
43908 2009-02-28  Bruno Haible  <bruno@clisp.org>
43909
43910         More support for FreeMiNT.
43911         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
43912         to FreeMiNT today.
43913         * lib/fwriting.c (fwriting): Likewise.
43914         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
43915
43916 2009-02-28  Bruno Haible  <bruno@clisp.org>
43917
43918         * tests/test-freadseek.c (main): Disable test beyond end of file on
43919         FreeMiNT.
43920         * tests/test-ftello.c (main): Likewise.
43921         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
43922
43923 2009-02-28  Bruno Haible  <bruno@clisp.org>
43924
43925         Add tentative support for FreeMiNT.
43926         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
43927         * lib/fpurge.c (fpurge): Likewise.
43928         * lib/freadable.c (freadable): Likewise.
43929         * lib/freading.c (freading): Likewise.
43930         * lib/freadptr.c (freadptr): Likewise.
43931         * lib/freadseek.c (freadptrinc): Likewise.
43932         * lib/fseeko.c (rpl_fseeko): Likewise.
43933         * lib/fseterr.c (fseterr): Likewise.
43934         * lib/fwritable.c (fwritable): Likewise.
43935         * lib/fwriting.c (fwriting): Likewise.
43936         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
43937         Hourihane.
43938         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43939
43940 2009-02-28  Bruno Haible  <bruno@clisp.org>
43941
43942         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
43943         SIGCHLD.
43944         Reported by Jim Meyering.
43945
43946 2009-02-28  Bruno Haible  <bruno@clisp.org>
43947
43948         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
43949         Mention the results of these tests on various platforms.
43950         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
43951         order.
43952         * doc/posix-functions/printf.texi: Likewise.
43953         * doc/posix-functions/snprintf.texi: Likewise.
43954         * doc/posix-functions/sprintf.texi: Likewise.
43955         * doc/posix-functions/vfprintf.texi: Likewise.
43956         * doc/posix-functions/vprintf.texi: Likewise.
43957         * doc/posix-functions/vsnprintf.texi: Likewise.
43958         * doc/posix-functions/vsprintf.texi: Likewise.
43959         * doc/glibc-functions/obstack_printf.texi: Likewise.
43960         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
43961
43962 2009-02-28  Bruno Haible  <bruno@clisp.org>
43963
43964         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
43965         Reported by Loïc Minier <lool@dooz.org>.
43966
43967 2009-02-27  Bruno Haible  <bruno@clisp.org>
43968
43969         * gnulib-tool (func_import): Make the sed expression used to create the
43970         sed script for updating the .gitignore file POSIX compliant.
43971         Reported by Eric Blake.
43972
43973 2009-02-27  Bruno Haible  <bruno@clisp.org>
43974
43975         * gnulib-tool (sed): Don't alias as "sed --posix".
43976         Reported by Eric Blake.
43977
43978 2009-02-27  Bruno Haible  <bruno@clisp.org>
43979
43980         Avoid test link errors.
43981         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
43982         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
43983         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
43984         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
43985         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43986
43987 2009-02-27  Bruno Haible  <bruno@clisp.org>
43988
43989         Avoid spurious "(cached)" in configure output.
43990         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
43991         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
43992         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
43993         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
43994         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
43995         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
43996         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
43997         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
43998         Reported by Eric Blake.
43999
44000 2009-02-27  Eric Blake  <ebb9@byu.net>
44001
44002         printf: fix regression in previous patch
44003         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
44004
44005 2009-02-27  Bruno Haible  <bruno@clisp.org>
44006
44007         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
44008         value.
44009         * lib/stdint.in.h: Likewise.
44010         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
44011
44012 2009-02-27  Eric Blake  <ebb9@byu.net>
44013
44014         doc: mention more functions added in cygwin 1.7.0
44015         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
44016         addition.
44017         * doc/posix-functions/open_wmemstream.texi: Likewise.
44018         * doc/posix-functions/wcsnlen.texi: Likewise.
44019         * doc/posix-functions/wcsnrtombs.texi: Likewise.
44020         * doc/posix-functions/wcstod.texi: Likewise.
44021         * doc/posix-functions/wcstof.texi: Likewise.
44022         * doc/posix-functions/wcstoimax.texi: Likewise.
44023         * doc/posix-functions/wcstok.texi: Likewise.
44024         * doc/posix-functions/wcstoumax.texi: Likewise.
44025
44026         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
44027         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
44028         * doc/posix-functions/fprintf.texi: Update.
44029         * doc/posix-functions/printf.texi: Update.
44030         * doc/posix-functions/snprintf.texi: Update.
44031         * doc/posix-functions/sprintf.texi: Update.
44032         * doc/posix-functions/vfprintf.texi: Update.
44033         * doc/posix-functions/vprintf.texi: Update.
44034         * doc/posix-functions/vsnprintf.texi: Update.
44035         * doc/posix-functions/vsprintf.texi: Update.
44036         * doc/glibc-functions/obstack_printf.texi: Update.
44037         * doc/glibc-functions/obstack_vprintf.texi: Update.
44038
44039 2009-02-26  Eric Blake  <ebb9@byu.net>
44040
44041         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
44042         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
44043         compilation bug by using runtime conversion.
44044         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
44045         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
44046         * modules/ceill-tests (Files): Use nan.h.
44047         * modules/floorl-tests (Files): Likewise.
44048         * modules/frexpl-tests (Files): Likewise.
44049         * modules/isnanl-tests (Files): Likewise.
44050         * modules/ldexpl-tests (Files): Likewise.
44051         * modules/roundl-tests (Files): Likewise.
44052         * modules/truncl-tests (Files): Likewise.
44053         * tests/test-ceill.c (main): Use a working NaN.
44054         * tests/test-floorl.c (main): Likewise.
44055         * tests/test-frexpl.c (main): Likewise.
44056         * tests/test-isnan.c (test_long_double): Likewise.
44057         * tests/test-isnanl.h (main): Likewise.
44058         * tests/test-ldexpl.h (main): Likewise.
44059         * tests/test-roundl.h (main): Likewise.
44060         * tests/test-truncl.h (main): Likewise.
44061         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
44062
44063 2009-02-26  Eric Blake  <ebb9@byu.net>
44064             Bruno Haible  <bruno@clisp.org>
44065
44066         Work around a *printf bug with %ls on Solaris.
44067         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
44068         precision is specified, sprintf stops converting the wide string
44069         argument when the number of bytes that have been produced by this
44070         conversion equals or exceeds the precision.
44071         * doc/posix-functions/fprintf.texi: Update.
44072         * doc/posix-functions/printf.texi: Update.
44073         * doc/posix-functions/snprintf.texi: Update.
44074         * doc/posix-functions/sprintf.texi: Update.
44075         * doc/posix-functions/vfprintf.texi: Update.
44076         * doc/posix-functions/vprintf.texi: Update.
44077         * doc/posix-functions/vsnprintf.texi: Update.
44078         * doc/posix-functions/vsprintf.texi: Update.
44079         * doc/glibc-functions/obstack_printf.texi: Update.
44080         * doc/glibc-functions/obstack_vprintf.texi: Update.
44081
44082 2009-02-26  Eric Blake  <ebb9@byu.net>
44083
44084         stdlib: favor compiler check of random.h
44085         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
44086         to avoid an ObjC random.h installed by Swarm.
44087
44088 2009-02-26  Bruno Haible  <bruno@clisp.org>
44089
44090         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
44091         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
44092         Reported by Gary V. Vaughan <gary@gnu.org>.
44093
44094 2009-02-26  Bruno Haible  <bruno@clisp.org>
44095
44096         Fix *printf behaviour regarding the %ls directive.
44097         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
44098         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
44099         NEED_PRINTF_DIRECTIVE_LS.
44100         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
44101         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44102         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44103         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
44104         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
44105         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
44106         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
44107         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44108         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44109         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44110         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44111         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
44112         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44113         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44114         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44115         * doc/posix-functions/fprintf.texi: Update.
44116         * doc/posix-functions/printf.texi: Update.
44117         * doc/posix-functions/snprintf.texi: Update.
44118         * doc/posix-functions/sprintf.texi: Update.
44119         * doc/posix-functions/vfprintf.texi: Update.
44120         * doc/posix-functions/vprintf.texi: Update.
44121         * doc/posix-functions/vsnprintf.texi: Update.
44122         * doc/posix-functions/vsprintf.texi: Update.
44123         * doc/glibc-functions/obstack_printf.texi: Update.
44124         * doc/glibc-functions/obstack_vprintf.texi: Update.
44125         Reported by Eric Blake.
44126
44127 2009-02-25  Bruno Haible  <bruno@clisp.org>
44128
44129         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
44130         with known value.
44131         Reported by Gary V. Vaughan <gary@gnu.org>.
44132
44133 2009-02-25  Bruno Haible  <bruno@clisp.org>
44134
44135         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
44136         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
44137         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
44138         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
44139         Reported by Gary V. Vaughan <gary@gnu.org>.
44140
44141 2009-02-25  Bruno Haible  <bruno@clisp.org>
44142
44143         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
44144         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
44145         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
44146         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
44147         Reported by Gary V. Vaughan <gary@gnu.org>.
44148
44149 2009-02-25  Eric Blake  <ebb9@byu.net>
44150
44151         tests: skip fseek/ftell tests if ungetc is broken
44152         * m4/ungetc.m4: New file.
44153         * modules/fseek-tests: Split test, so ungetc dependency is
44154         separate from rest of test.
44155         * modules/fseeko-tests: Likewise.
44156         * modules/ftell-tests: Likewise.
44157         * modules/ftello-tests: Likewise.
44158         * tests/test-fseek.c (main): Isolate ungetc dependency.
44159         * tests/test-fseeko.c (main): Likewise.
44160         * tests/test-ftell.c (main): Likewise.
44161         * tests/test-ftello.c (main): Likewise.
44162         * tests/test-fseek2.sh: New file.
44163         * tests/test-fseeko2.sh: Likewise.
44164         * tests/test-ftell2.sh: Likewise.
44165         * tests/test-ftello2.sh: Likewise.
44166
44167 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
44168
44169         test-getaddrinfo: fix usage of skip return code 77
44170         * tests/test-gettaddrinfo.c: Return skip code 77 only
44171         for first occurance of skip (4x77 is not 77)
44172
44173 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
44174
44175         strtod: avoid C99 decl-after-statement
44176         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
44177
44178 2009-02-24  Eric Blake  <ebb9@byu.net>
44179
44180         strtod: detect HP-UX 11.31 bug
44181         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
44182         Reported by Gary V. Vaughan.
44183
44184 2009-02-23  Bruno Haible  <bruno@clisp.org>
44185
44186         Fix invalid read past end of memory block.
44187         * lib/vasnprintf.c (DCHAR_SET): Define.
44188         (local_wcslen): Define only when needed.
44189         (local_strnlen, local_wcsnlen): New functions.
44190         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
44191         directives that involve a conversion ourselves.
44192         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
44193         wcsnlen, mbrtowc, wcrtomb.
44194         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
44195         * tests/test-vasprintf-posix.c (test_function): Likewise.
44196         * tests/test-snprintf-posix.h (test_function): Likewise.
44197         * tests/test-sprintf-posix.h (test_function): Likewise.
44198         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44199
44200 2009-02-22  Bruno Haible  <bruno@clisp.org>
44201
44202         Implement new clarified decomposition of Hangul syllables.
44203         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
44204         of type LTV, return only a pairwise decomposition.
44205         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
44206         Likewise.
44207         * tests/uninorm/test-decomposition.c (main): Updated expected result.
44208         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
44209         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
44210
44211 2009-02-22  Bruno Haible  <bruno@clisp.org>
44212
44213         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
44214         zero-length results and shrink excess allocated memory.
44215         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
44216         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
44217         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
44218         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
44219         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
44220         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
44221         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
44222         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
44223         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
44224         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
44225         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
44226         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
44227
44228 2009-02-21  Bruno Haible  <bruno@clisp.org>
44229
44230         * doc/gnulib.texi: Include safe-alloc.texi earlier.
44231         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
44232         spaces after a period. Put a space between a macro name and its
44233         argument list. Trivial rewordings.
44234         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
44235         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
44236         (main): Return 0 explicitly.
44237
44238 2009-02-21  Bruno Haible  <bruno@clisp.org>
44239
44240         Tests for module 'uninorm/filter'.
44241         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
44242         * modules/uninorm/filter-tests: New file.
44243
44244         New module 'uninorm/filter'.
44245         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
44246         uninorm_filter_flush, uninorm_filter_free): New declarations.
44247         * lib/uninorm/uninorm-filter.c: New file.
44248         * modules/uninorm/filter: New file.
44249
44250 2009-02-21  Bruno Haible  <bruno@clisp.org>
44251
44252         Tests for module 'uninorm/nfkc'.
44253         * tests/uninorm/test-nfkc.c: New file.
44254         * tests/uninorm/test-u8-nfkc.c: New file.
44255         * tests/uninorm/test-u16-nfkc.c: New file.
44256         * tests/uninorm/test-u32-nfkc.c: New file.
44257         * tests/uninorm/test-u32-nfkc-big.sh: New file.
44258         * tests/uninorm/test-u32-nfkc-big.c: New file.
44259         * modules/uninorm/nfkc-tests: New file.
44260
44261         New module 'uninorm/nfkc'.
44262         * lib/uninorm/nfkc.c: New file.
44263         * modules/uninorm/nfkc: New file.
44264
44265         Tests for module 'uninorm/nfkd'.
44266         * tests/uninorm/test-nfkd.c: New file.
44267         * tests/uninorm/test-u8-nfkd.c: New file.
44268         * tests/uninorm/test-u16-nfkd.c: New file.
44269         * tests/uninorm/test-u32-nfkd.c: New file.
44270         * tests/uninorm/test-u32-nfkd-big.sh: New file.
44271         * tests/uninorm/test-u32-nfkd-big.c: New file.
44272         * modules/uninorm/nfkd-tests: New file.
44273
44274         New module 'uninorm/nfkd'.
44275         * lib/uninorm/nfkd.c: New file.
44276         * modules/uninorm/nfkd: New file.
44277
44278         Tests for module 'uninorm/nfc'.
44279         * tests/uninorm/test-nfc.c: New file.
44280         * tests/uninorm/test-u8-nfc.c: New file.
44281         * tests/uninorm/test-u16-nfc.c: New file.
44282         * tests/uninorm/test-u32-nfc.c: New file.
44283         * tests/uninorm/test-u32-nfc-big.sh: New file.
44284         * tests/uninorm/test-u32-nfc-big.c: New file.
44285         * modules/uninorm/nfc-tests: New file.
44286
44287         New module 'uninorm/nfc'.
44288         * lib/uninorm/nfc.c: New file.
44289         * modules/uninorm/nfc: New file.
44290
44291         Tests for module 'uninorm/nfd'.
44292         * tests/uninorm/test-nfd.c: New file.
44293         * tests/uninorm/test-u8-nfd.c: New file.
44294         * tests/uninorm/test-u16-nfd.c: New file.
44295         * tests/uninorm/test-u32-nfd.c: New file.
44296         * tests/uninorm/test-u32-nfd-big.sh: New file.
44297         * tests/uninorm/test-u32-nfd-big.c: New file.
44298         * tests/uninorm/test-u32-normalize-big.h: New file.
44299         * tests/uninorm/test-u32-normalize-big.c: New file.
44300         * tests/uninorm/NormalizationTest.txt: New file, created from
44301         Unicode 5.1.0 NormalizationTest.txt.
44302         * modules/uninorm/nfd-tests: New file.
44303
44304         New module 'uninorm/nfd'.
44305         * lib/uninorm/nfd.c: New file.
44306         * modules/uninorm/nfd: New file.
44307
44308         New module 'uninorm/u32-normalize'.
44309         * lib/uninorm/u32-normalize.c: New file.
44310         * modules/uninorm/u32-normalize: New file.
44311
44312         New module 'uninorm/u16-normalize'.
44313         * lib/uninorm/u16-normalize.c: New file.
44314         * modules/uninorm/u16-normalize: New file.
44315
44316         New module 'uninorm/u8-normalize'.
44317         * lib/uninorm/u8-normalize.c: New file.
44318         * lib/uninorm/normalize-internal.h: New file.
44319         * lib/uninorm/u-normalize-internal.h: New file.
44320         * modules/uninorm/u8-normalize: New file.
44321
44322         New module 'uninorm/decompose-internal'.
44323         * lib/uninorm/decompose-internal.c: New file.
44324         * modules/uninorm/decompose-internal: New file.
44325
44326         Tests for module 'uninorm/composition'.
44327         * tests/uninorm/test-composition.c: New file.
44328         * modules/uninorm/composition-tests: New file.
44329
44330         New module 'uninorm/composition'.
44331         * lib/uninorm/composition.c: New file.
44332         * lib/uninorm/composition-table.gperf: New file, generated by
44333         gen-uni-tables.
44334         * modules/uninorm/composition: New file.
44335
44336         Tests for module 'uninorm/compat-decomposition'.
44337         * tests/uninorm/test-compat-decomposition.c: New file.
44338         * modules/uninorm/compat-decomposition-tests: New file.
44339
44340         New module 'uninorm/compat-decomposition'.
44341         * lib/uninorm/decompose-internal.h: New file.
44342         * lib/uninorm/compat-decomposition.c: New file.
44343         * modules/uninorm/compat-decomposition: New file.
44344
44345         Tests for module 'uninorm/canonical-decomposition'.
44346         * tests/uninorm/test-canonical-decomposition.c: New file.
44347         * modules/uninorm/canonical-decomposition-tests: New file.
44348
44349         New module 'uninorm/canonical-decomposition'.
44350         * lib/uninorm/canonical-decomposition.c: New file.
44351         * modules/uninorm/canonical-decomposition: New file.
44352
44353         Tests for module 'uninorm/decomposition'.
44354         * tests/uninorm/test-decomposition.c: New file.
44355         * modules/uninorm/decomposition-tests: New file.
44356
44357         New module 'uninorm/decomposition'.
44358         * lib/uninorm/decomposition.c: New file.
44359         * modules/uninorm/decomposition: New file.
44360
44361         New module 'uninorm/decomposition-table'.
44362         * lib/uninorm/decomposition-table.h: New file.
44363         * lib/uninorm/decomposition-table.c: New file.
44364         * lib/uninorm/decomposition-table1.h: New file, generated by
44365         gen-uni-tables.
44366         * lib/uninorm/decomposition-table2.h: New file, generated by
44367         gen-uni-tables.
44368         * modules/uninorm/decomposition-table: New file.
44369
44370         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
44371         (UC_DECOMP_*): New enumeration items.
44372         (get_decomposition): New function.
44373         (struct decomp_table): New type.
44374         (output_decomposition, output_decomposition_tables): New functions.
44375         (unicode_composition_exclusions): New variable.
44376         (fill_composition_exclusions, debug_output_composition_tables): New
44377         functions.
44378         (main): Accept one more argument. Invoke fill_composition_exclusions.
44379         Output decomposition and composition tables.
44380
44381         New module 'uninorm/base'.
44382         * lib/uninorm.h: New file.
44383         * lib/unictype.h: Update comment.
44384         * modules/uninorm/base: New file.
44385
44386 2009-02-21  David Lutterkort  <lutter@redhat.com>
44387
44388         Tests for module 'safe-alloc'.
44389         * tests/test-safe-alloc.c: New file.
44390         * modules/safe-alloc-tests: New file.
44391
44392         New module 'safe-alloc'.
44393         * lib/safe-alloc.h: New file.
44394         * lib/safe-alloc.c: New file.
44395         * m4/safe-alloc.m4: New file.
44396         * modules/safe-alloc: New file.
44397         * doc/safe-alloc.texi: New file.
44398         * doc/gnulib.texi: Include it.
44399         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
44400         safe-alloc.
44401
44402 2009-02-18  Bruno Haible  <bruno@clisp.org>
44403
44404         Fix link error on non-glibc systems.
44405         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
44406         variable.
44407         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44408
44409 2009-02-18  Jim Meyering  <meyering@redhat.com>
44410
44411         fts: avoid used-uninitialized error due to recent change
44412         * lib/fts.c (fts_read): Guard uses of the new member,
44413         parent->fts_n_dirs_remaining, since it's not relevant for
44414         the parent of a directory specified on the command-line.
44415
44416 2009-02-17  James Youngman  <jay@gnu.org>
44417             Bruno Haible  <bruno@clisp.org>
44418
44419         * m4/include_next.m4: Reformulate comment.
44420
44421 2009-02-16  Jim Meyering  <meyering@redhat.com>
44422
44423         fts: add #if guards so that the fts_lgpl module still builds
44424         * lib/fts.c: Guard just-added hash-table-using parts with
44425         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
44426         Reported by Simon Josefsson.
44427
44428 2009-02-15  Bruno Haible  <bruno@clisp.org>
44429
44430         * modules/array-mergesort-tests: New file.
44431         * tests/test-array-mergesort.c: New file.
44432
44433         New module 'array-mergesort'.
44434         * modules/array-mergesort: New file.
44435         * lib/array-mergesort.h: New file.
44436
44437 2009-02-15  Bruno Haible  <bruno@clisp.org>
44438
44439         Fix 2009-02-07 commit.
44440         * lib/gen-uni-tables.c (output_predicate, output_category,
44441         output_combclass, output_bidi_category, output_decimal_digit,
44442         output_digit, output_numeric, output_mirror, output_scripts,
44443         output_ident_category, output_simple_mapping): Fix format directives.
44444         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
44445
44446 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
44447
44448         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
44449         fixes are available from IBM.
44450
44451 2009-02-13  Jim Meyering  <meyering@redhat.com>
44452
44453         fts: arrange not to stat non-directories in more cases
44454         This makes GNU find (when it doesn't need to stat each file)
44455         *much* more efficient at traversing reiserfs file systems.
44456         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
44457         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
44458         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
44459         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
44460         (leaf_optimization_applies): New function.
44461         (LCO_hash, LCO_compare): New helper functions.
44462         (link_count_optimize_ok): New function.
44463         (fts_stat): Initialize new member (if dir).
44464         (fts_read): Decrement parent's fts_n_dirs_remaining count if
44465         we've just stat'ed a directory.  Skip the stat call when possible.
44466         ---
44467         Note this AFS-related exchange:
44468         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
44469         and note find's pioctl call in find/fstype.c.
44470         But that is necessary only if you want to enable the
44471         optimization for AFS, and for now, I don't.
44472
44473         fts: move a function definition "up" (no semantic change)
44474         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
44475         "up" to precede upcoming use of a related function.
44476
44477 2009-02-11  Jim Meyering  <meyering@redhat.com>
44478
44479         fts: correct internal computation of nlinks (optimization-related)
44480         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
44481         whether the current entry is a directory, so don't test it.
44482
44483 2009-02-10  Bruno Haible  <bruno@clisp.org>
44484
44485         Tests for module 'uniwbrk/ulc-wordbreaks'.
44486         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
44487         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
44488         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
44489
44490         Tests for module 'uniwbrk/u32-wordbreaks'.
44491         * modules/uniwbrk/u32-wordbreaks-tests: New file.
44492         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
44493
44494         Tests for module 'uniwbrk/u16-wordbreaks'.
44495         * modules/uniwbrk/u16-wordbreaks-tests: New file.
44496         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
44497
44498         Tests for module 'uniwbrk/u8-wordbreaks'.
44499         * modules/uniwbrk/u8-wordbreaks-tests: New file.
44500         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
44501
44502 2009-02-10  Bruno Haible  <bruno@clisp.org>
44503
44504         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
44505         property.
44506         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
44507         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
44508         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
44509
44510 2009-02-10  Simon Josefsson  <simon@josefsson.org>
44511
44512         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
44513         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
44514
44515 2009-02-10  Bruno Haible  <bruno@clisp.org>
44516
44517         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
44518         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
44519         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
44520         * lib/unilbrk/u8-possible-linebreaks.c: Update.
44521         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
44522         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
44523
44524 2009-02-09  Simon Josefsson  <simon@josefsson.org>
44525
44526         * lib/sockets.h (gl_fd_to_handle): New function.
44527
44528         * tests/test-sockets.c: Call gl_fd_to_handle.
44529
44530 2009-02-09  Bruno Haible  <bruno@clisp.org>
44531
44532         * doc/havelib.texi: Document the conventions on bi-arch systems.
44533
44534 2009-02-08  Bruno Haible  <bruno@clisp.org>
44535
44536         Document the AC_LIB_LINKFLAGS macro.
44537         * doc/havelib.texi: New file, mostly written on 2005-05-24.
44538         * doc/gnulib.texi: Include it.
44539
44540 2009-02-08  Bruno Haible  <bruno@clisp.org>
44541
44542         Fix wrong order of sections, compared to TOC.
44543         * doc/gnulib.texi: Include relocatable-maint.texi after the
44544         "Regular expressions" node, not before.
44545
44546 2009-02-08  Bruno Haible  <bruno@clisp.org>
44547
44548         Tests for module 'unicase/totitle'.
44549         * modules/unicase/totitle-tests: New file.
44550
44551         Tests for module 'unicase/tolower'.
44552         * modules/unicase/tolower-tests: New file.
44553
44554         Tests for module 'unicase/toupper'.
44555         * modules/unicase/toupper-tests: New file.
44556         * tests/unicase/test-mapping-part1.h: New file.
44557         * tests/unicase/test-mapping-part2.h: New file.
44558
44559         New module 'unicase/totitle'.
44560         * modules/unicase/totitle: New file.
44561         * lib/unicase/totitle.c: New file.
44562
44563         New module 'unicase/tolower'.
44564         * modules/unicase/tolower: New file.
44565         * lib/unicase/tolower.c: New file.
44566
44567         New module 'unicase/toupper'.
44568         * modules/unicase/toupper: New file.
44569         * lib/unicase/toupper.c: New file.
44570         * lib/unicase/simple-mapping.h: New file.
44571
44572         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
44573         (mapping_table): New structure.
44574         (output_simple_mapping): New function.
44575         (main): Invoke output_simple_mapping_test and output_simple_mapping.
44576         * modules/gen-uni-tables (Description): Update.
44577         * lib/unicase/toupper.h: New file, automatically generated by
44578         gen-uni-tables.
44579         * lib/unicase/tolower.h: New file, automatically generated by
44580         gen-uni-tables.
44581         * lib/unicase/totitle.h: New file, automatically generated by
44582         gen-uni-tables.
44583         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
44584         gen-uni-tables.
44585         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
44586         gen-uni-tables.
44587         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
44588         gen-uni-tables.
44589
44590         New module 'unicase/base'.
44591         * modules/unicase/base: New file.
44592         * lib/unicase.h: New file.
44593
44594 2009-02-08  Bruno Haible  <bruno@clisp.org>
44595
44596         New module 'uniwbrk/ulc-wordbreaks'.
44597         * modules/uniwbrk/ulc-wordbreaks: New file.
44598         * lib/uniwbrk/ulc-wordbreaks.c: New file.
44599
44600         New module 'uniwbrk/u32-wordbreaks'.
44601         * modules/uniwbrk/u32-wordbreaks: New file.
44602         * lib/uniwbrk/u32-wordbreaks.c: New file.
44603
44604         New module 'uniwbrk/u16-wordbreaks'.
44605         * modules/uniwbrk/u16-wordbreaks: New file.
44606         * lib/uniwbrk/u16-wordbreaks.c: New file.
44607
44608         New module 'uniwbrk/u8-wordbreaks'.
44609         * modules/uniwbrk/u8-wordbreaks: New file.
44610         * lib/uniwbrk/u8-wordbreaks.c: New file.
44611         * lib/uniwbrk/u-wordbreaks.h: New file.
44612
44613         New module 'uniwbrk/table'.
44614         * modules/uniwbrk/table: New file.
44615         * lib/uniwbrk/wbrktable.h: New file.
44616         * lib/uniwbrk/wbrktable.c: New file.
44617
44618         New module 'uniwbrk/wordbreak-property'.
44619         * modules/uniwbrk/wordbreak-property: New file.
44620         * lib/uniwbrk/wordbreak-property.c: New file.
44621
44622         * lib/gen-uni-tables.c (WBP_*): New enum items.
44623         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
44624         (unicode_org_wbp): New variable.
44625         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
44626         New functions.
44627         (wbp_table): New structure.
44628         (output_wbp, output_wbrk_tables): New functions.
44629         (main): Accept additional argument. Invoke fill_org_wbp,
44630         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
44631         output_wbrk_tables.
44632         * modules/gen-uni-tables (Description): Update.
44633         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
44634         gen-uni-tables.
44635
44636         New module 'uniwbrk/base'.
44637         * modules/uniwbrk/base: New file.
44638         * lib/uniwbrk.h: New file.
44639
44640 2009-02-08  Bruno Haible  <bruno@clisp.org>
44641
44642         Update to Unicode 5.1.0.
44643         * lib/gen-uni-tables.c (is_property_alphabetic): Include
44644         U+2185..U+2188.
44645         (is_property_default_ignorable_code_point): Don't include characters
44646         of category Cc or Cs and not-a-characters.
44647         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
44648         U+0D79, U+109E, U+109F, U+A60C.
44649         * lib/unictype/bidi_of.h: Regenerated.
44650         * lib/unictype/blocks.h: Regenerated.
44651         * lib/unictype/categ_C.h: Regenerated.
44652         * lib/unictype/categ_Cf.h: Regenerated.
44653         * lib/unictype/categ_Cn.h: Regenerated.
44654         * lib/unictype/categ_L.h: Regenerated.
44655         * lib/unictype/categ_Ll.h: Regenerated.
44656         * lib/unictype/categ_Lm.h: Regenerated.
44657         * lib/unictype/categ_Lo.h: Regenerated.
44658         * lib/unictype/categ_Lu.h: Regenerated.
44659         * lib/unictype/categ_M.h: Regenerated.
44660         * lib/unictype/categ_Mc.h: Regenerated.
44661         * lib/unictype/categ_Me.h: Regenerated.
44662         * lib/unictype/categ_Mn.h: Regenerated.
44663         * lib/unictype/categ_N.h: Regenerated.
44664         * lib/unictype/categ_Nd.h: Regenerated.
44665         * lib/unictype/categ_Nl.h: Regenerated.
44666         * lib/unictype/categ_No.h: Regenerated.
44667         * lib/unictype/categ_P.h: Regenerated.
44668         * lib/unictype/categ_Pd.h: Regenerated.
44669         * lib/unictype/categ_Pe.h: Regenerated.
44670         * lib/unictype/categ_Pf.h: Regenerated.
44671         * lib/unictype/categ_Pi.h: Regenerated.
44672         * lib/unictype/categ_Po.h: Regenerated.
44673         * lib/unictype/categ_Ps.h: Regenerated.
44674         * lib/unictype/categ_S.h: Regenerated.
44675         * lib/unictype/categ_Sk.h: Regenerated.
44676         * lib/unictype/categ_Sm.h: Regenerated.
44677         * lib/unictype/categ_So.h: Regenerated.
44678         * lib/unictype/categ_of.h: Regenerated.
44679         * lib/unictype/combining.h: Regenerated.
44680         * lib/unictype/ctype_alnum.h: Regenerated.
44681         * lib/unictype/ctype_alpha.h: Regenerated.
44682         * lib/unictype/ctype_graph.h: Regenerated.
44683         * lib/unictype/ctype_lower.h: Regenerated.
44684         * lib/unictype/ctype_print.h: Regenerated.
44685         * lib/unictype/ctype_punct.h: Regenerated.
44686         * lib/unictype/ctype_upper.h: Regenerated.
44687         * lib/unictype/decdigit.h: Regenerated.
44688         * lib/unictype/digit.h: Regenerated.
44689         * lib/unictype/mirror.h: Regenerated.
44690         * lib/unictype/numeric.h: Regenerated.
44691         * lib/unictype/pr_alphabetic.h: Regenerated.
44692         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
44693         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
44694         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
44695         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
44696         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
44697         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
44698         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
44699         * lib/unictype/pr_combining.h: Regenerated.
44700         * lib/unictype/pr_dash.h: Regenerated.
44701         * lib/unictype/pr_decimal_digit.h: Regenerated.
44702         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
44703         * lib/unictype/pr_deprecated.h: Regenerated.
44704         * lib/unictype/pr_diacritic.h: Regenerated.
44705         * lib/unictype/pr_extender.h: Regenerated.
44706         * lib/unictype/pr_format_control.h: Regenerated.
44707         * lib/unictype/pr_grapheme_base.h: Regenerated.
44708         * lib/unictype/pr_grapheme_extend.h: Regenerated.
44709         * lib/unictype/pr_grapheme_link.h: Regenerated.
44710         * lib/unictype/pr_id_continue.h: Regenerated.
44711         * lib/unictype/pr_id_start.h: Regenerated.
44712         * lib/unictype/pr_ideographic.h: Regenerated.
44713         * lib/unictype/pr_ignorable_control.h: Regenerated.
44714         * lib/unictype/pr_lowercase.h: Regenerated.
44715         * lib/unictype/pr_math.h: Regenerated.
44716         * lib/unictype/pr_numeric.h: Regenerated.
44717         * lib/unictype/pr_other_alphabetic.h: Regenerated.
44718         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
44719         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
44720         * lib/unictype/pr_other_id_continue.h: Regenerated.
44721         * lib/unictype/pr_other_lowercase.h: Regenerated.
44722         * lib/unictype/pr_other_math.h: Regenerated.
44723         * lib/unictype/pr_punctuation.h: Regenerated.
44724         * lib/unictype/pr_sentence_terminal.h: Regenerated.
44725         * lib/unictype/pr_soft_dotted.h: Regenerated.
44726         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
44727         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
44728         * lib/unictype/pr_unified_ideograph.h: Regenerated.
44729         * lib/unictype/pr_uppercase.h: Regenerated.
44730         * lib/unictype/pr_xid_continue.h: Regenerated.
44731         * lib/unictype/pr_xid_start.h: Regenerated.
44732         * lib/unictype/pr_zero_width.h: Regenerated.
44733         * lib/unictype/scripts.h: Regenerated.
44734         * lib/unictype/scripts_byname.gperf: Regenerated.
44735         * lib/unictype/sy_java_ident.h: Regenerated.
44736         * lib/unilbrk/lbrkprop1.h: Regenerated.
44737         * lib/unilbrk/lbrkprop2.h: Regenerated.
44738         * tests/unictype/test-categ_C.c: Regenerated.
44739         * tests/unictype/test-categ_Cf.c: Regenerated.
44740         * tests/unictype/test-categ_Cn.c: Regenerated.
44741         * tests/unictype/test-categ_L.c: Regenerated.
44742         * tests/unictype/test-categ_Ll.c: Regenerated.
44743         * tests/unictype/test-categ_Lm.c: Regenerated.
44744         * tests/unictype/test-categ_Lo.c: Regenerated.
44745         * tests/unictype/test-categ_Lu.c: Regenerated.
44746         * tests/unictype/test-categ_M.c: Regenerated.
44747         * tests/unictype/test-categ_Mc.c: Regenerated.
44748         * tests/unictype/test-categ_Me.c: Regenerated.
44749         * tests/unictype/test-categ_Mn.c: Regenerated.
44750         * tests/unictype/test-categ_N.c: Regenerated.
44751         * tests/unictype/test-categ_Nd.c: Regenerated.
44752         * tests/unictype/test-categ_Nl.c: Regenerated.
44753         * tests/unictype/test-categ_No.c: Regenerated.
44754         * tests/unictype/test-categ_P.c: Regenerated.
44755         * tests/unictype/test-categ_Pd.c: Regenerated.
44756         * tests/unictype/test-categ_Pe.c: Regenerated.
44757         * tests/unictype/test-categ_Pf.c: Regenerated.
44758         * tests/unictype/test-categ_Pi.c: Regenerated.
44759         * tests/unictype/test-categ_Po.c: Regenerated.
44760         * tests/unictype/test-categ_Ps.c: Regenerated.
44761         * tests/unictype/test-categ_S.c: Regenerated.
44762         * tests/unictype/test-categ_Sk.c: Regenerated.
44763         * tests/unictype/test-categ_Sm.c: Regenerated.
44764         * tests/unictype/test-categ_So.c: Regenerated.
44765         * tests/unictype/test-ctype_alnum.c: Regenerated.
44766         * tests/unictype/test-ctype_alpha.c: Regenerated.
44767         * tests/unictype/test-ctype_graph.c: Regenerated.
44768         * tests/unictype/test-ctype_lower.c: Regenerated.
44769         * tests/unictype/test-ctype_print.c: Regenerated.
44770         * tests/unictype/test-ctype_punct.c: Regenerated.
44771         * tests/unictype/test-ctype_upper.c: Regenerated.
44772         * tests/unictype/test-decdigit.h: Regenerated.
44773         * tests/unictype/test-digit.h: Regenerated.
44774         * tests/unictype/test-numeric.h: Regenerated.
44775         * tests/unictype/test-pr_alphabetic.c: Regenerated.
44776         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
44777         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
44778         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
44779         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
44780         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
44781         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
44782         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
44783         * tests/unictype/test-pr_combining.c: Regenerated.
44784         * tests/unictype/test-pr_dash.c: Regenerated.
44785         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
44786         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
44787         * tests/unictype/test-pr_deprecated.c: Regenerated.
44788         * tests/unictype/test-pr_diacritic.c: Regenerated.
44789         * tests/unictype/test-pr_extender.c: Regenerated.
44790         * tests/unictype/test-pr_format_control.c: Regenerated.
44791         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
44792         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
44793         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
44794         * tests/unictype/test-pr_id_continue.c: Regenerated.
44795         * tests/unictype/test-pr_id_start.c: Regenerated.
44796         * tests/unictype/test-pr_ideographic.c: Regenerated.
44797         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
44798         * tests/unictype/test-pr_lowercase.c: Regenerated.
44799         * tests/unictype/test-pr_math.c: Regenerated.
44800         * tests/unictype/test-pr_numeric.c: Regenerated.
44801         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
44802         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
44803         Regenerated.
44804         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
44805         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
44806         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
44807         * tests/unictype/test-pr_other_math.c: Regenerated.
44808         * tests/unictype/test-pr_punctuation.c: Regenerated.
44809         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
44810         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
44811         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
44812         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
44813         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
44814         * tests/unictype/test-pr_uppercase.c: Regenerated.
44815         * tests/unictype/test-pr_xid_continue.c: Regenerated.
44816         * tests/unictype/test-pr_xid_start.c: Regenerated.
44817         * tests/unictype/test-pr_zero_width.c: Regenerated.
44818
44819         Update to Unicode 5.1.0.
44820         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
44821         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
44822         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
44823         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
44824         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
44825         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
44826         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
44827         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
44828         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
44829         (nonspacing_table_ind): Update.
44830         * tests/uniwidth/test-uc_width2.sh: Update expected result.
44831
44832         Update to Unicode 5.1.0.
44833         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
44834         code transform.
44835         * lib/uniname/uniname.c (unicode_character_name,
44836         unicode_name_character): Add the range 0x1Fxxx to the code transform.
44837         * lib/uniname/uninames.h: Regenerated.
44838         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
44839
44840 2009-02-07  Bruno Haible  <bruno@clisp.org>
44841
44842         Merge gen-ctype and gen-lbrk into a single program.
44843         * lib/gen-uni-tables.c: New file, incorporating
44844         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
44845         Add directory prefixes to the names of the generated files.
44846         * lib/unictype/gen-ctype.c: Remove file.
44847         * lib/unilbrk/gen-lbrk.c: Remove file.
44848         * modules/gen-uni-tables: New file.
44849         * modules/unictype/gen-ctype: Remove file.
44850         * modules/unilbrk/gen-lbrk: Remove file.
44851
44852 2009-02-07  Bruno Haible  <bruno@clisp.org>
44853
44854         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
44855
44856         New module 'unistr/u32-strcoll'.
44857         * modules/unistr/u32-strcoll: New file.
44858         * lib/unistr/u32-strcoll.c: New file.
44859
44860         New module 'unistr/u16-strcoll'.
44861         * modules/unistr/u16-strcoll: New file.
44862         * lib/unistr/u16-strcoll.c: New file.
44863
44864         New module 'unistr/u8-strcoll'.
44865         * modules/unistr/u8-strcoll: New file.
44866         * lib/unistr/u8-strcoll.c: New file.
44867         * lib/unistr/u-strcoll.h: New file.
44868
44869 2009-02-07  Bruno Haible  <bruno@clisp.org>
44870
44871         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
44872         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
44873         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
44874         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
44875         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
44876         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
44877
44878 2009-02-07  Bruno Haible  <bruno@clisp.org>
44879
44880         Make 64-bit clean.
44881         * lib/unictype/gen-ctype.c (output_predicate, output_category,
44882         output_combclass, output_bidi_category, output_decimal_digit,
44883         output_digit, output_numeric, output_mirror, output_scripts,
44884         output_ident_category): Use proper width specifier in format strings.
44885
44886 2009-02-07  Bruno Haible  <bruno@clisp.org>
44887
44888         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
44889         failure behaviour.
44890
44891 2009-02-07  Jim Meyering  <meyering@redhat.com>
44892
44893         regex: avoid compilation failure with upcoming gcc-4.4
44894         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
44895         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
44896         "... error: integer overflow in preprocessor expression".
44897
44898 2009-02-05  Ben Pfaff  <blp@gnu.org>
44899
44900         Fix link errors on Windows when close module is used.
44901         * modules/close: Add $(LIB_CLOSE) to Link section.
44902         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
44903         $(LIB_CLOSE) on Windows.
44904
44905 2009-02-05  Jim Meyering  <meyering@redhat.com>
44906
44907         still avoid unused-parameter warnings, but do it cleanly
44908         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
44909         (get_fs_usage): Cast to void instead.
44910         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
44911         (dev_from_mount_options, read_file_system_list): Cast to void.
44912         Prompted by Bruno Haible.
44913
44914 2009-02-04  Jim Meyering  <meyering@redhat.com>
44915
44916         fsusage.c: correct copyright year
44917         * lib/fsusage.c: Reflect year in which the change is pushed into
44918
44919         avoid misc. warnings
44920         * lib/fsusage.c (UNUSED_PARAM): Define.
44921         (get_fs_usage): Mark parameter "disk" as unused.
44922         * lib/getugroups.c (getgrent): Use "void" in prototype.
44923         * lib/mountlist.c: Mark unused parameters.
44924         (read_file_system_list): Declare a local with "const".
44925         * lib/nanosleep.c (getnow): Declare static.
44926         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
44927
44928         dirfd: set errno upon failure
44929         * lib/dirfd.c: Include <errno.h>.
44930         Set errno to ENOTSUP when returning -1.
44931         * modules/dirfd (Depends-on): Add errno.
44932         Suggested by John Kodis <kodis@comcast.net>.
44933
44934 2009-02-01  Bruno Haible  <bruno@clisp.org>
44935
44936         Don't assume sizeof (long) >= sizeof (void *).
44937         * lib/memcmp.c: Include stdint.h.
44938         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
44939         srcp2 to 'const byte *'.
44940         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
44941         types to uintptr_t.
44942         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
44943         * modules/memcmp (Depends-on): Add stdint.
44944         Reported by Ozkan Sezer <sezeroz@gmail.com>.
44945
44946 2009-01-30  Eric Blake  <ebb9@byu.net>
44947
44948         fix more require-before-expand issues
44949         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
44950         expand, AC_PROG_AWK.
44951         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
44952
44953 2009-01-28  Eric Blake  <ebb9@byu.net>
44954
44955         version-etc: use consistent URL formatting
44956         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
44957         Improve formatting.  Use fputs for string without %.
44958
44959 2009-01-28  Jim Meyering  <meyering@redhat.com>
44960
44961         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
44962         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
44963         "underquoted definition of NAME" from autoconf-2.59.
44964
44965 2009-01-28  Bruno Haible  <bruno@clisp.org>
44966
44967         * doc/gnulib.texi: Add "Obsolete modules" to index.
44968
44969 2009-01-28  Jim Meyering  <meyering@redhat.com>
44970
44971         useless-if-before-free: recognize more variants
44972         * build-aux/useless-if-before-free: Also recognize e.g.,
44973         if (NULL != p) free (p);
44974
44975 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
44976
44977         test-getaddrinfo: skip (don't fail) this test when there's no network
44978         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
44979         on the presumption that it means you lack network access.
44980
44981 2009-01-26  Jim Meyering  <meyering@redhat.com>
44982
44983         fflush: avoid warnings on modern systems
44984         * lib/fflush.c (rpl_fflush): Move declarations of locals,
44985         pos and result, into scopes where they're used.
44986
44987 2009-01-26  Eric Blake  <ebb9@byu.net>
44988
44989         Silence warning reintroduced by recent extensions patch.
44990         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
44991         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
44992         autoconf.
44993
44994         Backport improved autoconf semantics of AC_DEFUN_ONCE.
44995         * m4/00gnulib.m4: New file.
44996         * gnulib-tool (func_get_filelist): Always use it.
44997         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
44998         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
44999
45000 2009-01-25  Bruno Haible  <bruno@clisp.org>
45001
45002         Make test-quotearg work on MacOS X and AIX.
45003         * tests/test-quotearg.sh: New file.
45004         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
45005         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
45006         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
45007         include <libintl.h>.
45008         (fake_locale): Remove variable.
45009         (gettext, dgettext, dcgettext): Remove functions.
45010         (main): Instead of setting a fake locale, set a real locale. Call
45011         textdomain and bindtextdomain.
45012         * modules/quotearg-tests (Files): Add the new files.
45013         (Depends-on): Add gettext, setenv, unsetenv.
45014         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
45015         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
45016         Augment TESTS_ENVIRONMENT.
45017
45018 2009-01-25  Bruno Haible  <bruno@clisp.org>
45019
45020         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
45021         fr_FR.ISO8859-1 locale on MacOS X.
45022         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
45023         ja_JP.eucJP locale on MacOS X.
45024         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
45025         zh_CN.GB18030 locale on MacOS X.
45026
45027 2009-01-25  Bruno Haible  <bruno@clisp.org>
45028
45029         Avoid link errors on MacOS X 10.3.
45030         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
45031         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
45032
45033 2009-01-25  Bruno Haible  <bruno@clisp.org>
45034
45035         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
45036         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
45037         * modules/pipe (Files): Remove m4/posix_spawn.m4.
45038         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
45039         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
45040         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
45041         posix_spawnattr_init, posix_spawnattr_setsigmask,
45042         posix_spawnattr_setflags, posix_spawnattr_destroy.
45043
45044         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
45045         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
45046         * modules/execute (Files): Remove m4/posix_spawn.m4.
45047         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
45048         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
45049         posix_spawnattr_init, posix_spawnattr_setsigmask,
45050         posix_spawnattr_setflags, posix_spawnattr_destroy.
45051
45052 2009-01-25  Bruno Haible  <bruno@clisp.org>
45053
45054         * lib/glthread/threadlib.c: Include <stdlib.h>.
45055
45056 2009-01-25  Bruno Haible  <bruno@clisp.org>
45057
45058         * lib/glthread/threadlib.c (dummy): New declaration.
45059
45060 2009-01-25  Bruno Haible  <bruno@clisp.org>
45061
45062         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
45063         multibyte characters also for the GB18030 encoding. Don't crash when
45064         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
45065
45066 2009-01-25  Bruno Haible  <bruno@clisp.org>
45067
45068         Avoid redefining 'struct random_data' on OSF/1 5.1.
45069         * lib/stdlib.in.h: Include <random.h> if it exists.
45070         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
45071         HAVE_RANDOM_H. Include <random.h> when testing whether
45072         'struct random_data' exists.
45073         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
45074
45075 2009-01-25  Bruno Haible  <bruno@clisp.org>
45076
45077         Don't install charset.alias on MacOS X >= 10.3.
45078         * lib/localcharset.c (DARWIN7): New macro.
45079         (get_charset_aliases): Hardcode the result for Darwin7.
45080         * modules/localcharset (install-exec-local): Don't install
45081         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
45082
45083 2009-01-25  Bruno Haible  <bruno@clisp.org>
45084
45085         Don't install charset.alias on mingw and Cygwin.
45086         * modules/localcharset (install-exec-local): Don't install
45087         charset.alias on mingw and Cygwin, if the file does not yet exist.
45088         The result for these platforms is hardcoded in localcharset.c.
45089
45090 2009-01-25  Bruno Haible  <bruno@clisp.org>
45091
45092         Make it possible again to use AC_GNU_SOURCE together with gnulib.
45093         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
45094         before requiring AC_USE_SYSTEM_EXTENSIONS.
45095
45096 2009-01-25  Jim Meyering  <meyering@redhat.com>
45097
45098         c-strtod: avoid warnings
45099         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
45100         "assignment discards qualifiers from pointer target type" warnings.
45101
45102 2009-01-24  Bruno Haible  <bruno@clisp.org>
45103
45104         Add support for non-UTF-8 locales on MacOS X.
45105         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
45106         canonical encodings. For Darwin 7 and newer, don't map traditional
45107         encodings to UTF-8.
45108         Reported by Vincent Lefevre <vincent@vinc17.org>
45109         at <http://savannah.gnu.org/bugs/?25235>.
45110
45111 2009-01-24  Bruno Haible  <bruno@clisp.org>
45112
45113         * doc/gnulib.texi (Obsolete modules): New section.
45114         Reported by Mike Frysinger <vapier@gentoo.org>.
45115
45116 2009-01-24  Bruno Haible  <bruno@clisp.org>
45117
45118         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
45119         (%.dvi): New rule.
45120
45121 2009-01-24  Bruno Haible  <bruno@clisp.org>
45122
45123         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
45124         Reported by Eric Blake.
45125
45126 2009-01-24  Bruno Haible  <bruno@clisp.org>
45127
45128         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
45129         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
45130         Reported by Gary V. Vaughan <gary@gnu.org>.
45131
45132 2009-01-24  Bruno Haible  <bruno@clisp.org>
45133
45134         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
45135
45136 2009-01-23  Bruno Haible  <bruno@clisp.org>
45137
45138         Make c-strtod, c-strtold usable in libraries.
45139         * lib/c-strtod.c: Include string.h instead of xalloc.h.
45140         (C_STRTOD): Call strdup instead of xstrdup.
45141         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
45142         * modules/c-strtold (Depends-on): Likewise.
45143         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
45144         * NEWS: Mention the change.
45145         Reported by Michael Gold <mgold@ncf.ca>.
45146
45147 2009-01-23  Jim Meyering  <meyering@redhat.com>
45148
45149         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
45150         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
45151         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
45152
45153 2009-01-23  Simon Josefsson  <simon@josefsson.org>
45154
45155         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
45156         GNU CoreUtils.
45157         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
45158         * modules/version-etc (Description): Update.
45159
45160 2009-01-22  Bruno Haible  <bruno@clisp.org>
45161
45162         Cache the C locale object.
45163         * lib/c-strtod.c (c_locale_cache): New variable.
45164         (c_locale): New function.
45165         (C_STRTOD): Use it, and don't call freelocale.
45166         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
45167         Suggested by Paolo Bonzini.
45168
45169 2009-01-21  Bruno Haible  <bruno@clisp.org>
45170
45171         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
45172         conditions other than overflow.
45173
45174 2009-01-21  Bruno Haible  <bruno@clisp.org>
45175
45176         * lib/c-strtod.c: Include errno.h.
45177         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
45178         value from STRTOD_L and STRTOD.
45179
45180 2009-01-21  Bruno Haible  <bruno@clisp.org>
45181         and Jim Meyering  <meyering@redhat.com>
45182
45183         nanosleep: skip configure test (fail it) for apple universal builds
45184         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
45185         universal builds, assume that nanosleep does not work.
45186         * modules/nanosleep (Depends-on): Add multiarch.
45187
45188         mktime: skip configure test (fail it) for apple universal builds
45189         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
45190         universal builds, assume that mktime does not work.
45191         * modules/mktime (Depends-on): Add multiarch.
45192
45193 2009-01-21  Eric Blake  <ebb9@byu.net>
45194
45195         multiarch: avoid expand-before-require warning
45196         * modules/multiarch (configure.ac): Require, rather than expand,
45197         gl_MULTIARCH.
45198         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
45199         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
45200         enforce that all clients require it.  Partial reversion of
45201         2008-12-29 patch.
45202
45203         error: avoid expand-before-require warning
45204         * modules/errno (configure.ac): Require, rather than expand,
45205         gl_HEADER_ERRNO_H.
45206         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
45207         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
45208         enforce that all clients require it.
45209
45210         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
45211         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
45212         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
45213         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
45214
45215 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
45216
45217         Revert:
45218         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
45219
45220         regex: do not depend on obsolete modules.
45221         * modules/regex: Remove memcmp and memmove.
45222
45223 2009-01-20  Bruno Haible  <bruno@clisp.org>
45224
45225         Make the 'link' module link on Windows NT 4.
45226         * lib/link.c (_WIN32_WINNT): Don't define.
45227         (CreateHardLinkFuncType): New type.
45228         (CreateHardLinkFunc, initialized): New variables.
45229         (initialize): New function.
45230         (link): Invoke CreateHardLink indirectly through the function pointer.
45231
45232 2009-01-20  Bruno Haible  <bruno@clisp.org>
45233
45234         Fix compilation failure on mingw.
45235         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
45236
45237 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
45238
45239         * doc/c-strtod.texi: Mention a couple of restrictions.
45240
45241 2009-01-20  Jim Meyering  <meyering@redhat.com>
45242
45243         gettimeofday: move more declarations out of functions
45244         * lib/gettimeofday.c: Move extern declarations of tzset and
45245         gmtime out of containing functions.  Prompted by Bruno Haible.
45246
45247 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
45248
45249         regex: do not depend on obsolete modules.
45250         * modules/regex: Remove memcmp and memmove.
45251
45252 2009-01-19  Bruno Haible  <bruno@clisp.org>
45253
45254         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
45255         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
45256         gl_BIGENDIAN, not AC_C_BIGENDIAN.
45257         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
45258         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
45259
45260 2009-01-19  Bruno Haible  <bruno@clisp.org>
45261
45262         * tests/test-link.c: Include <errno.h>.
45263         (main): Exit with code 77 when a hard link cannot be created due to
45264         the file system.
45265         * tests/test-link.sh: Skip test when a hard link cannot be created due
45266         to the file system.
45267         Suggested by Eric Blake.
45268
45269 2009-01-19  Martin Lambers  <marlam@marlam.de>
45270
45271         * modules/link-tests: New file.
45272         * tests/test-link.sh: New file.
45273         * tests/test-link.c: New file.
45274
45275 2009-01-19  Eric Blake  <ebb9@byu.net>
45276
45277         doc: mention another function added in cygwin 1.7.0
45278         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
45279         Another new function in cygwin 1.7.
45280
45281 2009-01-19  Bruno Haible  <bruno@clisp.org>
45282
45283         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
45284         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
45285         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
45286         gl_BIGENDIAN, not AC_C_BIGENDIAN.
45287         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45288         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
45289         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
45290         * m4/md4.m4 (gl_MD4): Likewise.
45291         * m4/md5.m4 (gl_MD5): Likewise.
45292         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
45293         * m4/sha1.m4 (gl_SHA1): Likewise.
45294         * m4/sha256.m4 (gl_SHA256): Likewise.
45295         * m4/sha512.m4 (gl_SHA512): Likewise.
45296
45297 2009-01-19  Bruno Haible  <bruno@clisp.org>
45298
45299         * modules/uniname/uniname-tests (Depends-on): Add progname.
45300         * tests/uniname/test-uninames.c: Include progname.h.
45301         (main): Call set_program_name.
45302
45303         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
45304         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
45305         (main): Call set_program_name.
45306
45307         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
45308         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
45309         (main): Call set_program_name.
45310
45311         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
45312         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
45313         (main): Call set_program_name.
45314
45315         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
45316         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
45317         (main): Call set_program_name.
45318
45319         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
45320         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
45321         (main): Call set_program_name.
45322
45323         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
45324         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
45325         (main): Call set_program_name.
45326
45327         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
45328         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
45329         (main): Call set_program_name.
45330
45331         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
45332         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
45333         (main): Call set_program_name.
45334
45335 2009-01-19  Eric Blake  <ebb9@byu.net>
45336
45337         test-unistd: test previous patch
45338         * tests/test-unistd.c: Test *_FILENO macros.
45339
45340         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
45341         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45342         Guarantee a definition.
45343         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
45344         * modules/unistd-safer (Depends-on): Add dependency on unistd.
45345         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
45346         * lib/dup-safer.c (STDERR_FILENO): Likewise.
45347         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45348         Likewise.
45349         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
45350         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
45351         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45352         Likewise.
45353         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
45354         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
45355         (STDERR_FILENO): Likewise.
45356         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
45357         (STDERR_FILENO): Likewise.
45358         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
45359         (STDERR_FILENO): Likewise.
45360         Reported by Elbert Pol.
45361
45362 2009-01-19  Eric Blake  <ebb9@byu.net>
45363
45364         doc: mention more functions added in cygwin 1.7.0
45365         * doc/posix-functions/abort.texi (abort): Update wording related
45366         to cygwin.
45367         * doc/posix-functions/daylight.texi (daylight): Likewise.
45368         * doc/posix-functions/optarg.texi (optarg): Likewise.
45369         * doc/posix-functions/optarg.texi (opterr): Likewise.
45370         * doc/posix-functions/optarg.texi (optind): Likewise.
45371         * doc/posix-functions/optarg.texi (optopt): Likewise.
45372         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
45373         worked in 1.5.x, and was withdrawn in 1.7.
45374         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
45375         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
45376         cygwin versions.
45377         * doc/posix-functions/perror.texi (perror): Likewise.
45378         * doc/posix-functions/printf.texi (printf): Likewise.
45379         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
45380         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
45381         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
45382         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
45383         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
45384         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
45385         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
45386         Likewise.
45387         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
45388         Likewise.
45389         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
45390         this function.
45391         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
45392         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
45393         Likewise.
45394         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
45395         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
45396         * doc/posix-functions/confstr.texi (confstr): Likewise.
45397         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
45398         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
45399         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
45400         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
45401         * doc/posix-functions/fputws.texi (fputws): Likewise.
45402         * doc/posix-functions/fwide.texi (fwide): Likewise.
45403         * doc/posix-functions/getwc.texi (getwc): Likewise.
45404         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
45405         * doc/posix-functions/putwc.texi (putwc): Likewise.
45406         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
45407         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
45408         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
45409         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
45410         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
45411         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
45412         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
45413         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
45414         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
45415         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
45416         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
45417
45418 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
45419
45420         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
45421         * lib/ioctl.c: Include <sys/ioctl.h>.
45422
45423 2009-01-19  Simon Josefsson  <simon@josefsson.org>
45424
45425         * modules/getdate-tests (Depends-on): Add progname.
45426         * tests/test-getdate.c: Use progname module, to avoid link errors
45427         on non-glibc systems.
45428
45429 2009-01-18  Simon Josefsson  <simon@josefsson.org>
45430
45431         * modules/filenamecat-tests (Depends-on): Add progname.
45432         * modules/fstrcmp-tests (Depends-on): Likewise.
45433
45434         * tests/test-filenamecat.c: Use progname module, to avoid link
45435         errors on non-glibc systems.
45436         * tests/test-fstrcmp.c: Likewise.
45437
45438 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
45439
45440         gettimeofday: avoid warning: nested extern declaration of 'localtime'
45441         * lib/gettimeofday.c: Move extern declaration out of function.
45442
45443 2009-01-18  Bruno Haible  <bruno@clisp.org>
45444
45445         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
45446         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
45447         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
45448
45449 2009-01-18  Bruno Haible  <bruno@clisp.org>
45450
45451         * lib/strftime.c (MEMPCPY): Remove unused macro.
45452         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
45453
45454 2009-01-18  Martin Lambers  <marlam@marlam.de>
45455
45456         New module 'link'.
45457         * lib/unistd.in.h (link): New declaration.
45458         * lib/link.c: New file.
45459         * m4/link.m4: New file.
45460         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
45461         HAVE_LINK.
45462         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
45463         * modules/link: New file.
45464         * doc/posix-functions/link.texi: Mention the new module.
45465
45466 2009-01-18  Bruno Haible  <bruno@clisp.org>
45467
45468         * tests/test-avltree_list.c (main): Call set_program_name.
45469         * tests/test-avltree_oset.c (main): Likewise.
45470         * tests/test-obstack-printf.c: Include progname.h.
45471         (main): Call set_program_name.
45472         * tests/test-quotearg.c: Include progname.h.
45473         (main): Call set_program_name.
45474         * tests/test-xmemdup0.c: Include progname.h.
45475         (main): Call set_program_name.
45476
45477 2009-01-18  Bruno Haible  <bruno@clisp.org>
45478
45479         New module 'alphasort'.
45480         * lib/dirent.in.h (alphasort): New declaration.
45481         * lib/alphasort.c: New file, from glibc with modifications.
45482         * m4/alphasort.m4: New file.
45483         * modules/alphasort: New file.
45484         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
45485         HAVE_ALPHASORT.
45486         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
45487         HAVE_ALPHASORT.
45488         * doc/posix-functions/alphasort.texi: Mention the new module and the
45489         portability problems.
45490
45491 2009-01-18  Bruno Haible  <bruno@clisp.org>
45492
45493         New module 'scandir'.
45494         * lib/dirent.in.h (scandir): New declaration.
45495         * lib/scandir.c: New file, from glibc with modifications.
45496         * m4/scandir.m4: New file.
45497         * modules/scandir: New file.
45498         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
45499         HAVE_SCANDIR.
45500         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
45501         HAVE_SCANDIR.
45502         * doc/posix-functions/scandir.texi: Mention the new module and the
45503         portability problems.
45504
45505 2009-01-17  Bruno Haible  <bruno@clisp.org>
45506
45507         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
45508         Update documentation.
45509         (func_remove_suffix): Escape all dots in the suffix. Update
45510         documentation.
45511         (func_filter_filelist): Update documentation.
45512         Reported by Ralf Wildenhues.
45513
45514 2009-01-17  Bruno Haible  <bruno@clisp.org>
45515
45516         * modules/dprintf-posix-tests: New file.
45517         * tests/test-dprintf-posix.sh: New file.
45518         * tests/test-dprintf-posix.c: New file.
45519
45520         New modules 'dprintf', 'dprintf-posix'.
45521         * lib/stdio.in.h (dprintf): New declaration.
45522         * lib/dprintf.c: New file.
45523         * m4/dprintf.m4: New file.
45524         * m4/dprintf-posix.m4: New file.
45525         * modules/dprintf: New file.
45526         * modules/dprintf-posix: New file.
45527         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
45528         HAVE_DPRINTF, REPLACE_DPRINTF.
45529         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
45530         HAVE_DPRINTF, REPLACE_DPRINTF.
45531         * doc/posix-functions/dprintf.texi: Mention the new modules.
45532
45533 2009-01-17  Bruno Haible  <bruno@clisp.org>
45534
45535         * modules/vdprintf-posix-tests: New file.
45536         * tests/test-vdprintf-posix.sh: New file.
45537         * tests/test-vdprintf-posix.c: New file.
45538
45539         New modules 'vdprintf', 'vdprintf-posix'.
45540         * lib/stdio.in.h (vdprintf): New declaration.
45541         * lib/vdprintf.c: New file.
45542         * m4/vdprintf.m4: New file.
45543         * m4/vdprintf-posix.m4: New file.
45544         * modules/vdprintf: New file.
45545         * modules/vdprintf-posix: New file.
45546         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
45547         HAVE_VDPRINTF, REPLACE_VDPRINTF.
45548         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
45549         HAVE_VDPRINTF, REPLACE_VDPRINTF.
45550         * doc/posix-functions/vdprintf.texi: Mention the new modules.
45551
45552 2009-01-17  Bruno Haible  <bruno@clisp.org>
45553
45554         Fix replacement of fopen on mingw.
45555         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
45556         mingw.
45557
45558 2009-01-17  Bruno Haible  <bruno@clisp.org>
45559
45560         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
45561         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
45562
45563 2009-01-17  Bruno Haible  <bruno@clisp.org>
45564
45565         Avoid test-fflush2.sh failure on mingw.
45566         * tests/test-fflush2.c: Include binary-io.h.
45567         (main): Put standard input into binary mode.
45568         * modules/fflush-tests (Depends-on): Add binary-io.
45569
45570 2009-01-17  Bruno Haible  <bruno@clisp.org>
45571
45572         * lib/wchar.in.h: In another particular situation, include only the
45573         system's <wchar.h> file.
45574         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
45575         Reported by Albert Chin-A-Young <china@thewrittenword.com>
45576         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
45577
45578 2009-01-17  Bruno Haible  <bruno@clisp.org>
45579
45580         Support for stripping executables in --enable-relocatable.
45581         * build-aux/install-reloc: Expect one more argument, or an environment
45582         variable RELOC_STRIP_PROG. If set, strip the destination program and
45583         its wrapper.
45584         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
45585         RELOC_STRIP_PROG.
45586         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
45587         to set RELOCATABLE_STRIP.
45588         * NEWS: Mention the new Makefile requirement.
45589
45590 2009-01-17  Bruno Haible  <bruno@clisp.org>
45591
45592         * build-aux/install-reloc: Remove debugging information left over by
45593         C compiler on MacOS X.
45594
45595 2009-01-17  Bruno Haible  <bruno@clisp.org>
45596
45597         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
45598         * lib/progreloc.c (find_executable): Fix type of pointer passed to
45599         _NSGetExecutablePath.
45600
45601 2009-01-16  Jim Meyering  <meyering@redhat.com>
45602
45603         strerror: avoid warnings about discarding "const"
45604         * lib/strerror.c (rpl_strerror): Instead of returning a const
45605         string from each and every "case", use a variable, and add a single
45606         cast after the switch.
45607
45608 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
45609
45610         * lib/arpa_inet.in.h: Add extern "C" block for C++.
45611
45612 2009-01-16  Bruno Haible  <bruno@clisp.org>
45613
45614         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
45615         array initializer syntax that also works in C++ mode.
45616         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45617
45618 2009-01-16  Jim Meyering  <meyering@redhat.com>
45619
45620         poll: suppress a warning
45621         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
45622         to ignore "...unsigned expression < 0 is always false" warnings.
45623
45624 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
45625
45626         poll: remove declarations of unused variables
45627         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
45628         sockbuf and optlen.
45629
45630 2009-01-15  Bruno Haible  <bruno@clisp.org>
45631
45632         Make fflush-after-ungetc POSIX compliant on BSD systems.
45633         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
45634         (clear_ungetc_buffer): Implement also for other systems.
45635         (rpl_fflush): On glibc systems, invoke
45636         clear_ungetc_buffer_preserving_position. Otherwise, invoke
45637         clear_ungetc_buffer after fetching the stream's position, not before.
45638
45639 2009-01-15  Bruno Haible  <bruno@clisp.org>
45640
45641         Make fflush-after-ungetc POSIX compliant on glibc systems.
45642         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
45643         after ungetc.
45644         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
45645         (rpl_fflush): On glibc systems, simply call the system's fflush
45646         function after clearing the ungetc buffer.
45647         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
45648         Instead, lseek only to the end of file, then use the system's fseeko
45649         for the rest. On glibc systems, reset the EOF indicator bit.
45650
45651 2009-01-15  Jim Meyering  <meyering@redhat.com>
45652
45653         openmp.m4: revert quote-adding change, for portability to older autoconf
45654         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
45655         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
45656         Simon Josefsson noticed the problem when using autoconf-2.61.
45657
45658 2009-01-15  Bruno Haible  <bruno@clisp.org>
45659
45660         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
45661         * tests/test-fflush2.c (ASSERT): Always fail.
45662         (main): Add two tests for fflush() after ungetc(), taking into account
45663         the Austin Group's clarification.
45664         Suggested by Eric Blake.
45665
45666 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
45667
45668         mktime.m4: remove K&R-style function prototypes
45669         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
45670         for the Sun C++ compiler.
45671
45672 2009-01-14  Bruno Haible  <bruno@clisp.org>
45673
45674         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
45675         while including <wchar.h>.
45676         * lib/wchar.in.h: In two particular situations on HP-UX, include only
45677         the system's <wchar.h> file.
45678         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45679
45680 2009-01-14  Bruno Haible  <bruno@clisp.org>
45681
45682         * m4/csharp.m4: Don't mention gettext on the serial number line.
45683         * m4/csharpexec.m4: Likewise.
45684         * m4/eaccess.m4: Likewise.
45685         * m4/javaexec.m4: Likewise.
45686         * m4/sig_atomic_t.m4: Likewise.
45687         * m4/tmpdir.m4: Likewise.
45688         * m4/intldir.m4: Bump gettext version.
45689         * m4/lib-ld.m4: Likewise.
45690
45691 2009-01-14  Bruno Haible  <bruno@clisp.org>
45692
45693         * lib/progname.c (set_program_name): Add more comments.
45694         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
45695
45696 2009-01-14  Simon Josefsson  <simon@josefsson.org>
45697
45698         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
45699         were sys/stat.h does not define it.
45700
45701 2009-01-14  Jim Meyering  <meyering@redhat.com>
45702
45703         many *.m4 files: improve m4 quoting
45704         99% of this change was performed by running the following commands:
45705         git ls-files | grep '\.m4$' | xargs perl -pi \
45706           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
45707           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
45708           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
45709           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
45710         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
45711         The remainder were to add Copyright dates, increment serial numbers,
45712         undo some changes in comments, exclude m4/intl.m4, and add quotes
45713         around the "1" in ",1" where the unusual spacing prohibited the
45714         above regexps from doing the job.  For more details, see
45715         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
45716         * m4/acl.m4: Modified.
45717         * m4/afs.m4: Likewise.
45718         * m4/alloca.m4: Likewise.
45719         * m4/argp.m4: Likewise.
45720         * m4/argz.m4: Likewise.
45721         * m4/atexit.m4: Likewise.
45722         * m4/bison-i18n.m4: Likewise.
45723         * m4/bison.m4: Likewise.
45724         * m4/byteswap.m4: Likewise.
45725         * m4/c-stack.m4: Likewise.
45726         * m4/c-strtod.m4: Likewise.
45727         * m4/calloc.m4: Likewise.
45728         * m4/canonicalize-lgpl.m4: Likewise.
45729         * m4/chown.m4: Likewise.
45730         * m4/clock_time.m4: Likewise.
45731         * m4/codeset.m4: Likewise.
45732         * m4/copy-file.m4: Likewise.
45733         * m4/csharp.m4: Likewise.
45734         * m4/csharpcomp.m4: Likewise.
45735         * m4/csharpexec.m4: Likewise.
45736         * m4/d-ino.m4: Likewise.
45737         * m4/d-type.m4: Likewise.
45738         * m4/dirfd.m4: Likewise.
45739         * m4/double-slash-root.m4: Likewise.
45740         * m4/eaccess.m4: Likewise.
45741         * m4/eealloc.m4: Likewise.
45742         * m4/environ.m4: Likewise.
45743         * m4/errno_h.m4: Likewise.
45744         * m4/euidaccess.m4: Likewise.
45745         * m4/execute.m4: Likewise.
45746         * m4/fatal-signal.m4: Likewise.
45747         * m4/fchdir.m4: Likewise.
45748         * m4/fcntl_h.m4: Likewise.
45749         * m4/fileblocks.m4: Likewise.
45750         * m4/filenamecat.m4: Likewise.
45751         * m4/findprog.m4: Likewise.
45752         * m4/flexmember.m4: Likewise.
45753         * m4/fnmatch.m4: Likewise.
45754         * m4/fopen.m4: Likewise.
45755         * m4/fpending.m4: Likewise.
45756         * m4/fprintf-posix.m4: Likewise.
45757         * m4/free.m4: Likewise.
45758         * m4/frexp.m4: Likewise.
45759         * m4/frexpl.m4: Likewise.
45760         * m4/fsusage.m4: Likewise.
45761         * m4/ftruncate.m4: Likewise.
45762         * m4/gc-camellia.m4: Likewise.
45763         * m4/gc-random.m4: Likewise.
45764         * m4/gc.m4: Likewise.
45765         * m4/getaddrinfo.m4: Likewise.
45766         * m4/getcwd-abort-bug.m4: Likewise.
45767         * m4/getcwd-path-max.m4: Likewise.
45768         * m4/getdate.m4: Likewise.
45769         * m4/getdomainname.m4: Likewise.
45770         * m4/getgroups.m4: Likewise.
45771         * m4/gethostname.m4: Likewise.
45772         * m4/gethrxtime.m4: Likewise.
45773         * m4/getline.m4: Likewise.
45774         * m4/getloadavg.m4: Likewise.
45775         * m4/getndelim2.m4: Likewise.
45776         * m4/getpass.m4: Likewise.
45777         * m4/gettext.m4: Likewise.
45778         * m4/gettime.m4: Likewise.
45779         * m4/gettimeofday.m4: Likewise.
45780         * m4/gnulib-common.m4: Likewise.
45781         * m4/group-member.m4: Likewise.
45782         * m4/host-os.m4: Likewise.
45783         * m4/iconv.m4: Likewise.
45784         * m4/iconv_open.m4: Likewise.
45785         * m4/inet_ntop.m4: Likewise.
45786         * m4/inet_pton.m4: Likewise.
45787         * m4/inline.m4: Likewise.
45788         * m4/intldir.m4: Likewise.
45789         * m4/intlmacosx.m4: Likewise.
45790         * m4/intmax.m4: Likewise.
45791         * m4/intmax_t.m4: Likewise.
45792         * m4/inttypes.m4: Likewise.
45793         * m4/inttypes_h.m4: Likewise.
45794         * m4/inttypes-pri.m4: Likewise.
45795         * m4/isapipe.m4: Likewise.
45796         * m4/isnand.m4: Likewise.
45797         * m4/isnanf.m4: Likewise.
45798         * m4/isnanl.m4: Likewise.
45799         * m4/javacomp.m4: Likewise.
45800         * m4/javaexec.m4: Likewise.
45801         * m4/jm-winsz1.m4: Likewise.
45802         * m4/jm-winsz2.m4: Likewise.
45803         * m4/lchown.m4: Likewise.
45804         * m4/lcmessage.m4: Likewise.
45805         * m4/ldexpl.m4: Likewise.
45806         * m4/lib-ld.m4: Likewise.
45807         * m4/lib-link.m4: Likewise.
45808         * m4/libsigsegv.m4: Likewise.
45809         * m4/link-follow.m4: Likewise.
45810         * m4/localcharset.m4: Likewise.
45811         * m4/locale-fr.m4: Likewise.
45812         * m4/locale-ja.m4: Likewise.
45813         * m4/locale-tr.m4: Likewise.
45814         * m4/locale-zh.m4: Likewise.
45815         * m4/lock.m4: Likewise.
45816         * m4/longlong.m4: Likewise.
45817         * m4/ls-mntd-fs.m4: Likewise.
45818         * m4/lstat.m4: Likewise.
45819         * m4/malloc.m4: Likewise.
45820         * m4/mathl.m4: Likewise.
45821         * m4/mbrtowc.m4: Likewise.
45822         * m4/mbstate_t.m4: Likewise.
45823         * m4/mbswidth.m4: Likewise.
45824         * m4/memchr.m4: Likewise.
45825         * m4/memcmp.m4: Likewise.
45826         * m4/memcpy.m4: Likewise.
45827         * m4/memmem.m4: Likewise.
45828         * m4/memmove.m4: Likewise.
45829         * m4/mempcpy.m4: Likewise.
45830         * m4/memrchr.m4: Likewise.
45831         * m4/memset.m4: Likewise.
45832         * m4/minmax.m4: Likewise.
45833         * m4/mkdir-slash.m4: Likewise.
45834         * m4/mkdtemp.m4: Likewise.
45835         * m4/mktime.m4: Likewise.
45836         * m4/mmap-anon.m4: Likewise.
45837         * m4/mountlist.m4: Likewise.
45838         * m4/nanosleep.m4: Likewise.
45839         * m4/nls.m4: Likewise.
45840         * m4/nocrash.m4: Likewise.
45841         * m4/open.m4: Likewise.
45842         * m4/openat.m4: Likewise.
45843         * m4/openmp.m4: Likewise.
45844         * m4/pathmax.m4: Likewise.
45845         * m4/perl.m4: Likewise.
45846         * m4/physmem.m4: Likewise.
45847         * m4/pipe.m4: Likewise.
45848         * m4/po.m4: Likewise.
45849         * m4/poll.m4: Likewise.
45850         * m4/posixtm.m4: Likewise.
45851         * m4/posixver.m4: Likewise.
45852         * m4/printf-frexp.m4: Likewise.
45853         * m4/printf-frexpl.m4: Likewise.
45854         * m4/printf-posix.m4: Likewise.
45855         * m4/printf-posix-rpl.m4: Likewise.
45856         * m4/printf.m4: Likewise.
45857         * m4/progtest.m4: Likewise.
45858         * m4/putenv.m4: Likewise.
45859         * m4/readline.m4: Likewise.
45860         * m4/readlink.m4: Likewise.
45861         * m4/readutmp.m4: Likewise.
45862         * m4/realloc.m4: Likewise.
45863         * m4/regex.m4: Likewise.
45864         * m4/relocatable.m4: Likewise.
45865         * m4/relocatable-lib.m4: Likewise.
45866         * m4/rename-dest-slash.m4: Likewise.
45867         * m4/rename.m4: Likewise.
45868         * m4/rmdir-errno.m4: Likewise.
45869         * m4/rmdir.m4: Likewise.
45870         * m4/roundf.m4: Likewise.
45871         * m4/roundl.m4: Likewise.
45872         * m4/rpmatch.m4: Likewise.
45873         * m4/save-cwd.m4: Likewise.
45874         * m4/selinux-selinux-h.m4: Likewise.
45875         * m4/setenv.m4: Likewise.
45876         * m4/settime.m4: Likewise.
45877         * m4/sig2str.m4: Likewise.
45878         * m4/sig_atomic_t.m4: Likewise.
45879         * m4/signalblocking.m4: Likewise.
45880         * m4/signbit.m4: Likewise.
45881         * m4/sigpipe.m4: Likewise.
45882         * m4/sockets.m4: Likewise.
45883         * m4/sockpfaf.m4: Likewise.
45884         * m4/st_dm_mode.m4: Likewise.
45885         * m4/stat-time.m4: Likewise.
45886         * m4/stdbool.m4: Likewise.
45887         * m4/stdint.m4: Likewise.
45888         * m4/stdint_h.m4: Likewise.
45889         * m4/stpcpy.m4: Likewise.
45890         * m4/stpncpy.m4: Likewise.
45891         * m4/strcase.m4: Likewise.
45892         * m4/strchrnul.m4: Likewise.
45893         * m4/strcspn.m4: Likewise.
45894         * m4/strdup.m4: Likewise.
45895         * m4/strftime.m4: Likewise.
45896         * m4/strndup.m4: Likewise.
45897         * m4/strnlen.m4: Likewise.
45898         * m4/strpbrk.m4: Likewise.
45899         * m4/strptime.m4: Likewise.
45900         * m4/strsep.m4: Likewise.
45901         * m4/strtod.m4: Likewise.
45902         * m4/strtoimax.m4: Likewise.
45903         * m4/strtok_r.m4: Likewise.
45904         * m4/strtol.m4: Likewise.
45905         * m4/strtoll.m4: Likewise.
45906         * m4/strtoul.m4: Likewise.
45907         * m4/strtoull.m4: Likewise.
45908         * m4/strtoumax.m4: Likewise.
45909         * m4/strverscmp.m4: Likewise.
45910         * m4/threadlib.m4: Likewise.
45911         * m4/timegm.m4: Likewise.
45912         * m4/tm_gmtoff.m4: Likewise.
45913         * m4/tmpdir.m4: Likewise.
45914         * m4/tmpfile.m4: Likewise.
45915         * m4/tzset.m4: Likewise.
45916         * m4/uintmax_t.m4: Likewise.
45917         * m4/unlinkdir.m4: Likewise.
45918         * m4/unlocked-io.m4: Likewise.
45919         * m4/uptime.m4: Likewise.
45920         * m4/userspec.m4: Likewise.
45921         * m4/utimbuf.m4: Likewise.
45922         * m4/utime.m4: Likewise.
45923         * m4/utimes-null.m4: Likewise.
45924         * m4/utimes.m4: Likewise.
45925         * m4/vararrays.m4: Likewise.
45926         * m4/vasnprintf.m4: Likewise.
45927         * m4/vfprintf-posix.m4: Likewise.
45928         * m4/vprintf-posix.m4: Likewise.
45929         * m4/wait-process.m4: Likewise.
45930         * m4/wchar_t.m4: Likewise.
45931         * m4/wint_t.m4: Likewise.
45932         * m4/write-any-file.m4: Likewise.
45933         * m4/yield.m4: Likewise.
45934
45935 2009-01-13  Bruno Haible  <bruno@clisp.org>
45936
45937         Avoid test-copy-file.sh failures when ACL support insufficient.
45938         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
45939         TESTS_ENVIRONMENT.
45940         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
45941         Reported by Jim Meyering.
45942
45943 2009-01-13  Bruno Haible  <bruno@clisp.org>
45944
45945         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
45946         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
45947         * modules/unistdio/u8-printf-parse (Files): Likewise.
45948         * modules/unistdio/u32-printf-parse (Files): Likewise.
45949         * modules/unistdio/ulc-printf-parse (Files): Likewise.
45950
45951 2009-01-13  Simon Josefsson  <simon@josefsson.org>
45952
45953         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
45954         and m4/inttypes_h.m4 too.
45955
45956 2009-01-12  Eric Blake  <ebb9@byu.net>
45957
45958         tests: IRIX 6.2 cc can't compile -0.0 into .data
45959         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
45960         rather than at compile-time.
45961         * tests/test-floorl.c (minus_zero): Likewise.
45962         * tests/test-frexpl.c (minus_zero): Likewise.
45963         * tests/test-isnan.c (minus_zerol): Likewise.
45964         * tests/test-isnanl.h (minus_zero): Likewise.
45965         * tests/test-ldexpl.c (minus_zero): Likewise.
45966         * tests/test-roundl.c (minus_zero): Likewise.
45967         * tests/test-signbit.c (minus_zerol): Likewise.
45968         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
45969         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
45970         * tests/test-truncl.c (minus_zero): Likewise.
45971         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
45972         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
45973         Reported by Tom G. Christensen and Nelson H. F. Beebe.
45974
45975 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45976
45977         regex: fix glibc bug 9697
45978         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
45979         handling.
45980
45981 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45982
45983         regex: fix glibc bug 697
45984         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
45985         being NULL also if there are no backreferences.
45986
45987 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45988
45989         regex: merge glibc changes
45990         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
45991         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
45992         re_string_skip_chars, re_string_reconstruct): Likewise.
45993         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
45994
45995 2009-01-07  Jim Meyering  <meyering@redhat.com>
45996
45997         poll: filter through cppi
45998         * lib/poll.c: Indent cpp directives to reflect nesting.
45999
46000 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
46001
46002         poll: don't return uninitialized
46003         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
46004
46005 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
46006
46007         avoid compile failure on AIX 6.1
46008         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
46009         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
46010
46011 2009-01-04  Jim Meyering  <meyering@redhat.com>
46012
46013         remove duplicate inclusion of <stdio.h>
46014         * tests/test-fprintf-posix.c: Likewise.
46015         * tests/test-printf-posix.c: Likewise.
46016         * tests/test-snprintf-posix.c: Likewise.
46017         * tests/test-sprintf-posix.c: Likewise.
46018         * tests/test-vasprintf-posix.c: Likewise.
46019         * tests/test-vfprintf-posix.c: Likewise.
46020         * tests/test-vprintf-posix.c: Likewise.
46021         * tests/test-vsnprintf-posix.c: Likewise.
46022         * tests/test-vsprintf-posix.c: Likewise.
46023
46024 2009-01-03  Jim Meyering  <meyering@redhat.com>
46025
46026         gnulib-tool: fix sed-based filtering
46027         * gnulib-tool (func_filter_filelist): Remove extra backslash
46028         in sed_fff_filter definition.
46029
46030 2009-01-02  Jim Meyering  <meyering@redhat.com>
46031
46032         strftime: avoid compilation failure on Solaris 2.6
46033         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
46034         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
46035         Don't #define mbrlen or mbsinit, since now they're guaranteed to
46036         be available.  Reported by Tom G. Christensen.  Details in
46037         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
46038
46039 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46040             Bruno Haible  <bruno@clisp.org>
46041
46042         Speed up gnulib-tool by doing more string processing through shell
46043         built-ins.
46044         * gnulib-tool (fast_func_append): New variable.
46045         (func_remove_prefix, func_remove_suffix): New functions.
46046         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
46047         (func_filter_filelist): New function.
46048         (func_get_dependencies): Use func_remove_suffix instead of sed.
46049         (func_get_automake_snippet): Use func_filter_filelist instead of a
46050         subshell and sed invocation.
46051
46052 2009-01-01  Bruno Haible  <bruno@clisp.org>
46053
46054         Fix a security bug.
46055         * gnulib-tool (func_import, import, update): Don't allow the characters
46056         '"', '$', '`', '\' in macro arguments that become part of commands that
46057         are evaluated.
46058
46059 2009-01-01  Bruno Haible  <bruno@clisp.org>
46060
46061         * gnulib-tool (func_reset_sigpipe): Add more comments.
46062
46063 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46064
46065         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
46066         func_emit_tests_Makefile_am, func_import): Abort loops early if we
46067         already know the answer.
46068
46069 2009-01-01  Jim Meyering  <meyering@redhat.com>
46070
46071         * lib/version-etc.c (version_etc_va): Update copyright year.
46072
46073 2008-12-30  Bruno Haible  <bruno@clisp.org>
46074
46075         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
46076         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
46077         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
46078
46079 2008-12-29  Eric Blake  <ebb9@byu.net>
46080
46081         multiarch: avoid autoconf AC_REQUIRE bug
46082         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
46083         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
46084         2.63 and older.
46085         Reported by Bruno Haible, and analyzed in
46086         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
46087
46088 2008-12-29  Bruno Haible  <bruno@clisp.org>
46089
46090         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
46091         files in subdirectories correctly.
46092         Reported by Ralf Wildenhues.
46093
46094 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46095
46096         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
46097         rather than 'join FILE -', for Solaris join.
46098
46099 2008-12-29  Bruno Haible  <bruno@clisp.org>
46100
46101         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
46102         quoting.
46103         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
46104         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
46105         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
46106         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
46107         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
46108         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
46109         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
46110         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
46111         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
46112         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
46113         * m4/nls.m4 (AM_NLS): Likewise.
46114         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
46115         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
46116         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
46117         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
46118         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
46119         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
46120         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
46121         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
46122         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
46123         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
46124         * m4/xsize.m4 (gl_XSIZE): Likewise.
46125         Suggested by Jim Meyering.
46126
46127 2008-11-17  Bruce Korb  <bkorb@gnu.org>
46128
46129         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
46130         * lib/parse-duration.c: use a switch instead of cascading if's.
46131
46132 2008-12-29  Eric Blake  <ebb9@byu.net>
46133
46134         wchar.h: supply WEOF on Irix 5.3
46135         * lib/wchar.in.h (wint_t): Also supply WEOF.
46136         * lib/wctype.in.h (wint_t): Likewise.
46137         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
46138         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
46139         Reported by Tom G. Christensen.
46140
46141 2008-12-26  Bruno Haible  <bruno@clisp.org>
46142
46143         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
46144         i486, i586, i686.
46145
46146 2008-12-26  Bruno Haible  <bruno@clisp.org>
46147
46148         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
46149
46150 2008-12-26  Bruno Haible  <bruno@clisp.org>
46151
46152         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
46153         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
46154         not __STDC_CONSTANT_MACROS.
46155         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
46156
46157 2008-12-25  Bruno Haible  <bruno@clisp.org>
46158
46159         Add support for universal builds to vasnprintf.
46160         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
46161         universal builds, guess no.
46162         * modules/vasnprintf-posix (Depends-on): Add multiarch.
46163         * modules/vasprintf-posix (Depends-on): Likewise.
46164         * modules/fprintf-posix (Depends-on): Likewise.
46165         * modules/vfprintf-posix (Depends-on): Likewise.
46166         * modules/snprintf-posix (Depends-on): Likewise.
46167         * modules/vsnprintf-posix (Depends-on): Likewise.
46168         * modules/sprintf-posix (Depends-on): Likewise.
46169         * modules/vsprintf-posix (Depends-on): Likewise.
46170         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46171         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46172         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46173         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46174         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46175         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46176         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46177
46178         Add support for universal builds to <inttypes.h>.
46179         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
46180         _SCNu64_PREFIX): In Apple
46181         universal builds, define directly, using _LP64.
46182         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
46183         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
46184         * modules/inttypes (Depends-on): Add multiarch.
46185         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
46186
46187         Add support for universal builds to <stdint.h>.
46188         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
46189         universal builds, define directly, using _LP64.
46190         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
46191         Apple universal builds, don't test for the size and suffix of ptrdiff_t
46192         and size_t.
46193         * modules/stdint (Depends-on): Add multiarch.
46194         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
46195
46196         New module 'multiarch'.
46197         * modules/multiarch: New file.
46198         * m4/multiarch.m4: New file.
46199
46200 2008-12-25  Bruno Haible  <bruno@clisp.org>
46201
46202         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
46203
46204 2008-12-25  Bruno Haible  <bruno@clisp.org>
46205
46206         * modules/btowc (License): Relicense under LGPLv2+.
46207         * modules/mbsinit (License): Likewise.
46208         * modules/mbrtowc (License): Likewise.
46209         * modules/wcrtomb (License): Likewise.
46210         * modules/streq (License): Likewise.
46211         Reported by David Lutterkort <lutter@redhat.com>.
46212
46213 2008-12-23  Bruno Haible  <bruno@clisp.org>
46214
46215         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
46216
46217 2008-12-23  Bruno Haible  <bruno@clisp.org>
46218
46219         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
46220         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
46221         GETADDRINFO_LIB, not in LIBS.
46222         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
46223         * modules/canon-host (Link): Likewise.
46224         * NEWS: Mention the change.
46225         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
46226         GETADDRINFO_LIB.
46227
46228 2008-12-22  Bruno Haible  <bruno@clisp.org>
46229
46230         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
46231         * doc/posix-functions/iswalpha_l.texi: Likewise.
46232         * doc/posix-functions/iswblank_l.texi: Likewise.
46233         * doc/posix-functions/iswcntrl_l.texi: Likewise.
46234         * doc/posix-functions/iswctype_l.texi: Likewise.
46235         * doc/posix-functions/iswdigit_l.texi: Likewise.
46236         * doc/posix-functions/iswgraph_l.texi: Likewise.
46237         * doc/posix-functions/iswlower_l.texi: Likewise.
46238         * doc/posix-functions/iswprint_l.texi: Likewise.
46239         * doc/posix-functions/iswpunct_l.texi: Likewise.
46240         * doc/posix-functions/iswspace_l.texi: Likewise.
46241         * doc/posix-functions/iswupper_l.texi: Likewise.
46242         * doc/posix-functions/iswxdigit_l.texi: Likewise.
46243         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
46244         * doc/posix-functions/open_wmemstream.texi: Likewise.
46245         * doc/posix-functions/swscanf.texi: Likewise.
46246         * doc/posix-functions/towctrans_l.texi: Likewise.
46247         * doc/posix-functions/towlower.texi: Likewise.
46248         * doc/posix-functions/towlower_l.texi: Likewise.
46249         * doc/posix-functions/towupper.texi: Likewise.
46250         * doc/posix-functions/towupper_l.texi: Likewise.
46251         * doc/posix-functions/vfwprintf.texi: Likewise.
46252         * doc/posix-functions/vfwscanf.texi: Likewise.
46253         * doc/posix-functions/vswscanf.texi: Likewise.
46254         * doc/posix-functions/vwprintf.texi: Likewise.
46255         * doc/posix-functions/vwscanf.texi: Likewise.
46256         * doc/posix-functions/wcpcpy.texi: Likewise.
46257         * doc/posix-functions/wcpncpy.texi: Likewise.
46258         * doc/posix-functions/wcscasecmp.texi: Likewise.
46259         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
46260         * doc/posix-functions/wcscoll_l.texi: Likewise.
46261         * doc/posix-functions/wcsdup.texi: Likewise.
46262         * doc/posix-functions/wcsncasecmp.texi: Likewise.
46263         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
46264         * doc/posix-functions/wcsnlen.texi: Likewise.
46265         * doc/posix-functions/wcsnrtombs.texi: Likewise.
46266         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
46267         * doc/posix-functions/wctrans_l.texi: Likewise.
46268         * doc/posix-functions/wctype_l.texi: Likewise.
46269         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
46270         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
46271         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
46272         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
46273         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
46274         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
46275         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
46276         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
46277         * doc/glibc-functions/wcschrnul.texi: Likewise.
46278         * doc/glibc-functions/wcsftime_l.texi: Likewise.
46279         * doc/glibc-functions/wcstod_l.texi: Likewise.
46280         * doc/glibc-functions/wcstof_l.texi: Likewise.
46281         * doc/glibc-functions/wcstol_l.texi: Likewise.
46282         * doc/glibc-functions/wcstold_l.texi: Likewise.
46283         * doc/glibc-functions/wcstoll_l.texi: Likewise.
46284         * doc/glibc-functions/wcstoq.texi: Likewise.
46285         * doc/glibc-functions/wcstoul_l.texi: Likewise.
46286         * doc/glibc-functions/wcstoull_l.texi: Likewise.
46287         * doc/glibc-functions/wcstouq.texi: Likewise.
46288         * doc/glibc-functions/wmempcpy.texi: Likewise.
46289
46290 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
46291             Eric Blake  <ebb9@byu.net>
46292             Paolo Bonzini  <bonzini@gnu.org>
46293             Bruno Haible  <bruno@clisp.org>
46294
46295         Make c-stack work on Haiku.
46296         * lib/c-stack.c (SA_ONSTACK): Define fallback.
46297         (c_stack_action): Use SA_ONSTACK flag.
46298
46299 2008-12-22  Bruno Haible  <bruno@clisp.org>
46300
46301         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
46302
46303 2008-12-22  Bruno Haible  <bruno@clisp.org>
46304
46305         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
46306         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
46307         being overridden.
46308         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
46309         New macros.
46310         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
46311         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
46312         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
46313         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
46314
46315 2008-12-22  Bruno Haible  <bruno@clisp.org>
46316
46317         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
46318         from test code.
46319
46320 2008-12-22  Eric Blake  <ebb9@byu.net>
46321
46322         Avoid gcc warnings on cygwin.
46323         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
46324         Avoid unused variable.
46325         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
46326         Likewise.
46327
46328 2008-12-22  Bruno Haible  <bruno@clisp.org>
46329
46330         Remove HAVE_MBRTOWC conditionals.
46331         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
46332         (mbscasecmp): Assume mbrtowc function.
46333         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
46334         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
46335         * lib/mbschr.c: Include mbuiter.h unconditionally.
46336         (mbschr): Assume mbrtowc function.
46337         * lib/mbscspn.c: Include mbuiter.h unconditionally.
46338         (mbscspn): Assume mbrtowc function.
46339         * lib/mbslen.c: Include mbuiter.h unconditionally.
46340         (mbslen): Assume mbrtowc function.
46341         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
46342         (mbsncasecmp): Assume mbrtowc function.
46343         * lib/mbsnlen.c: Include mbiter.h unconditionally.
46344         (mbsnlen): Assume mbrtowc function.
46345         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
46346         (mbspbrk): Assume mbrtowc function.
46347         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
46348         (mbspcasecmp): Assume mbrtowc function.
46349         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
46350         (mbsrchr): Assume mbrtowc function.
46351         * lib/mbssep.c: Include mbuiter.h unconditionally.
46352         (mbssep): Assume mbrtowc function.
46353         * lib/mbsspn.c: Include mbuiter.h unconditionally.
46354         (mbsspn): Assume mbrtowc function.
46355         * lib/mbsstr.c: Include mbuiter.h unconditionally.
46356         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
46357         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
46358         (mbstok_r): Assume mbrtowc function.
46359         * lib/propername.c: Include mbuiter.h unconditionally.
46360         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
46361         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
46362         (trim2): Assume mbrtowc function.
46363         * lib/mbswidth.c (mbsinit): Remove fallback definition.
46364         (mbsnwidth): Assume mbrtowc function.
46365         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
46366         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
46367         fallback definitions.
46368         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
46369
46370 2008-12-22  Bruno Haible  <bruno@clisp.org>
46371
46372         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
46373
46374 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
46375
46376         * modules/regex: Request emulations for the mb*/wc* functions we need.
46377         * m4/regex.m4: Don't look for those functions here.
46378         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
46379
46380 2008-12-22  Bruno Haible  <bruno@clisp.org>
46381
46382         * modules/fnmatch (Depends-on): Remove duplicated dependency.
46383
46384 2008-12-21  Bruno Haible  <bruno@clisp.org>
46385
46386         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
46387         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
46388         (Include): Remove conditionalization.
46389         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
46390         (Include): Remove conditionalization.
46391         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
46392         (Include): Remove conditionalization.
46393         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
46394         * m4/mbfile.m4 (gl_MBFILE): Likewise.
46395         * NEWS: Mention the change.
46396         Reported by Alan Hourihane <alanh@fairlite.co.uk>
46397         via Sergey Poznyakoff <gray@gnu.org.ua>.
46398
46399 2008-12-21  Bruno Haible  <bruno@clisp.org>
46400
46401         * MODULES.html.sh (Extended multibyte and wide character utilities
46402         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
46403         wcrtomb, wcsrtombs.
46404         (Support for systems lacking POSIX:2008): Add accept, bind, close,
46405         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
46406         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
46407         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
46408
46409 2008-12-21  Bruno Haible  <bruno@clisp.org>
46410
46411         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
46412
46413 2008-12-21  Bruno Haible  <bruno@clisp.org>
46414
46415         * modules/wcsnrtombs-tests: New file.
46416         * tests/test-wcsnrtombs1.sh: New file.
46417         * tests/test-wcsnrtombs2.sh: New file.
46418         * tests/test-wcsnrtombs3.sh: New file.
46419         * tests/test-wcsnrtombs4.sh: New file.
46420         * tests/test-wcsnrtombs.c: New file.
46421
46422         New module 'wcsnrtombs'.
46423         * lib/wchar.in.h (wcsnrtombs): New declaration.
46424         * lib/wcsnrtombs.c: New file.
46425         * lib/wcsrtombs-state.c: New file.
46426         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
46427         (internal_state): Remove variable.
46428         * m4/wcsnrtombs.m4: New file.
46429         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
46430         compilation units.
46431         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
46432         HAVE_WCSNRTOMBS.
46433         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
46434         HAVE_WCSNRTOMBS.
46435         * modules/wcsnrtombs: New file.
46436         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
46437         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
46438
46439 2008-12-21  Bruno Haible  <bruno@clisp.org>
46440
46441         * modules/wcsrtombs-tests: New file.
46442         * tests/test-wcsrtombs1.sh: New file.
46443         * tests/test-wcsrtombs2.sh: New file.
46444         * tests/test-wcsrtombs3.sh: New file.
46445         * tests/test-wcsrtombs4.sh: New file.
46446         * tests/test-wcsrtombs.c: New file.
46447
46448         New module 'wcsrtombs'.
46449         * lib/wchar.in.h (wcsrtombs): New declaration.
46450         * lib/wcsrtombs.c: New file.
46451         * m4/wcsrtombs.m4: New file.
46452         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
46453         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
46454         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
46455         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
46456         * modules/wcsrtombs: New file.
46457         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
46458         bugs.
46459
46460 2008-12-21  Bruno Haible  <bruno@clisp.org>
46461
46462         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
46463         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
46464         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
46465         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
46466         if not correct.
46467         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
46468         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
46469         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
46470         m4/locale-zh.m4, m4/codeset.m4.
46471         * doc/posix-functions/wcrtomb.texi: Document the bug.
46472
46473 2008-12-21  Bruno Haible  <bruno@clisp.org>
46474
46475         Work around a btowc() bug on IRIX 6.5.
46476         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
46477         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
46478         REPLACE_WTOBC if not.
46479         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
46480         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
46481         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
46482
46483 2008-12-21  Bruno Haible  <bruno@clisp.org>
46484
46485         * modules/wcrtomb-tests: New file.
46486         * tests/test-wcrtomb.sh: New file.
46487         * tests/test-wcrtomb.c: New file.
46488
46489         New module 'wcrtomb'.
46490         * lib/wchar.in.h (wcrtomb): New declaration.
46491         * lib/wcrtomb.c: New file.
46492         * m4/wcrtomb.m4: New file.
46493         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
46494         HAVE_WCRTOMB.
46495         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
46496         HAVE_WCRTOMB.
46497         * modules/wcrtomb: New file.
46498         * doc/posix-functions/wcrtomb.texi: Mention the new module.
46499
46500 2008-12-21  Bruno Haible  <bruno@clisp.org>
46501
46502         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
46503         * modules/mbsrtowcs (Files): Likewise.
46504         * modules/wctob (Files): Likewise.
46505         * modules/c-strcase-tests (Files): Likewise.
46506         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
46507         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
46508         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
46509         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
46510         * modules/vasnprintf-posix-tests (Files): Likewise.
46511
46512 2008-12-21  William Pursell  <bill.pursell@gmail.com>
46513
46514         gitlog-to-changelog: pass all command-line arguments to git-log
46515         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
46516         it is sometimes convenient to filter the commits in various ways.
46517         gitlog-to-changelog only allows --since to specify a start date,
46518         but git-log itself supports many other filtering mechanisms.
46519         At the moment, I want to filter by branch name.  Rather than
46520         adding a --branch option to gitlog-to-changelog, it seems more
46521         flexible to simply pass all options directly to git-log and let
46522         git do the work.  Notice that this effectively makes --since a
46523         redundant option for gitlog-to-changelog, but removing it would
46524         require current usage to change since calls would then require
46525         an additional '--'.
46526
46527 2008-12-21  Bruno Haible  <bruno@clisp.org>
46528
46529         * modules/mbsnrtowcs-tests: New file.
46530         * tests/test-mbsnrtowcs1.sh: New file.
46531         * tests/test-mbsnrtowcs2.sh: New file.
46532         * tests/test-mbsnrtowcs3.sh: New file.
46533         * tests/test-mbsnrtowcs4.sh: New file.
46534         * tests/test-mbsnrtowcs.c: New file.
46535
46536         New module 'mbsnrtowcs'.
46537         * lib/wchar.in.h (mbsnrtowcs): New declaration.
46538         * lib/mbsnrtowcs.c: New file.
46539         * lib/mbsrtowcs-state.c: New file.
46540         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
46541         (internal_state): Remove variable.
46542         * m4/mbsnrtowcs.m4: New file.
46543         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
46544         compilation units.
46545         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
46546         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
46547         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
46548         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
46549         * modules/mbsnrtowcs: New file.
46550         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
46551         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
46552         portability problem.
46553
46554 2008-12-21  Bruno Haible  <bruno@clisp.org>
46555
46556         Work around mbsrtowcs bug.
46557         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
46558         (gl_FUNC_MBSRTOWCS): Invoke it.
46559         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
46560         m4/locale-zh.m4.
46561         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
46562
46563 2008-12-21  Bruno Haible  <bruno@clisp.org>
46564
46565         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
46566
46567 2008-12-21  Bruno Haible  <bruno@clisp.org>
46568
46569         Update doc for AIX.
46570         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
46571         16-bit wchar_t type.
46572         * doc/posix-functions/btowc.texi: Likewise.
46573         * doc/posix-functions/fgetwc.texi: Likewise.
46574         * doc/posix-functions/fgetws.texi: Likewise.
46575         * doc/posix-functions/fputwc.texi: Likewise.
46576         * doc/posix-functions/fputws.texi: Likewise.
46577         * doc/posix-functions/fwide.texi: Likewise.
46578         * doc/posix-functions/fwprintf.texi: Likewise.
46579         * doc/posix-functions/fwscanf.texi: Likewise.
46580         * doc/posix-functions/getwchar.texi: Likewise.
46581         * doc/posix-functions/getwc.texi: Likewise.
46582         * doc/posix-functions/iswalnum.texi: Likewise.
46583         * doc/posix-functions/iswalpha.texi: Likewise.
46584         * doc/posix-functions/iswblank.texi: Likewise.
46585         * doc/posix-functions/iswcntrl.texi: Likewise.
46586         * doc/posix-functions/iswctype.texi: Likewise.
46587         * doc/posix-functions/iswdigit.texi: Likewise.
46588         * doc/posix-functions/iswgraph.texi: Likewise.
46589         * doc/posix-functions/iswlower.texi: Likewise.
46590         * doc/posix-functions/iswprint.texi: Likewise.
46591         * doc/posix-functions/iswpunct.texi: Likewise.
46592         * doc/posix-functions/iswspace.texi: Likewise.
46593         * doc/posix-functions/iswupper.texi: Likewise.
46594         * doc/posix-functions/iswxdigit.texi: Likewise.
46595         * doc/posix-functions/mbrtowc.texi: Likewise.
46596         * doc/posix-functions/mbsrtowcs.texi: Likewise.
46597         * doc/posix-functions/mbstowcs.texi: Likewise.
46598         * doc/posix-functions/mbtowc.texi: Likewise.
46599         * doc/posix-functions/putwchar.texi: Likewise.
46600         * doc/posix-functions/putwc.texi: Likewise.
46601         * doc/posix-functions/swprintf.texi: Likewise.
46602         * doc/posix-functions/tolower.texi: Likewise.
46603         * doc/posix-functions/toupper.texi: Likewise.
46604         * doc/posix-functions/towctrans.texi: Likewise.
46605         * doc/posix-functions/ungetwc.texi: Likewise.
46606         * doc/posix-functions/vswprintf.texi: Likewise.
46607         * doc/posix-functions/wcrtomb.texi: Likewise.
46608         * doc/posix-functions/wcscat.texi: Likewise.
46609         * doc/posix-functions/wcschr.texi: Likewise.
46610         * doc/posix-functions/wcscmp.texi: Likewise.
46611         * doc/posix-functions/wcscoll.texi: Likewise.
46612         * doc/posix-functions/wcscpy.texi: Likewise.
46613         * doc/posix-functions/wcscspn.texi: Likewise.
46614         * doc/posix-functions/wcsftime.texi: Likewise.
46615         * doc/posix-functions/wcslen.texi: Likewise.
46616         * doc/posix-functions/wcsncat.texi: Likewise.
46617         * doc/posix-functions/wcsncmp.texi: Likewise.
46618         * doc/posix-functions/wcsncpy.texi: Likewise.
46619         * doc/posix-functions/wcspbrk.texi: Likewise.
46620         * doc/posix-functions/wcsrchr.texi: Likewise.
46621         * doc/posix-functions/wcsrtombs.texi: Likewise.
46622         * doc/posix-functions/wcsspn.texi: Likewise.
46623         * doc/posix-functions/wcsstr.texi: Likewise.
46624         * doc/posix-functions/wcstod.texi: Likewise.
46625         * doc/posix-functions/wcstof.texi: Likewise.
46626         * doc/posix-functions/wcstoimax.texi: Likewise.
46627         * doc/posix-functions/wcstok.texi: Likewise.
46628         * doc/posix-functions/wcstold.texi: Likewise.
46629         * doc/posix-functions/wcstoll.texi: Likewise.
46630         * doc/posix-functions/wcstol.texi: Likewise.
46631         * doc/posix-functions/wcstombs.texi: Likewise.
46632         * doc/posix-functions/wcstoull.texi: Likewise.
46633         * doc/posix-functions/wcstoul.texi: Likewise.
46634         * doc/posix-functions/wcstoumax.texi: Likewise.
46635         * doc/posix-functions/wcswidth.texi: Likewise.
46636         * doc/posix-functions/wcsxfrm.texi: Likewise.
46637         * doc/posix-functions/wctob.texi: Likewise.
46638         * doc/posix-functions/wctomb.texi: Likewise.
46639         * doc/posix-functions/wctrans.texi: Likewise.
46640         * doc/posix-functions/wctype.texi: Likewise.
46641         * doc/posix-functions/wcwidth.texi: Likewise.
46642         * doc/posix-functions/wmemchr.texi: Likewise.
46643         * doc/posix-functions/wmemcmp.texi: Likewise.
46644         * doc/posix-functions/wmemcpy.texi: Likewise.
46645         * doc/posix-functions/wmemmove.texi: Likewise.
46646         * doc/posix-functions/wmemset.texi: Likewise.
46647         * doc/posix-functions/wprintf.texi: Likewise.
46648         * doc/posix-functions/wscanf.texi: Likewise.
46649
46650 2008-12-21  Bruno Haible  <bruno@clisp.org>
46651
46652         Update doc for HP-UX 11.11.
46653         * doc/posix-functions/btowc.texi: Clarify that the function is missing
46654         in HP-UX version 11.00, not in all versions of HP-UX 11.
46655         * doc/posix-functions/fwide.texi: Likewise.
46656         * doc/posix-functions/fwprintf.texi: Likewise.
46657         * doc/posix-functions/fwscanf.texi: Likewise.
46658         * doc/posix-functions/inet_ntop.texi: Likewise.
46659         * doc/posix-functions/inet_pton.texi: Likewise.
46660         * doc/posix-functions/mbrlen.texi: Likewise.
46661         * doc/posix-functions/mbrtowc.texi: Likewise.
46662         * doc/posix-functions/mbsinit.texi: Likewise.
46663         * doc/posix-functions/mbsrtowcs.texi: Likewise.
46664         * doc/posix-functions/swprintf.texi: Likewise.
46665         * doc/posix-functions/swscanf.texi: Likewise.
46666         * doc/posix-functions/towctrans.texi: Likewise.
46667         * doc/posix-functions/vfwprintf.texi: Likewise.
46668         * doc/posix-functions/vswprintf.texi: Likewise.
46669         * doc/posix-functions/vwprintf.texi: Likewise.
46670         * doc/posix-functions/wcrtomb.texi: Likewise.
46671         * doc/posix-functions/wcsrtombs.texi: Likewise.
46672         * doc/posix-functions/wcsstr.texi: Likewise.
46673         * doc/posix-functions/wctob.texi: Likewise.
46674         * doc/posix-functions/wctrans.texi: Likewise.
46675         * doc/posix-functions/wmemchr.texi: Likewise.
46676         * doc/posix-functions/wmemcmp.texi: Likewise.
46677         * doc/posix-functions/wmemcpy.texi: Likewise.
46678         * doc/posix-functions/wmemmove.texi: Likewise.
46679         * doc/posix-functions/wmemset.texi: Likewise.
46680         * doc/posix-functions/wprintf.texi: Likewise.
46681         * doc/posix-functions/wscanf.texi: Likewise.
46682
46683 2008-12-21  Bruno Haible  <bruno@clisp.org>
46684
46685         Work around a portability problem.
46686         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
46687         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
46688
46689 2008-12-20  Bruno Haible  <bruno@clisp.org>
46690
46691         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
46692         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
46693         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
46694         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
46695         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
46696
46697         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
46698         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
46699         set.
46700         (GNULIB_defined_mbstate_t): New macro.
46701         (mbsinit): Redefine if REPLACE_MBSINIT is set.
46702         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
46703         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
46704         reuses the system's mbrtowc function but works around the bugs.
46705         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
46706         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
46707         macros.
46708         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
46709         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
46710         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
46711         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
46712         REPLACE_MBSINIT if mbsinit needs to be overridden.
46713         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
46714         REPLACE_MBSINIT, REPLACE_MBRTOWC.
46715         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
46716         REPLACE_MBSINIT, REPLACE_MBRTOWC.
46717         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
46718         m4/locale-zh.m4.
46719         (Depends): Add mbsinit.
46720         * modules/mbsinit (Depends): Add mbrtowc.
46721         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
46722
46723 2008-12-20  Bruno Haible  <bruno@clisp.org>
46724
46725         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
46726         so that there are no conversion errors on AIX.
46727         * tests/test-mbsrtowcs.c (main): LIkewise.
46728
46729 2008-12-20  Bruno Haible  <bruno@clisp.org>
46730
46731         Work around wctob bug on Solaris <= 9.
46732         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
46733         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
46734         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
46735         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
46736         * modules/wctob (Files): Add m4/locale-fr.m4.
46737         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
46738
46739 2008-12-20  Bruno Haible  <bruno@clisp.org>
46740
46741         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
46742         /dev/null.
46743         * tests/test-select-in.sh: Likewise.
46744         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46745
46746 2008-12-20  Bruno Haible  <bruno@clisp.org>
46747
46748         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
46749         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
46750         Cygwin 1.5.x.
46751
46752 2008-12-20  Bruno Haible  <bruno@clisp.org>
46753
46754         Ensure mbstate_t is defined on HP-UX 11.11.
46755         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
46756         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
46757         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
46758         AC_USE_SYSTEM_EXTENSIONS.
46759         * modules/fnmatch (Depends-on): Add extensions.
46760         * modules/mbrlen (Depends-on): Likewise.
46761         * modules/mbrtowc (Depends-on): Likewise.
46762         * modules/mbsinit (Depends-on): Likewise.
46763         * modules/mbsrtowcs (Depends-on): Likewise.
46764         * modules/mbswidth (Depends-on): Likewise.
46765         * modules/quotearg (Depends-on): Likewise.
46766         * modules/strftime (Depends-on): Likewise.
46767
46768 2008-12-20  Bruno Haible  <bruno@clisp.org>
46769
46770         Ensure wctob is declared on IRIX 6.5.
46771         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
46772         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
46773         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
46774         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
46775         of HAVE_WCTOB.
46776         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
46777         HAVE_WCTOB.
46778         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
46779
46780 2008-12-19  Bruno Haible  <bruno@clisp.org>
46781
46782         * modules/mbsrtowcs-tests: New file.
46783         * tests/test-mbsrtowcs1.sh: New file.
46784         * tests/test-mbsrtowcs2.sh: New file.
46785         * tests/test-mbsrtowcs3.sh: New file.
46786         * tests/test-mbsrtowcs4.sh: New file.
46787         * tests/test-mbsrtowcs.c: New file.
46788
46789         New module 'mbsrtowcs'.
46790         * lib/wchar.in.h (mbsrtowcs): New declaration.
46791         * lib/mbsrtowcs.c: New file.
46792         * m4/mbsrtowcs.m4: New file.
46793         * modules/mbsrtowcs: New file.
46794         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
46795         HAVE_MBSRTOWCS.
46796         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
46797         HAVE_MBSRTOWCS.
46798         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
46799
46800 2008-12-19  Bruno Haible  <bruno@clisp.org>
46801
46802         New module 'mbrlen'.
46803         * lib/wchar.in.h (mbrlen): New declaration.
46804         * lib/mbrlen.c: New file.
46805         * m4/mbrlen.m4: New file.
46806         * modules/mbrlen: New file.
46807         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
46808         HAVE_MBRLEN.
46809         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
46810         HAVE_MBRLEN.
46811         * doc/posix-functions/mbrlen.texi: Document the new module.
46812
46813 2008-12-19  Bruno Haible  <bruno@clisp.org>
46814
46815         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
46816         * modules/mbrtowc (Depends-on): Add verify.
46817         Suggested by Paul Eggert.
46818
46819 2008-12-18  Bruno Haible  <bruno@clisp.org>
46820
46821         * modules/mbsinit-tests: New file.
46822         * tests/test-mbsinit.sh: New file.
46823         * tests/test-mbsinit.c: New file.
46824
46825 2008-12-18  Bruno Haible  <bruno@clisp.org>
46826
46827         * modules/mbrtowc-tests: New file.
46828         * tests/test-mbrtowc1.sh: New file.
46829         * tests/test-mbrtowc2.sh: New file.
46830         * tests/test-mbrtowc3.sh: New file.
46831         * tests/test-mbrtowc4.sh: New file.
46832         * tests/test-mbrtowc.c: New file.
46833
46834         New module 'mbrtowc'.
46835         * lib/wchar.in.h (mbstate_t): Override when the system does not have
46836         mbsinit and mbrtowc.
46837         (mbrtowc): New declaration.
46838         * lib/mbrtowc.c: New file.
46839         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
46840         * modules/mbrtowc: New file.
46841         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
46842         HAVE_MBRTOWC.
46843         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
46844         HAVE_MBRTOWC.
46845         * doc/posix-functions/mbrtowc.texi: Document the new module.
46846
46847 2008-12-18  Bruno Haible  <bruno@clisp.org>
46848
46849         New module 'wctob'.
46850         * lib/wchar.in.h (wctob): New declaration.
46851         * lib/wctob.c: New file.
46852         * m4/wctob.m4: New file.
46853         * modules/wctob: New file.
46854         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
46855         HAVE_WCTOB.
46856         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
46857         * doc/posix-functions/wctob.texi: Document the new module.
46858
46859 2008-12-18  Bruno Haible  <bruno@clisp.org>
46860
46861         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
46862         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
46863
46864 2008-12-18  Simon Josefsson  <simon@josefsson.org>
46865
46866         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
46867         G. Christensen" <tgc@jupiterrise.com>.
46868
46869         * lib/flock.c: Need to include errno.h.  Reported by "Tom
46870         G. Christensen" <tgc@jupiterrise.com>.
46871
46872         * lib/flock.c: Need to include string.h.  Reported by "Tom
46873         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
46874         <ebb9@byu.net>.
46875
46876 2008-12-18  Bruno Haible  <bruno@clisp.org>
46877
46878         * m4/locale-ja.m4: New file, from GNU gettext.
46879
46880 2008-12-17  Bruno Haible  <bruno@clisp.org>
46881
46882         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
46883         Suggested by Eric Blake.
46884
46885 2008-12-17  Bruno Haible  <bruno@clisp.org>
46886
46887         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
46888
46889 2008-12-17  Bruno Haible  <bruno@clisp.org>
46890
46891         * lib/mbsinit.c: Include verify.h. Verify an assumption.
46892         * modules/mbsinit (Depends-on): Add verify.
46893         Suggested by Paul Eggert.
46894
46895 2008-12-17  Bruno Haible  <bruno@clisp.org>
46896
46897         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
46898         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
46899         gl_FUNC_MBRTOWC.
46900         * m4/mbiter.m4 (gl_MBITER): LIkewise.
46901         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
46902         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
46903         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
46904         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
46905         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
46906         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
46907         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
46908         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
46909         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
46910         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
46911         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
46912         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
46913         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
46914         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
46915         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
46916         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
46917         * modules/trim (configure.ac): Likewise.
46918
46919 2008-12-17  Bruno Haible  <bruno@clisp.org>
46920
46921         * modules/btowc-tests: New file.
46922         * tests/test-btowc1.sh: New file.
46923         * tests/test-btowc2.sh: New file.
46924         * tests/test-btowc.c: New file.
46925
46926         New module 'btowc'.
46927         * lib/wchar.in.h (btowc): New declaration.
46928         * lib/btowc.c: New file.
46929         * m4/btowc.m4: New file.
46930         * modules/btowc: New file.
46931         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
46932         HAVE_BTOWC.
46933         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
46934         * doc/posix-functions/btowc.texi: Document the new module.
46935
46936 2008-12-17  Bruno Haible  <bruno@clisp.org>
46937
46938         New module 'mbsinit'.
46939         * lib/wchar.in.h (mbsinit): New declaration.
46940         * lib/mbsinit.c: New file.
46941         * m4/mbsinit.m4: New file.
46942         * modules/mbsinit: New file.
46943         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
46944         HAVE_MBSINIT.
46945         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
46946         HAVE_MBSINIT.
46947         * doc/posix-functions/mbsinit.texi: Document the new module.
46948
46949 2008-12-16  Bruno Haible  <bruno@clisp.org>
46950
46951         * lib/unistd.in.h: Add comment.
46952         * tests/test-environ.c: Don't include <stdlib.h>.
46953
46954 2008-12-16  Bruno Haible  <bruno@clisp.org>
46955
46956         * lib/parse-duration.h (parse_duration): Document return value
46957         convention.
46958         * lib/parse-duration.c: Include specification header first. Add
46959         comments.
46960         (_): Remove macro.
46961         (parse_year_month_day, parse_hour_minute_second): Move side effects
46962         outside of strchr call.
46963         (parse_non_iso8601): Move side effects outside of isspace call.
46964         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
46965         call.
46966
46967 2008-12-16  Bruno Haible  <bruno@clisp.org>
46968
46969         * tests/test-parse-duration.sh: Produce no output when the test
46970         succeeds.
46971
46972 2008-12-16  Bruno Haible  <bruno@clisp.org>
46973
46974         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
46975         expressions.
46976
46977 2008-12-15  Bruno Haible  <bruno@clisp.org>
46978
46979         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
46980         * doc/glibc-functions/flistxattr.texi: Likewise.
46981         * doc/glibc-functions/fopencookie.texi: Likewise.
46982         * doc/glibc-functions/fremovexattr.texi: Likewise.
46983         * doc/glibc-functions/fsetxattr.texi: Likewise.
46984         * doc/glibc-functions/getxattr.texi: Likewise.
46985         * doc/glibc-functions/lgetxattr.texi: Likewise.
46986         * doc/glibc-functions/listxattr.texi: Likewise.
46987         * doc/glibc-functions/llistxattr.texi: Likewise.
46988         * doc/glibc-functions/lremovexattr.texi: Likewise.
46989         * doc/glibc-functions/lsetxattr.texi: Likewise.
46990         * doc/glibc-functions/removexattr.texi: Likewise.
46991         * doc/glibc-functions/setxattr.texi: Likewise.
46992         * doc/posix-functions/open_memstream.texi: Likewise.
46993
46994 2008-12-15  Eric Blake  <ebb9@byu.net>
46995
46996         Update doc for cygwin 1.7.
46997         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
46998         functions.
46999         * doc/posix-functions/fchmodat.texi: Likewise.
47000         * doc/posix-functions/fchownat.texi: Likewise.
47001         * doc/posix-functions/fdopendir.texi: Likewise.
47002         * doc/posix-functions/fmemopen.texi: Likewise.
47003         * doc/posix-functions/freeaddrinfo.texi: Likewise.
47004         * doc/posix-functions/fstatat.texi: Likewise.
47005         * doc/posix-functions/futimens.texi: Likewise.
47006         * doc/posix-functions/gai_strerror.texi: Likewise.
47007         * doc/posix-functions/getaddrinfo.texi: Likewise.
47008         * doc/posix-functions/getnameinfo.texi: Likewise.
47009         * doc/posix-functions/if_freenameindex.texi: Likewise.
47010         * doc/posix-functions/if_indextoname.texi: Likewise.
47011         * doc/posix-functions/if_nameindex.texi: Likewise.
47012         * doc/posix-functions/if_nametoindex.texi: Likewise.
47013         * doc/posix-functions/insque.texi: Likewise.
47014         * doc/posix-functions/linkat.texi: Likewise.
47015         * doc/posix-functions/llrint.texi: Likewise.
47016         * doc/posix-functions/llrintf.texi: Likewise.
47017         * doc/posix-functions/llrintl.texi: Likewise.
47018         * doc/posix-functions/lockf.texi: Likewise.
47019         * doc/posix-functions/lrintl.texi: Likewise.
47020         * doc/posix-functions/mkdirat.texi: Likewise.
47021         * doc/posix-functions/mkfifoat.texi: Likewise.
47022         * doc/posix-functions/mknodat.texi: Likewise.
47023         * doc/posix-functions/mq_close.texi: Likewise.
47024         * doc/posix-functions/mq_getattr.texi: Likewise.
47025         * doc/posix-functions/mq_notify.texi: Likewise.
47026         * doc/posix-functions/mq_open.texi: Likewise.
47027         * doc/posix-functions/mq_receive.texi: Likewise.
47028         * doc/posix-functions/mq_send.texi: Likewise.
47029         * doc/posix-functions/mq_setattr.texi: Likewise.
47030         * doc/posix-functions/mq_timedreceive.texi: Likewise.
47031         * doc/posix-functions/mq_timedsend.texi: Likewise.
47032         * doc/posix-functions/mq_unlink.texi: Likewise.
47033         * doc/posix-functions/open_memstream.texi: Likewise.
47034         * doc/posix-functions/openat.texi: Likewise.
47035         * doc/posix-functions/posix_fadvise.texi: Likewise.
47036         * doc/posix-functions/posix_fallocate.texi: Likewise.
47037         * doc/posix-functions/posix_madvise.texi: Likewise.
47038         * doc/posix-functions/posix_memalign.texi: Likewise.
47039         * doc/posix-functions/posix_openpt.texi: Likewise.
47040         * doc/posix-functions/readlinkat.texi: Likewise.
47041         * doc/posix-functions/remque.texi: Likewise.
47042         * doc/posix-functions/renameat.texi: Likewise.
47043         * doc/posix-functions/rintl.texi: Likewise.
47044         * doc/posix-functions/sem_unlink.texi: Likewise.
47045         * doc/posix-functions/shm_open.texi: Likewise.
47046         * doc/posix-functions/shm_unlink.texi: Likewise.
47047         * doc/posix-functions/signgam.texi: Likewise.
47048         * doc/posix-functions/sigset.texi: Likewise.
47049         * doc/posix-functions/stpcpy.texi: Likewise.
47050         * doc/posix-functions/stpncpy.texi: Likewise.
47051         * doc/posix-functions/strerror.texi: Likewise.
47052         * doc/posix-functions/strtod.texi: Likewise.
47053         * doc/posix-functions/symlinkat.texi: Likewise.
47054         * doc/posix-functions/unlinkat.texi: Likewise.
47055         * doc/posix-functions/utimensat.texi: Likewise.
47056         * doc/glibc-functions/bindresvport.texi: Likewise.
47057         * doc/glibc-functions/dn_expand.texi: Likewise.
47058         * doc/glibc-functions/exp10.texi: Likewise.
47059         * doc/glibc-functions/exp10f.texi: Likewise.
47060         * doc/glibc-functions/fgetxattr.texi: Likewise.
47061         * doc/glibc-functions/flistxattr.texi: Likewise.
47062         * doc/glibc-functions/fopencookie.texi: Likewise.
47063         * doc/glibc-functions/freeifaddrs.texi: Likewise.
47064         * doc/glibc-functions/fremovexattr.texi: Likewise.
47065         * doc/glibc-functions/fsetxattr.texi: Likewise.
47066         * doc/glibc-functions/getifaddrs.texi: Likewise.
47067         * doc/glibc-functions/getxattr.texi: Likewise.
47068         * doc/glibc-functions/lgetxattr.texi: Likewise.
47069         * doc/glibc-functions/listxattr.texi: Likewise.
47070         * doc/glibc-functions/llistxattr.texi: Likewise.
47071         * doc/glibc-functions/lremovexattr.texi: Likewise.
47072         * doc/glibc-functions/lsetxattr.texi: Likewise.
47073         * doc/glibc-functions/pow10.texi: Likewise.
47074         * doc/glibc-functions/pow10f.texi: Likewise.
47075         * doc/glibc-functions/rcmd_af.texi: Likewise.
47076         * doc/glibc-functions/removexattr.texi: Likewise.
47077         * doc/glibc-functions/res_init.texi: Likewise.
47078         * doc/glibc-functions/res_mkquery.texi: Likewise.
47079         * doc/glibc-functions/res_query.texi: Likewise.
47080         * doc/glibc-functions/res_querydomain.texi: Likewise.
47081         * doc/glibc-functions/res_send.texi: Likewise.
47082         * doc/glibc-functions/rresvport_af.texi: Likewise.
47083         * doc/glibc-functions/setxattr.texi: Likewise.
47084         * doc/glibc-functions/strcasestr.texi: Likewise.
47085
47086 2008-12-15  Bruno Haible  <bruno@clisp.org>
47087
47088         Fix compilation error on OSF/1 4.0.
47089         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
47090         <sys/time.h>, simply delegate to the system header.
47091         Reported by Daniel Richard G. <oss@teragram.com>.
47092
47093 2008-12-15  Bruno Haible  <bruno@clisp.org>
47094
47095         * doc/posix-functions/openat.texi: Mention the 'openat' module.
47096         * doc/posix-functions/fchmodat.texi: Likewise.
47097         * doc/posix-functions/fchownat.texi: Likewise.
47098         * doc/posix-functions/fdopendir.texi: Likewise.
47099         * doc/posix-functions/fstatat.texi: Likewise.
47100         * doc/posix-functions/mkdirat.texi: Likewise.
47101         * doc/posix-functions/unlinkat.texi: Likewise.
47102
47103 2008-12-14  Bruno Haible  <bruno@clisp.org>
47104
47105         Update doc for POSIX:2008.
47106         * doc/posix-functions/faccessat.texi: New file.
47107         * doc/posix-functions/fchmodat.texi: New file.
47108         * doc/posix-functions/fchownat.texi: New file.
47109         * doc/posix-functions/fdopendir.texi: New file.
47110         * doc/posix-functions/fstatat.texi: New file.
47111         * doc/posix-functions/futimens.texi: New file.
47112         * doc/posix-functions/linkat.texi: New file.
47113         * doc/posix-functions/mkdirat.texi: New file.
47114         * doc/posix-functions/mkfifoat.texi: New file.
47115         * doc/posix-functions/mknodat.texi: New file.
47116         * doc/posix-functions/open_wmemstream.texi: New file.
47117         * doc/posix-functions/openat.texi: New file.
47118         * doc/posix-functions/psiginfo.texi: New file.
47119         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
47120         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
47121         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
47122         * doc/posix-functions/readlinkat.texi: New file.
47123         * doc/posix-functions/renameat.texi: New file.
47124         * doc/posix-functions/strerror_l.texi: New file.
47125         * doc/posix-functions/symlinkat.texi: New file.
47126         * doc/posix-functions/unlinkat.texi: New file.
47127         * doc/posix-functions/utimensat.texi: New file.
47128         * doc/gnulib.texi (Function Substitutes): Add these subsections.
47129
47130 2008-12-14  Bruno Haible  <bruno@clisp.org>
47131
47132         Update doc for POSIX:2008.
47133         * doc/posix-functions/alphasort.texi: Renamed from
47134         doc/glibc-functions/alphasort.texi.
47135         * doc/posix-functions/dirfd.texi: Renamed from
47136         doc/glibc-functions/dirfd.texi.
47137         * doc/posix-functions/dprintf.texi: Renamed from
47138         doc/glibc-functions/dprintf.texi.
47139         * doc/posix-functions/duplocale.texi: Renamed from
47140         doc/glibc-functions/duplocale.texi.
47141         * doc/posix-functions/fexecve.texi: Renamed from
47142         doc/glibc-functions/fexecve.texi.
47143         * doc/posix-functions/fmemopen.texi: Renamed from
47144         doc/glibc-functions/fmemopen.texi.
47145         * doc/posix-functions/freelocale.texi: Renamed from
47146         doc/glibc-functions/freelocale.texi.
47147         * doc/posix-functions/getdate_err.texi: Renamed from
47148         doc/glibc-functions/getdate_err.texi.
47149         * doc/posix-functions/isalnum_l.texi: Renamed from
47150         doc/glibc-functions/isalnum_l.texi.
47151         * doc/posix-functions/isalpha_l.texi: Renamed from
47152         doc/glibc-functions/isalpha_l.texi.
47153         * doc/posix-functions/isblank_l.texi: Renamed from
47154         doc/glibc-functions/isblank_l.texi.
47155         * doc/posix-functions/iscntrl_l.texi: Renamed from
47156         doc/glibc-functions/iscntrl_l.texi.
47157         * doc/posix-functions/isdigit_l.texi: Renamed from
47158         doc/glibc-functions/isdigit_l.texi.
47159         * doc/posix-functions/isgraph_l.texi: Renamed from
47160         doc/glibc-functions/isgraph_l.texi.
47161         * doc/posix-functions/islower_l.texi: Renamed from
47162         doc/glibc-functions/islower_l.texi.
47163         * doc/posix-functions/isprint_l.texi: Renamed from
47164         doc/glibc-functions/isprint_l.texi.
47165         * doc/posix-functions/ispunct_l.texi: Renamed from
47166         doc/glibc-functions/ispunct_l.texi.
47167         * doc/posix-functions/isspace_l.texi: Renamed from
47168         doc/glibc-functions/isspace_l.texi.
47169         * doc/posix-functions/isupper_l.texi: Renamed from
47170         doc/glibc-functions/isupper_l.texi.
47171         * doc/posix-functions/iswalnum_l.texi: Renamed from
47172         doc/glibc-functions/iswalnum_l.texi.
47173         * doc/posix-functions/iswalpha_l.texi: Renamed from
47174         doc/glibc-functions/iswalpha_l.texi.
47175         * doc/posix-functions/iswblank_l.texi: Renamed from
47176         doc/glibc-functions/iswblank_l.texi.
47177         * doc/posix-functions/iswcntrl_l.texi: Renamed from
47178         doc/glibc-functions/iswcntrl_l.texi.
47179         * doc/posix-functions/iswctype_l.texi: Renamed from
47180         doc/glibc-functions/iswctype_l.texi.
47181         * doc/posix-functions/iswdigit_l.texi: Renamed from
47182         doc/glibc-functions/iswdigit_l.texi.
47183         * doc/posix-functions/iswgraph_l.texi: Renamed from
47184         doc/glibc-functions/iswgraph_l.texi.
47185         * doc/posix-functions/iswlower_l.texi: Renamed from
47186         doc/glibc-functions/iswlower_l.texi.
47187         * doc/posix-functions/iswprint_l.texi: Renamed from
47188         doc/glibc-functions/iswprint_l.texi.
47189         * doc/posix-functions/iswpunct_l.texi: Renamed from
47190         doc/glibc-functions/iswpunct_l.texi.
47191         * doc/posix-functions/iswspace_l.texi: Renamed from
47192         doc/glibc-functions/iswspace_l.texi.
47193         * doc/posix-functions/iswupper_l.texi: Renamed from
47194         doc/glibc-functions/iswupper_l.texi.
47195         * doc/posix-functions/iswxdigit_l.texi: Renamed from
47196         doc/glibc-functions/iswxdigit_l.texi.
47197         * doc/posix-functions/isxdigit_l.texi: Renamed from
47198         doc/glibc-functions/isxdigit_l.texi.
47199         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
47200         doc/glibc-functions/mbsnrtowcs.texi.
47201         * doc/posix-functions/mkdtemp.texi: Renamed from
47202         doc/glibc-functions/mkdtemp.texi.
47203         * doc/posix-functions/newlocale.texi: Renamed from
47204         doc/glibc-functions/newlocale.texi.
47205         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
47206         doc/glibc-functions/nl_langinfo_l.texi.
47207         * doc/posix-functions/open_memstream.texi: Renamed from
47208         doc/glibc-functions/open_memstream.texi.
47209         * doc/posix-functions/opterr.texi: Renamed from
47210         doc/glibc-functions/opterr.texi.
47211         * doc/posix-functions/optind.texi: Renamed from
47212         doc/glibc-functions/optind.texi.
47213         * doc/posix-functions/optopt.texi: Renamed from
47214         doc/glibc-functions/optopt.texi.
47215         * doc/posix-functions/psignal.texi: Renamed from
47216         doc/glibc-functions/psignal.texi.
47217         * doc/posix-functions/scandir.texi: Renamed from
47218         doc/glibc-functions/scandir.texi.
47219         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
47220         doc/glibc-functions/sched_get_priority_min.texi.
47221         * doc/posix-functions/signgam.texi: Renamed from
47222         doc/glibc-functions/signgam.texi.
47223         * doc/posix-functions/stpcpy.texi: Renamed from
47224         doc/glibc-functions/stpcpy.texi.
47225         * doc/posix-functions/stpncpy.texi: Renamed from
47226         doc/glibc-functions/stpncpy.texi.
47227         * doc/posix-functions/strcasecmp_l.texi: Renamed from
47228         doc/glibc-functions/strcasecmp_l.texi.
47229         * doc/posix-functions/strcoll_l.texi: Renamed from
47230         doc/glibc-functions/strcoll_l.texi.
47231         * doc/posix-functions/strfmon_l.texi: Renamed from
47232         doc/glibc-functions/strfmon_l.texi.
47233         * doc/posix-functions/strftime_l.texi: Renamed from
47234         doc/glibc-functions/strftime_l.texi.
47235         * doc/posix-functions/strncasecmp_l.texi: Renamed from
47236         doc/glibc-functions/strncasecmp_l.texi.
47237         * doc/posix-functions/strndup.texi: Renamed from
47238         doc/glibc-functions/strndup.texi.
47239         * doc/posix-functions/strnlen.texi: Renamed from
47240         doc/glibc-functions/strnlen.texi.
47241         * doc/posix-functions/strsignal.texi: Renamed from
47242         doc/glibc-functions/strsignal.texi.
47243         * doc/posix-functions/strxfrm_l.texi: Renamed from
47244         doc/glibc-functions/strxfrm_l.texi.
47245         * doc/posix-functions/timer_gettime.texi: Renamed from
47246         doc/glibc-functions/timer_gettime.texi.
47247         * doc/posix-functions/tolower_l.texi: Renamed from
47248         doc/glibc-functions/tolower_l.texi.
47249         * doc/posix-functions/toupper_l.texi: Renamed from
47250         doc/glibc-functions/toupper_l.texi.
47251         * doc/posix-functions/towctrans_l.texi: Renamed from
47252         doc/glibc-functions/towctrans_l.texi.
47253         * doc/posix-functions/towlower_l.texi: Renamed from
47254         doc/glibc-functions/towlower_l.texi.
47255         * doc/posix-functions/towupper_l.texi: Renamed from
47256         doc/glibc-functions/towupper_l.texi.
47257         * doc/posix-functions/uselocale.texi: Renamed from
47258         doc/glibc-functions/uselocale.texi.
47259         * doc/posix-functions/vdprintf.texi: Renamed from
47260         doc/glibc-functions/vdprintf.texi.
47261         * doc/posix-functions/wcpcpy.texi:
47262         Renamed from doc/glibc-functions/wcpcpy.texi.
47263         * doc/posix-functions/wcpncpy.texi: Renamed from
47264         doc/glibc-functions/wcpncpy.texi.
47265         * doc/posix-functions/wcscasecmp.texi: Renamed from
47266         doc/glibc-functions/wcscasecmp.texi.
47267         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
47268         doc/glibc-functions/wcscasecmp_l.texi.
47269         * doc/posix-functions/wcscoll_l.texi: Renamed from
47270         doc/glibc-functions/wcscoll_l.texi.
47271         * doc/posix-functions/wcsdup.texi: Renamed from
47272         doc/glibc-functions/wcsdup.texi.
47273         * doc/posix-functions/wcsncasecmp.texi: Renamed from
47274         doc/glibc-functions/wcsncasecmp.texi.
47275         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
47276         doc/glibc-functions/wcsncasecmp_l.texi.
47277         * doc/posix-functions/wcsnlen.texi: Renamed from
47278         doc/glibc-functions/wcsnlen.texi.
47279         * doc/posix-functions/wcsnrtombs.texi: Renamed from
47280         doc/glibc-functions/wcsnrtombs.texi.
47281         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
47282         doc/glibc-functions/wcsxfrm_l.texi.
47283         * doc/posix-functions/wctrans_l.texi: Renamed from
47284         doc/glibc-functions/wctrans_l.texi.
47285         * doc/posix-functions/wctype_l.texi: Renamed from
47286         doc/glibc-functions/wctype_l.texi.
47287         * doc/gnulib.texi (Function Substitutes): Add these subsections.
47288         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
47289         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
47290         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
47291         these subsections.
47292         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
47293         Remove sections.
47294
47295 2008-12-14  Bruno Haible  <bruno@clisp.org>
47296
47297         Update doc for POSIX:2008.
47298         * doc/posix-functions/*.texi: Update URL of POSIX specification.
47299
47300 2008-12-14  Bruno Haible  <bruno@clisp.org>
47301
47302         Update doc for POSIX:2008.
47303         * doc/pastposix-functions/bcmp.texi: Renamed from
47304         doc/posix-functions/bcmp.texi.
47305         * doc/pastposix-functions/bcopy.texi: Renamed from
47306         doc/posix-functions/bcopy.texi.
47307         * doc/pastposix-functions/bsd_signal.texi: Renamed from
47308         doc/posix-functions/bsd_signal.texi.
47309         * doc/pastposix-functions/bzero.texi: Renamed from
47310         doc/posix-functions/bzero.texi.
47311         * doc/pastposix-functions/ecvt.texi: Renamed from
47312         doc/posix-functions/ecvt.texi.
47313         * doc/pastposix-functions/fcvt.texi: Renamed from
47314         doc/posix-functions/fcvt.texi.
47315         * doc/pastposix-functions/ftime.texi: Renamed from
47316         doc/posix-functions/ftime.texi.
47317         * doc/pastposix-functions/gcvt.texi: Renamed from
47318         doc/posix-functions/gcvt.texi.
47319         * doc/pastposix-functions/getcontext.texi: Renamed from
47320         doc/posix-functions/getcontext.texi.
47321         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
47322         doc/posix-functions/gethostbyaddr.texi.
47323         * doc/pastposix-functions/gethostbyname.texi: Renamed from
47324         doc/posix-functions/gethostbyname.texi.
47325         * doc/pastposix-functions/getwd.texi: Renamed from
47326         doc/posix-functions/getwd.texi.
47327         * doc/pastposix-functions/h_errno.texi: Renamed from
47328         doc/posix-functions/h_errno.texi.
47329         * doc/pastposix-functions/index.texi: Renamed from
47330         doc/posix-functions/index.texi.
47331         * doc/pastposix-functions/makecontext.texi: Renamed from
47332         doc/posix-functions/makecontext.texi.
47333         * doc/pastposix-functions/mktemp.texi: Renamed from
47334         doc/posix-functions/mktemp.texi.
47335         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
47336         doc/posix-functions/pthread_attr_getstackaddr.texi.
47337         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
47338         doc/posix-functions/pthread_attr_setstackaddr.texi.
47339         * doc/pastposix-functions/rindex.texi: Renamed from
47340         doc/posix-functions/rindex.texi.
47341         * doc/pastposix-functions/scalb.texi: Renamed from
47342         doc/posix-functions/scalb.texi.
47343         * doc/pastposix-functions/setcontext.texi: Renamed from
47344         doc/posix-functions/setcontext.texi.
47345         * doc/pastposix-functions/swapcontext.texi: Renamed from
47346         doc/posix-functions/swapcontext.texi.
47347         * doc/pastposix-functions/ualarm.texi: Renamed from
47348         doc/posix-functions/ualarm.texi.
47349         * doc/pastposix-functions/usleep.texi: Renamed from
47350         doc/posix-functions/usleep.texi.
47351         * doc/pastposix-functions/vfork.texi: Renamed from
47352         doc/posix-functions/vfork.texi.
47353         * doc/pastposix-functions/wcswcs.texi: Renamed from
47354         doc/posix-functions/wcswcs.texi.
47355         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
47356         (Function Substitutes): Update.
47357
47358 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47359
47360         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
47361         m4/strerror.m4.
47362
47363 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47364             Bruno Haible  <bruno@clisp.org>
47365
47366         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
47367
47368 2008-12-13  Bruno Haible  <bruno@clisp.org>
47369
47370         * modules/strtoull (Depends-on): Remove unistd.
47371
47372 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47373
47374         * modules/strtoull (Depends-on): Add stdlib.
47375
47376 2008-12-11  Simon Josefsson  <simon@josefsson.org>
47377
47378         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
47379
47380 2008-12-10  Jim Meyering  <meyering@redhat.com>
47381
47382         gl_ASSERT: don't say assertions are disabled when they're not
47383         * m4/assert.m4 (gl_ASSERT): Do not make configure report
47384         "checking whether to enable assertions... no", when they are in
47385         fact enabled.  This is solely a bug in the output of configure.
47386         In spite of saying "no", NDEBUG was not defined in that case.
47387         Also, as noted by Eric Blake, leave assertions enabled upon
47388         --enable-assert=INVALID.
47389
47390 2008-12-10  Bruno Haible  <bruno@clisp.org>
47391
47392         Change MODULES.html to refer to POSIX:2008 where possible.
47393         * MODULES.html.sh (POSIX2008_URL): New variable.
47394         (posix_headers): Remove sys/timeb, ucontext.
47395         (posix2001_headers): New variable.
47396         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
47397         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
47398         index, makecontext, mktemp, pthread_attr_getstackaddr,
47399         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
47400         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
47401         (posix2001_functions): New variable.
47402         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
47403         otherwise.
47404
47405 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47406
47407         add missing include to parse-duration.c
47408         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
47409         * modules/parse-duration (Depends-on): Add xalloc.
47410
47411         fix sed script reading maint.mk
47412         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
47413         (syntax-check-rules): Use it.
47414
47415 2008-12-09  Bruno Haible  <bruno@clisp.org>
47416
47417         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
47418         MacOS X 10.4/PowerPC.
47419         Reported by Simon Josefsson.
47420
47421 2008-12-08  Jim Meyering  <meyering@redhat.com>
47422
47423         work around mingw's lack of some S_IF definitions
47424         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
47425         Reported by Simon Josefsson.
47426
47427 2008-12-08  Bruno Haible  <bruno@clisp.org>
47428
47429         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
47430         applied to variables. Needed on MacOS X 10.4/PowerPC.
47431         Reported by Simon Josefsson.
47432
47433 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
47434         and Eric Blake  <ebb9@byu.net>
47435
47436         assert: honor --enable-assert
47437         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
47438         order to honor --enable-assert, rather than treating it as a
47439         synonym for --disable-assert.
47440
47441 2008-12-08  Jim Meyering  <meyering@redhat.com>
47442
47443         * lib/posixtm.c: Remove now-useless declaration of mktime.
47444
47445         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
47446
47447 2008-12-07  Bruno Haible  <bruno@clisp.org>
47448
47449         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
47450         test_once): Mark functions as static.
47451         * tests/test-tls.c (test_tls): Likewise.
47452
47453 2008-12-07  Bruno Haible  <bruno@clisp.org>
47454
47455         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
47456         iconv_register_autodetect.
47457
47458 2008-12-07  Jim Meyering  <meyering@redhat.com>
47459
47460         posixtm.c: avoid a warning
47461         * lib/posixtm.c (posixtime): Don't initialize tm0.
47462         It's no longer needed to placate gcc4's -Wuninitialized,
47463         and the attempt to placate would elicit a new warning.
47464
47465         unicodeio.c: mark unused parameters
47466         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
47467         (fallback_failure_callback): Likewise.
47468
47469 2008-12-07  Bruno Haible  <bruno@clisp.org>
47470
47471         * gnulib-tool (func_create_testdir): When building the tests
47472         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
47473         Reported by Simon Josefsson.
47474
47475 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47476
47477         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
47478
47479 2008-12-06  Bruno Haible  <bruno@clisp.org>
47480
47481         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
47482         Suggested by Eric Blake.
47483
47484 2008-12-06  Bruno Haible  <bruno@clisp.org>
47485
47486         Fix a c-stack test failure on MacOS X.
47487         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
47488         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
47489         handler for SIGBUS as well.
47490         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
47491         install a signal handler for SIGBUS as well.
47492         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
47493
47494 2008-12-06  Bruno Haible  <bruno@clisp.org>
47495
47496         Advocacy documentation.
47497         * doc/gnulib-intro.texi (Benefits): New section.
47498         * doc/gnulib.texi: Update.
47499
47500 2008-12-06  Bruno Haible  <bruno@clisp.org>
47501
47502         Document the 'manywarnings' module.
47503         * doc/manywarnings.texi: New file.
47504         * doc/gnulib.texi: Include it.
47505
47506 2008-12-05  Eric Blake  <ebb9@byu.net>
47507
47508         tests: silence some gcc warnings
47509         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
47510         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
47511         type mismatches.
47512
47513 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47514             Bruno Haible  <bruno@clisp.org>
47515
47516         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
47517
47518 2008-11-29  Jim Meyering  <meyering@redhat.com>
47519
47520         unicodeio.c: mark unused parameters
47521         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
47522         (fallback_failure_callback): Likewise.
47523
47524         fts: fix a thinko
47525         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
47526         (set_stat_type): Return S_IF*-valued "type" directly.
47527         Prompted by James Youngman's spotting a related bug.
47528         Confirmed by further testing through find.
47529
47530         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
47531         * lib/fts.c (D_TYPE): Define.
47532         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
47533         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
47534         (s_ifmt_shift_bits): New function.
47535         (set_stat_type): New function.
47536         (fts_build): When not calling fts_stat, call set_stat_type
47537         to propagate dirent.d_type info to fts_read caller.
47538         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
47539         fts_statp->st_mode type information may be valid.
47540
47541 2008-11-28  Simon Josefsson  <simon@josefsson.org>
47542
47543         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
47544         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
47545         <sds@gnu.org>.
47546
47547 2008-11-20  Bruno Haible  <bruno@clisp.org>
47548
47549         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
47550         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
47551         INCLUDE_NEXT.
47552         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
47553         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
47554         * modules/math (Makefile.am): Substitute
47555         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
47556         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47557
47558 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
47559             Bruno Haible  <bruno@clisp.org>
47560
47561         * lib/stdint.in.h: Define all type macros so that their expansion is
47562         a single typedef'ed token. Fixes a compilation failure in Boost which
47563         does "using ::int8_t;".
47564
47565 2008-11-18  Simon Josefsson  <simon@josefsson.org>
47566
47567         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
47568         gl_MANYWARN_ALL_GCC.
47569         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
47570         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
47571         * modules/manywarnings: New file.
47572         * MODULES.html.sh: Mention manywarnings module.
47573
47574 2008-11-18  Bruno Haible  <bruno@clisp.org>
47575
47576         * doc/gnulib-tool.texi (Unit tests): New section.
47577
47578 2008-11-18  Simon Josefsson  <simon@josefsson.org>
47579
47580         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
47581         paths like 'lib/po/foo.po'.
47582
47583 2008-11-17  Simon Josefsson  <simon@josefsson.org>
47584
47585         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
47586         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
47587
47588 2008-11-17  Simon Josefsson  <simon@josefsson.org>
47589
47590         * m4/warnings.m4: Use CPPFLAGS to really check whether the
47591         parameter works.
47592
47593 2008-11-17  Simon Josefsson  <simon@josefsson.org>
47594
47595         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
47596
47597 2008-11-17  Bruce Korb  <bkorb@gnu.org>
47598
47599         * modules/parse-duration-tests: New file.
47600         * tests/test-parse-duration.sh: New file.
47601         * tests/test-parse-duration.c: New file.
47602
47603         New module 'parse-duration'.
47604         * lib/parse-duration.h: New file.
47605         * lib/parse-duration.c: New file.
47606         * modules/parse-duration: New file.
47607
47608 2008-11-17  Bruno Haible  <bruno@clisp.org>
47609
47610         * tests/test-select-out.sh: Comment out the first pipe test.
47611         Reported by Simon Josefsson.
47612
47613 2008-11-17  Bruno Haible  <bruno@clisp.org>
47614
47615         * modules/getaddrinfo (Depends-on): Add servent, hostent.
47616         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
47617         gl_HOSTENT.
47618
47619 2008-11-17  Bruno Haible  <bruno@clisp.org>
47620
47621         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
47622         -lnetwork and -lnet. Needed for Haiku and BeOS.
47623
47624 2008-11-16  Bruno Haible  <bruno@clisp.org>
47625
47626         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
47627
47628 2008-11-16  Bruno Haible  <bruno@clisp.org>
47629
47630         Avoid test failure on Haiku.
47631         * tests/test-fsync.c: Include <errno.h>.
47632         (main): Don't require that fsync (0) fails.
47633
47634 2008-11-15  Bruno Haible  <bruno@clisp.org>
47635
47636         New module 'hostent'.
47637         * modules/hostent: New file.
47638         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
47639
47640 2008-11-15  Bruno Haible  <bruno@clisp.org>
47641
47642         New module 'servent'.
47643         * modules/servent: New file.
47644         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
47645
47646 2008-11-15  Bruno Haible  <bruno@clisp.org>
47647
47648         Avoid generating same test program with two different rules.
47649         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
47650         test-frexp to test-frexp-nolibm.
47651         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
47652         test-frexpl to test-frexpl-nolibm.
47653
47654 2008-11-15  Bruno Haible  <bruno@clisp.org>
47655
47656         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
47657         $(FREXPL_LIBM).
47658
47659 2008-11-15  Bruno Haible  <bruno@clisp.org>
47660
47661         * lib/netdb.in.h: Activate the definitions also when the system's
47662         <netdb.h> has 'struct addrinfo'.
47663         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
47664         EAI_OVERFLOW or AI_NUMERICSERV.
47665         * doc/posix-headers/netdb.texi: Document the problem.
47666
47667 2008-11-15  Bruno Haible  <bruno@clisp.org>
47668
47669         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
47670
47671         Make the 'sched' module work on platforms where <sched.h> exists but
47672         is incomplete (such as Haiku).
47673         * lib/sched.in.h; Include the system's <sched.h> if it exists.
47674         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
47675         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
47676         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
47677         HAVE_STRUCT_SCHED_PARAM.
47678         * modules/sched (Depends-on): Add include_next.
47679         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
47680         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
47681         * doc/posix-headers/sched.texi: Document the issue.
47682
47683 2008-11-13  Jim Meyering  <meyering@redhat.com>
47684
47685         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
47686         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
47687         test would fail due to the difference in the Report bugs to ...
47688         line.  The expected address is empty, "<>", while the actual
47689         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
47690
47691 2008-11-12  Bruno Haible  <bruno@clisp.org>
47692
47693         lstat: don't compile lstat.c on systems lacking lstat
47694         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
47695         which don't have lstat; this is handled by lib/sys_stat.in.h already.
47696         Reported by Daniel P. Berrange via Jim Meyering.
47697
47698 2008-11-12  Jim Meyering  <meyering@redhat.com>
47699
47700         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
47701
47702 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47703
47704         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
47705         instead.
47706
47707 2008-11-12  Bruno Haible  <bruno@clisp.org>
47708
47709         * lib/unicodeio.c: Include unistr.h.
47710         (utf8_wctomb): Remove function.
47711         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
47712
47713 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47714
47715         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
47716         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
47717         <bruno@clisp.org>.
47718         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
47719
47720 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47721
47722         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
47723         * doc/gnulib.texi: Add section for warnings.
47724
47725 2008-11-11  Bruno Haible  <bruno@clisp.org>
47726
47727         * lib/sockets.h: Add a comment.
47728
47729 2008-11-11  Karl Berry  <karl@gnu.org>
47730
47731         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
47732
47733 2008-11-11  Eric Blake  <ebb9@byu.net>
47734
47735         fdl.texi: avoid git symlinks
47736         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
47737
47738 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47739
47740         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
47741
47742 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47743
47744         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
47745         (gl_WARN_ADD): Substitute $2 if literal.
47746
47747 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47748
47749         * m4/warning.m4: Remove.
47750
47751 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47752
47753         * m4/warnings.m4: Almost complete rewrite. :-)
47754
47755 2008-11-10  Simon Josefsson  <simon@josefsson.org>
47756
47757         * modules/warnings: New module.
47758         * m4/warnings.m4: New file.
47759         * MODULES.html.sh: Mention warnings module.
47760         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
47761         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47762
47763 2008-11-10  Eric Blake  <ebb9@byu.net>
47764
47765         fdl.texi: make a symlink to the latest version
47766         * doc/standards.texi: Revert today's earlier change.
47767         * doc/fdl-1.2.texi: Rename from old fdl.texi...
47768         * doc/fdl.texi: ...and replace this with a symlink to the newer
47769         fdl-1.3.texi.
47770
47771 2008-11-10  Bruno Haible  <bruno@clisp.org>
47772
47773         * tests/test-select-fd.c (main): Accept the result file name as fourth
47774         argument.
47775         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
47776         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
47777
47778 2008-11-10  Bruno Haible  <bruno@clisp.org>
47779
47780         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
47781         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
47782         as autoconf-substituted macros.
47783         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
47784         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
47785         gl_NETDB_H_DEFAULTS. Set these variables.
47786         * modules/netdb (Makefile.am): Substitute these variables.
47787
47788 2008-11-10  Eric Blake  <ebb9@byu.net>
47789
47790         standards.texi: include correct file for FDL 1.3
47791         * doc/standards.texi (GNU Free Documentation License): Change
47792         include file to pull in FDL 1.3, not 1.2.
47793
47794         fdl.texi: revert accidental change to license
47795         * doc/fdl.texi: This is FDL 1.2, not 1.3.
47796
47797 2008-11-10  Bruno Haible  <bruno@clisp.org>
47798
47799         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
47800         cross-compiling guesses also when the native compile gives no result.
47801
47802 2008-11-10  Bruno Haible  <bruno@clisp.org>
47803
47804         * lib/spawni.c (__spawni): Force variable into the stack.
47805
47806 2008-11-10  Bruno Haible  <bruno@clisp.org>
47807
47808         Add support for Haiku.
47809         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
47810         glibc and BeOS, but also on Haiku.
47811         * lib/fpurge.c (fpurge): Likewise.
47812         * lib/freadable.c (freadable): Likewise.
47813         * lib/freadahead.c (freadahead): Likewise.
47814         * lib/freading.c (freading): Likewise.
47815         * lib/freadptr.c (freadptr): Likewise.
47816         * lib/freadseek.c (freadptrinc): Likewise.
47817         * lib/fseeko.c (rpl_fseeko): Likewise.
47818         * lib/fseterr.c (fseterr): Likewise.
47819         * lib/fwritable.c (fwritable): Likewise.
47820         * lib/fwriting.c (fwriting): Likewise.
47821         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
47822
47823 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
47824
47825         * lib/config.charset: Treat Haiku like BeOS.
47826
47827 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
47828
47829         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
47830         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
47831
47832 2008-11-08  Bruno Haible  <bruno@clisp.org>
47833
47834         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
47835         AC_CACHE_CHECK.
47836
47837 2008-11-08  Bruno Haible  <bruno@clisp.org>
47838
47839         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
47840
47841 2008-11-08  Bruno Haible  <bruno@clisp.org>
47842
47843         * tests/test-select-fd.c: New file.
47844         * tests/test-select-in.sh: New file.
47845         * tests/test-select-out.sh: New file.
47846         * tests/test-select-stdin.c: New file.
47847         * modules/select-tests (Files): Add the new files.
47848         (Depends-on): Add gettimeofday.
47849         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
47850         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
47851         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
47852
47853 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
47854             Bruno Haible  <bruno@clisp.org>
47855
47856         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
47857
47858 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
47859
47860         * build-aux/pmccabe2html: Added support for C++ source files.
47861
47862 2008-11-05  Ben Pfaff  <blp@gnu.org>
47863
47864         Fix lib/close.c build on Windows.
47865         * modules/close (Files): Add lib/w32sock.h.
47866
47867 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
47868
47869         Accept Bison's NEWS format.
47870         * build-aux/announce-gen (print_news_deltas): Tweak
47871         $re_prefix.
47872
47873 2008-11-04  Bruno Haible  <bruno@clisp.org>
47874
47875         * modules/random_r (Maintainer): Add glibc.
47876
47877 2008-11-04  Simon Josefsson  <simon@josefsson.org>
47878
47879         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
47880         by karl@freefriends.org (Karl Berry).
47881         * doc/alloca.texi: Likewise.
47882         * doc/c-ctype.texi: Likewise.
47883         * doc/c-strcase.texi: Likewise.
47884         * doc/c-strcaseeq.texi: Likewise.
47885         * doc/c-strcasestr.texi: Likewise.
47886         * doc/c-strstr.texi: Likewise.
47887         * doc/c-strtod.texi: Likewise.
47888         * doc/c-strtold.texi: Likewise.
47889         * doc/ctime.texi: Likewise.
47890         * doc/error.texi: Likewise.
47891         * doc/fdl.texi: Likewise.
47892         * doc/gcd.texi: Likewise.
47893         * doc/getdate.texi: Likewise.
47894         * doc/gnulib-intro.texi: Likewise.
47895         * doc/gnulib-tool.texi: Likewise.
47896         * doc/gnulib.texi: Likewise.
47897         * doc/inet_ntoa.texi: Likewise.
47898         * doc/maintain.texi: Likewise.
47899         * doc/make-stds.texi: Likewise.
47900         * doc/quote.texi: Likewise.
47901         * doc/regexprops-generic.texi: Likewise.
47902         * doc/standards.texi: Likewise.
47903         * doc/verify.texi: Likewise.
47904         * doc/visibility.texi: Likewise.
47905         * doc/gnulib.texi (GNU Free Documentation License): Include
47906         fdl-1.3.texi instead of fdl.texi.
47907
47908 2008-11-04  Simon Josefsson  <simon@josefsson.org>
47909
47910         * doc/fdl-1.3.texi: New file, from
47911         <http://www.gnu.org/licenses/fdl-1.3.texi>.
47912         * modules/fdl-1.3: Add.
47913         * MODULES.html.sh: Add fdl-1.3.
47914
47915 2008-11-03  Bruno Haible  <bruno@clisp.org>
47916
47917         Make determination of absolute name of header file work with AIX xlc.
47918         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
47919         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
47920         preprocessing.
47921         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
47922         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
47923
47924 2008-11-03  Simon Josefsson  <simon@josefsson.org>
47925
47926         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
47927         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
47928         <ludo@gnu.org>.
47929
47930 2008-11-02  Bruno Haible  <bruno@clisp.org>
47931
47932         Mark 'strpbrk' obsolete.
47933         * modules/strpbrk (Status, Notice): New sections.
47934         * modules/strtok_r (Depends-on): Add strpbrk.
47935
47936 2008-11-02  Bruno Haible  <bruno@clisp.org>
47937
47938         Mark 'strdup' obsolete.
47939         * modules/strdup (Status, Notice): New sections.
47940         * modules/findprog (Depends-on): Add strdup.
47941         * modules/getaddrinfo (Depends-on): Likewise.
47942         * modules/localename (Depends-on): Likewise.
47943         * modules/relocatable-lib (Depends-on): Likewise.
47944         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
47945         * modules/relocatable-prog (Depends-on): Likewise.
47946         * modules/trim (Depends-on): Likewise.
47947         * modules/unictype/gen-ctype (Depends-on): Likewise.
47948         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
47949
47950 2008-11-02  Bruno Haible  <bruno@clisp.org>
47951
47952         Mark 'strcspn' obsolete.
47953         * modules/strcspn (Status, Notice): New sections.
47954
47955 2008-11-02  Bruno Haible  <bruno@clisp.org>
47956
47957         Mark 'rmdir' obsolete.
47958         * modules/rmdir (Status, Notice): New sections.
47959         * modules/clean-temp (Depends-on): Add rmdir.
47960         * modules/openat (Depends-on): Likewise.
47961
47962 2008-11-02  Bruno Haible  <bruno@clisp.org>
47963
47964         Mark 'raise' obsolete.
47965         * modules/raise (Status, Notice): New sections.
47966         (Include): Specify <signal.h>.
47967         * modules/stdio (Depends-on): Add raise.
47968         * modules/write (Depends-on): Likewise.
47969
47970 2008-11-02  Bruno Haible  <bruno@clisp.org>
47971
47972         Mark 'memset' obsolete.
47973         * modules/memset (Status, Notice): New sections.
47974
47975 2008-11-02  Bruno Haible  <bruno@clisp.org>
47976
47977         Mark 'memmove' obsolete.
47978         * modules/memmove (Status, Notice): New sections.
47979         * modules/argp (Depends-on): Add memmove.
47980         * modules/argz (Depends-on): Likewise.
47981         * modules/canonicalize (Depends-on): Likewise.
47982         * modules/canonicalize-lgpl (Depends-on): Likewise.
47983         * modules/fts (Depends-on): Likewise.
47984         * modules/getcwd (Depends-on): Likewise.
47985         * modules/human (Depends-on): Likewise.
47986         * modules/regex (Depends-on): Likewise.
47987         * modules/striconveh (Depends-on): Likewise.
47988         * modules/trim (Depends-on): Likewise.
47989         * modules/unistr/u8-move (Depends-on): Likewise.
47990         * modules/unistr/u16-move (Depends-on): Likewise.
47991         * modules/unistr/u32-move (Depends-on): Likewise.
47992
47993 2008-11-02  Bruno Haible  <bruno@clisp.org>
47994
47995         Mark 'memcpy' obsolete.
47996         * modules/memcpy (Status, Notice): New sections.
47997
47998 2008-11-02  Bruno Haible  <bruno@clisp.org>
47999
48000         Mark 'memcmp' obsolete.
48001         * modules/memcmp (Status, Notice): New sections.
48002         * modules/argmatch (Depends-on): Add memchr.
48003         * modules/backupfile (Depends-on): Likewise.
48004         * modules/c-strcasestr (Depends-on): Likewise.
48005         * modules/crypto/des (Depends-on): Likewise.
48006         * modules/csharpcomp (Depends-on): Likewise.
48007         * modules/fnmatch (Depends-on): Likewise.
48008         * modules/git-merge-changelog (Depends-on): Likewise.
48009         * modules/isnand (Depends-on): Likewise.
48010         * modules/isnand-nolibm (Depends-on): Likewise.
48011         * modules/isnanf (Depends-on): Likewise.
48012         * modules/isnanf-nolibm (Depends-on): Likewise.
48013         * modules/isnanl (Depends-on): Likewise.
48014         * modules/isnanl-nolibm (Depends-on): Likewise.
48015         * modules/mbchar (Depends-on): Likewise.
48016         * modules/memcoll (Depends-on): Likewise.
48017         * modules/quotearg (Depends-on): Likewise.
48018         * modules/regex (Depends-on): Likewise.
48019         * modules/relocatable-prog (Depends-on): Likewise.
48020         * modules/same (Depends-on): Likewise.
48021         * modules/signbit (Depends-on): Likewise.
48022         * modules/strcasestr-simple (Depends-on): Likewise.
48023         * modules/unictype/gen-ctype (Depends-on): Likewise.
48024         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
48025         * modules/uniname/uniname (Depends-on): Likewise.
48026         * modules/unistr/u8-cmp (Depends-on): Likewise.
48027
48028 2008-11-02  Bruno Haible  <bruno@clisp.org>
48029
48030         Mark 'memchr' obsolete.
48031         * modules/memchr (Status, Notice): New sections.
48032         * modules/argp (Depends-on): Add memchr.
48033         * modules/base64 (Depends-on): Likewise.
48034         * modules/c-strcasestr (Depends-on): Likewise.
48035         * modules/chdir-long (Depends-on): Likewise.
48036         * modules/fnmatch (Depends-on): Likewise.
48037         * modules/getsubopt (Depends-on): Likewise.
48038         * modules/git-merge-changelog (Depends-on): Likewise.
48039         * modules/glob (Depends-on): Likewise.
48040         * modules/strcasestr-simple (Depends-on): Likewise.
48041         * modules/strnlen (Depends-on): Likewise.
48042
48043 2008-11-02  Bruno Haible  <bruno@clisp.org>
48044
48045         Mark 'atexit' obsolete.
48046         * modules/atexit (Status, Notice): New sections.
48047         * modules/chdir-long (Depends-on): Add atexit.
48048         * modules/wait-process (Depends-on): Likewise.
48049
48050 2008-11-02  Bruno Haible  <bruno@clisp.org>
48051
48052         * gnulib-tool: New option --with-obsolete.
48053         (func_usage): Document it.
48054         (func_modules_transitive_closure): Drop obsolete dependencies if
48055         incobsolete is not true.
48056         (func_import): Read and save the incobsolete variable to the cache.
48057
48058 2008-11-02  Bruno Haible  <bruno@clisp.org>
48059
48060         * modules/TEMPLATE-EXTENDED: New field 'Status'.
48061         * gnulib-tool: New option --extract-status.
48062         (func_usage): Document it.
48063         (sed_extract_prog): Recognize it.
48064         (func_get_status): New function.
48065
48066 2008-10-30  Simon Josefsson  <simon@josefsson.org>
48067
48068         * modules/sockets (License): Change from LGPL to LGPLv2+.
48069
48070 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48071
48072         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
48073
48074 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48075
48076         * MODULES.html.sh (Support for systems lacking POSIX:2001):
48077         Mention times and sys_times.
48078         * modules/sys_times, modules/sys_times-tests: New modules.
48079         * modules/times, modules/times-tests: Likewise
48080         * m4/sys_times_h.m4: New file.
48081         * lib/sys_times.in.h: Likewise
48082         * lib/times.c: Likewise.
48083         * tests/test-sys_times.c: Likewise.
48084         * tests/test-times.c: Likewise.
48085         * doc/posix-headers/sys_times.texi: Update.
48086         * doc/posix-functions/times.texi: Update.
48087
48088 2008-10-28  Jim Meyering  <meyering@redhat.com>
48089
48090         * modules/tempname (Depends-on): Add lstat.
48091
48092         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
48093
48094 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48095
48096         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
48097         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
48098         using idiom used elsewhere in gnulib.
48099
48100 2008-10-27  Jim Meyering  <meyering@redhat.com>
48101
48102         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
48103
48104 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48105
48106         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
48107         TESTS_ENVIRONMENT, for shell scripts that needs to call built
48108         programs.
48109         * tests/test-argp-2.sh: Use $EXEEXT when needed.
48110
48111 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48112
48113         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
48114
48115 2008-10-27  Bruno Haible  <bruno@clisp.org>
48116
48117         * tests/test-lstat.c: Include <stdio.h>.
48118
48119 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48120
48121         * modules/lstat-tests: New module.
48122         * tests/test-lstat.c: New file.
48123
48124 2008-10-26  Jim Meyering  <meyering@redhat.com>
48125
48126         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
48127
48128 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48129             Bruno Haible  <bruno@clisp.org>
48130
48131         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
48132         * modules/configmake (Include): Add a note that the include must come
48133         after all system headers.
48134         * lib/javaversion.c: Include configmake.h after all other includes.
48135
48136 2008-10-26  Bruno Haible  <bruno@clisp.org>
48137
48138         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
48139         HAVE_STRUCT_RANDOM_DATA to 1.
48140         (gl_STDLIB_H): Simplify.
48141
48142 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48143
48144         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
48145         substitute HAVE_STRUCT_RANDOM_DATA.
48146         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
48147         random_data.
48148         * modules/stdlib (Makefile.am): Substitute
48149         HAVE_STRUCT_RANDOM_DATA.
48150
48151 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48152
48153         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
48154         * doc/gnulib-intro.texi (Copyright): Likewise.
48155
48156 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48157
48158         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
48159         findings.
48160
48161 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
48162             Bruno Haible  <bruno@clisp.org>
48163
48164         * lib/unistd.in.h: Include <winsock2.h>.
48165         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
48166         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
48167         Provide dummy declarations.
48168         (gethostname): Override.
48169         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
48170         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
48171         gl_PREREQ_SYS_H_WINSOCK2.
48172         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
48173         * doc/posix-functions/gethostname.texi: More details.
48174
48175 2008-10-25  Bruno Haible  <bruno@clisp.org>
48176
48177         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
48178         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
48179         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
48180
48181         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
48182         here ...
48183         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
48184         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
48185         gl_UNISTD_H_DEFAULTS.
48186
48187 2008-10-25  Eric Blake  <ebb9@byu.net>
48188
48189         signbit: avoid spurious compiler failure
48190         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
48191         declarations inside function.
48192
48193 2008-10-24  Simon Josefsson  <simon@josefsson.org>
48194             Bruno Haible  <bruno@clisp.org>
48195
48196         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
48197         * modules/random_r (Depends-on): Add stdint.
48198
48199 2008-10-24  Bruno Haible  <bruno@clisp.org>
48200
48201         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
48202         Eggert.
48203         * modules/strerror (License): Likewise.
48204
48205 2008-10-24  Jim Meyering  <meyering@redhat.com>
48206
48207         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
48208         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
48209
48210 2008-10-24  Eric Blake  <ebb9@byu.net>
48211
48212         getgroups: fix compilation when getgroups is available
48213         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
48214         but with <config.h> override of getgroups disabled.
48215
48216 2008-10-24  Simon Josefsson  <simon@josefsson.org>
48217
48218         * doc/gnulib.texi (Header files): Add note about C++ problems.
48219         Explained by Bruno Haible <bruno@clisp.org>.
48220
48221 2008-10-23  Bruno Haible  <bruno@clisp.org>
48222
48223         Define a dummy SA_NODEFER macro on Interix.
48224         * lib/signal.in.h (SA_NODEFER): Define fallback.
48225         Reported by Aleksey Cheusov <cheusov@tut.by> via
48226         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
48227
48228 2008-10-23  Bruno Haible  <bruno@clisp.org>
48229
48230         * modules/freadahead (License): Change to LGPLv2+.
48231         Suggested by Simon Josefsson.
48232
48233 2008-10-23  Jim Meyering  <meyering@redhat.com>
48234
48235         random_r: new module
48236         * modules/random_r: New file.
48237         * m4/random_r.m4: New file.
48238         * lib/random_r.c: New file, from glibc.
48239         * modules/random_r-tests: New file.
48240         * tests/test-random_r.c: New file.
48241         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
48242          Declare.
48243         (RAND_MAX): Define.
48244         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
48245         * modules/stdlib: Substitute them, too.
48246         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
48247         * doc/glibc-functions/initstate_r.texi: Mention the new module.
48248         * doc/glibc-functions/random_r.texi: Likewise.
48249         * doc/glibc-functions/setstate_r.texi: Likewise.
48250         * doc/glibc-functions/srandom_r.texi: Likewise.
48251         * config/srclist.txt: Mention it.
48252
48253 2008-10-23  David Lutterkort  <lutter@redhat.com>
48254
48255         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
48256         link requirement
48257
48258 2008-10-23  Jim Meyering  <meyering@redhat.com>
48259
48260         selinux-h: mark parameters of stub functions as intentionally unused
48261         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
48262         * lib/se-context.in.h: Likewise.
48263
48264 2008-10-22  Simon Josefsson  <simon@josefsson.org>
48265
48266         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
48267
48268 2008-10-22  Simon Josefsson  <simon@josefsson.org>
48269
48270         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
48271
48272 2008-10-22  Eric Blake  <ebb9@byu.net>
48273
48274         glthread/thread: avoid compiler warning
48275         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
48276         Add unreachable abort to silence compiler.
48277
48278 2008-10-22  Eric Blake  <ebb9@byu.net>
48279
48280         netdb: also supply struct addrinfo for cygwin 1.5.x
48281         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
48282         older cygwin.
48283         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
48284         cygwin.
48285         * doc/posix-headers/netdb.texi (netdb.h): Document this.
48286
48287 2008-10-22  Bruno Haible  <bruno@clisp.org>
48288
48289         * users.txt: Update entry about pspp.
48290
48291 2008-10-21  Bruno Haible  <bruno@clisp.org>
48292
48293         Simplification.
48294         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
48295         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
48296
48297         Simplification.
48298         * lib/ioctl.c (ioctl): Don't undefine.
48299         * lib/socket.c (socket): Don't undefine.
48300
48301         Remove unused module indicator macros.
48302         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
48303         GNULIB_$1 as a C macro.
48304
48305         * doc/posix-functions/close.texi: Undo last change.
48306         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
48307         Windows platforms.
48308
48309 2008-10-21  Bruno Haible  <bruno@clisp.org>
48310
48311         Add gethostname() declaration to <unistd.h>.
48312         * lib/unistd.in.h (gethostname): New declaration.
48313         * lib/gethostname.c: Include <unistd.h>.
48314         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
48315         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
48316         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
48317         and HAVE_GETHOSTNAME.
48318         * modules/gethostname (Depends-on): Add unistd.
48319         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48320         (Include): Specify <unistd.h>.
48321         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
48322         HAVE_GETHOSTNAME.
48323         * tests/test-gethostname.c: Include <unistd.h> first.
48324
48325 2008-10-21  Bruno Haible  <bruno@clisp.org>
48326
48327         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
48328         * modules/select-tests (Depends-on): Likewise.
48329         Reported by Simon Josefsson.
48330
48331 2008-10-21  Simon Josefsson  <simon@josefsson.org>
48332
48333         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
48334         * lib/accept.c: New file, based on winsock.c.
48335         * lib/bind.c: New file, based on winsock.c.
48336         * lib/connect.c: New file, based on winsock.c.
48337         * lib/getpeername.c: New file, based on winsock.c.
48338         * lib/getsockname.c: New file, based on winsock.c.
48339         * lib/getsockopt.c: New file, based on winsock.c.
48340         * lib/ioctl.c: New file, based on winsock.c.
48341         * lib/listen.c: New file, based on winsock.c.
48342         * lib/recv.c: New file, based on winsock.c.
48343         * lib/recvfrom.c: New file, based on winsock.c.
48344         * lib/send.c: New file, based on winsock.c.
48345         * lib/sendto.c: New file, based on winsock.c.
48346         * lib/setsockopt.c: New file, based on winsock.c.
48347         * lib/shutdown.c: New file, based on winsock.c.
48348         * lib/socket.c: New file, based on winsock.c.
48349         * lib/w32sock.h: New file, based on winsock.c.
48350         * lib/winsock.c: Remove file.
48351         * modules/accept: Likewise.
48352         * modules/bind: Likewise.
48353         * modules/connect: Likewise.
48354         * modules/getpeername: Likewise.
48355         * modules/getsockname: Likewise.
48356         * modules/getsockopt: Likewise.
48357         * modules/ioctl: Likewise.
48358         * modules/listen: Likewise.
48359         * modules/recv: Likewise.
48360         * modules/recvfrom: Likewise.
48361         * modules/send: Likewise.
48362         * modules/sendto: Likewise.
48363         * modules/setsockopt: Likewise.
48364         * modules/shutdown: Likewise.
48365         * modules/socket: Use socket.c instead of winsock.c.
48366         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
48367         * doc/posix-functions/accept.texi: Doc fix.
48368         * doc/posix-functions/bind.texi: Doc fix.
48369         * doc/posix-functions/close.texi: Doc fix.
48370         * doc/posix-functions/connect.texi: Doc fix.
48371         * doc/posix-functions/getpeername.texi: Doc fix.
48372         * doc/posix-functions/getsockname.texi: Doc fix.
48373         * doc/posix-functions/getsockopt.texi: Doc fix.
48374         * doc/posix-functions/ioctl.texi: Doc fix.
48375         * doc/posix-functions/listen.texi: Doc fix.
48376         * doc/posix-functions/recv.texi: Doc fix.
48377         * doc/posix-functions/recvfrom.texi: Doc fix.
48378         * doc/posix-functions/send.texi: Doc fix.
48379         * doc/posix-functions/sendto.texi: Doc fix.
48380         * doc/posix-functions/setsockopt.texi: Doc fix.
48381         * doc/posix-functions/shutdown.texi: Doc fix.
48382         * doc/posix-functions/socket.texi: Doc fix.
48383
48384 2008-10-20  Bruno Haible  <bruno@clisp.org>
48385
48386         Take into account the role of SIGABRT_COMPAT on Windows 2008.
48387         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
48388         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
48389         as an alias for SIGABRT.
48390         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
48391         (sigaction): Map it to SIGABRT.
48392         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
48393
48394 2008-10-20  Bruno Haible  <bruno@clisp.org>
48395
48396         * lib/fts.c: Don't include lstat.h.
48397         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
48398
48399         Move the lstat() declaration to <sys/stat.h>.
48400         * lib/lstat.h: Remove file.
48401         * lib/sys_stat.in.h: Add special invocation convention.
48402         (lstat): New declaration.
48403         * lib/lstat.c (orig_lstat): New function.
48404         (rpl_lstat): Use orig_lstat instead of lstat.
48405         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
48406         AC_C_INLINE. Set REPLACE_LSTAT.
48407         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
48408         and REPLACE_LSTAT.
48409         * modules/lstat (Files): Remove lib/lstat.h.
48410         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
48411         (Include): Specify <sys/stat.h> instead of lstat.h.
48412         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
48413         REPLACE_LSTAT.
48414         * NEWS: Mention the change.
48415
48416 2008-10-20  Bruno Haible  <bruno@clisp.org>
48417
48418         * modules/posix_spawn-tests: New file.
48419         * tests/test-posix_spawn3.c: New file.
48420
48421 2008-10-20  Bruno Haible  <bruno@clisp.org>
48422
48423         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
48424         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
48425         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
48426         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
48427         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
48428
48429 2008-10-20  Bruno Haible  <bruno@clisp.org>
48430
48431         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
48432         of posix_spawn on AIX 5.3.
48433
48434 2008-10-20  Bruno Haible  <bruno@clisp.org>
48435
48436         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
48437
48438 2008-10-20  Bruno Haible  <bruno@clisp.org>
48439
48440         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
48441         of AC_LANG_PROGRAM.
48442
48443 2008-10-20  Simon Josefsson  <simon@josefsson.org>
48444
48445         * lib/netdb.in.h: Don't define GNU specific constants until they
48446         are supported or needed.  Reported by Bruno Haible
48447         <bruno@clisp.org>.
48448
48449 2008-10-20  Simon Josefsson  <simon@josefsson.org>
48450
48451         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
48452
48453 2008-10-20  Simon Josefsson  <simon@josefsson.org>
48454
48455         * lib/getaddrinfo.h: Remove file.
48456         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
48457         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
48458         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
48459         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
48460         * modules/netdb: Substitute GNULIB_GETADDRINFO.
48461         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
48462         * tests/test-getaddrinfo.c: Likewise.
48463         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
48464         * NEWS: Mention change.
48465
48466 2008-10-19  Bruno Haible  <bruno@clisp.org>
48467
48468         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
48469
48470 2008-10-19  Bruno Haible  <bruno@clisp.org>
48471
48472         * lib/wait-process.c: Include simply <sys/wait.h>.
48473         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
48474         WIFSTOPPED): Remove fallback definitions.
48475         * modules/wait-process (Depends-on): Add sys_wait.
48476
48477         New module 'sys_wait'.
48478         * modules/sys_wait: New file.
48479         * lib/sys_wait.in.h: New file, partially copied from
48480         lib/wait-process.c.
48481         * m4/sys_wait_h.m4: New file.
48482         * doc/posix-headers/sys_wait.texi: Mention the new module.
48483
48484 2008-10-19  Bruno Haible  <bruno@clisp.org>
48485
48486         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
48487
48488 2008-10-19  Bruno Haible  <bruno@clisp.org>
48489
48490         Assume that waitpid() fills an 'int' status, not a 'union wait'.
48491         * lib/wait-process.c (WAIT_T): Remove type.
48492         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
48493         (wait_subprocess): Update.
48494
48495 2008-10-19  Bruno Haible  <bruno@clisp.org>
48496
48497         New module 'atoll'.
48498         * modules/atoll: New file.
48499         * lib/stdlib.in.h (atoll): New declaration.
48500         * lib/atoll.c: New file, from glibc with modifications.
48501         * m4/atoll.m4: New file.
48502         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
48503         HAVE_ATOLL.
48504         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
48505         * doc/posix-functions/atoll.texi: Mention the new module.
48506
48507 2008-10-19  Bruno Haible  <bruno@clisp.org>
48508
48509         Add strtoull() declaration to <stdlib.h>.
48510         * lib/stdlib.in.h (strtoull): New declaration.
48511         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
48512         Set HAVE_STRTOULL.
48513         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
48514         HAVE_STRTOULL.
48515         * modules/strtoull (Depends-on): Add stdlib.
48516         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48517         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
48518         HAVE_STRTOULL.
48519
48520 2008-10-19  Bruno Haible  <bruno@clisp.org>
48521
48522         Add strtoll() declaration to <stdlib.h>.
48523         * lib/stdlib.in.h (strtoll): New declaration.
48524         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
48525         Set HAVE_STRTOLL.
48526         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
48527         HAVE_STRTOLL.
48528         * modules/strtoll (Depends-on): Add stdlib.
48529         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48530         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
48531
48532 2008-10-19  Bruno Haible  <bruno@clisp.org>
48533
48534         * modules/bcopy (Depends-on): Add strings.
48535         (Include): Specify <strings.h>.
48536
48537 2008-10-19  Bruno Haible  <bruno@clisp.org>
48538
48539         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
48540
48541 2008-10-19  Bruno Haible  <bruno@clisp.org>
48542
48543         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
48544         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
48545         mingw.
48546
48547 2008-10-19  Bruno Haible  <bruno@clisp.org>
48548
48549         * lib/atanl.c: Don't include isnanl.h.
48550         * lib/cosl.c: Likewise.
48551         * lib/ldexpl.c: Likewise.
48552         * lib/logl.c: Likewise.
48553         * lib/sinl.c: Likewise.
48554         * lib/sqrtl.c: Likewise.
48555         * lib/tanl.c: Likewise.
48556
48557         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
48558         * lib/isnanf.h: Remove file.
48559         * lib/isnand.h: Remove file.
48560         * lib/isnanl.h: Remove file.
48561         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
48562         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
48563         macros.
48564         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
48565         HAVE_ISNANF, don't define it as a C macro.
48566         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
48567         HAVE_ISNAND, don't define it as a C macro.
48568         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
48569         HAVE_ISNANL, don't define it as a C macro.
48570         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
48571         HAVE_ISNAN[FDL].
48572         * modules/isnanf (Files): Remove lib/isnanf.h.
48573         (Depends-on): Add math.
48574         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
48575         (Include): Specify <math.h> instead of isnanf.h.
48576         * modules/isnand (Files): Remove lib/isnand.h.
48577         (Depends-on): Add math.
48578         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
48579         (Include): Specify <math.h> instead of isnand.h.
48580         * modules/isnanl (Files): Remove lib/isnanl.h.
48581         (Depends-on): Add math.
48582         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
48583         (Include): Specify <math.h> instead of isnanl.h.
48584         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
48585         HAVE_ISNAN[FDL].
48586         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
48587         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
48588         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
48589         * NEWS: Mention the change.
48590
48591 2008-10-18  Bruno Haible  <bruno@clisp.org>
48592
48593         Add getusershell(), setusershell(), endusershell() declarations to
48594         <unistd.h>.
48595         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
48596         declarations.
48597         * lib/getusershell.c: Include unistd.h.
48598         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
48599         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
48600         HAVE_GETUSERSHELL.
48601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
48602         and HAVE_GETUSERSHELL.
48603         * modules/getusershell (Depends-on): Add unistd, extensions.
48604         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48605         (Include): Specify <unistd.h>.
48606         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
48607         HAVE_GETUSERSHELL.
48608
48609 2008-10-18  Bruno Haible  <bruno@clisp.org>
48610
48611         Add a getloadavg() declaration to <stdlib.h>.
48612         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
48613         getloadavg declaration.
48614         (getloadavg): New declaration.
48615         * lib/getloadavg.c: Include <stdlib.h> first.
48616         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
48617         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
48618         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
48619         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
48620         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
48621         * modules/getloadavg (Depends-on): Add stdlib, extensions.
48622         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48623         (Include): Specify <stdlib.h>.
48624         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
48625         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
48626
48627 2008-10-18  Bruno Haible  <bruno@clisp.org>
48628
48629         * lib/dirchownmod.c: Don't include lchmod.h.
48630
48631         Move the lchmod() declaration to <sys/stat.h>.
48632         * lib/lchmod.h: Remove file.
48633         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
48634         (lchmod): New declaration, moved here from lib/lchown.h.
48635         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
48636         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
48637         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
48638         and HAVE_LCHMOD.
48639         * modules/lchmod (Files): Remove lib/lchmod.h.
48640         (Depends-on): Add sys_stat, extensions.
48641         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
48642         (Include): Specify <sys/stat.h> instead of lchmod.h.
48643         * modules/sys_stat (Depends-on): Add link-warning.
48644         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
48645         definition of GL_LINK_WARNING.
48646         * NEWS: Mention the change.
48647
48648 2008-10-18  Bruno Haible  <bruno@clisp.org>
48649
48650         * lib/fchdir.c: Don't include dirfd.h.
48651         * lib/fts.c: Likewise.
48652         * lib/getcwd.c: Likewise.
48653         * lib/glob.c: Likewise.
48654
48655         Move the dirfd() declaration to <dirent.h>.
48656         * lib/dirfd.h: Remove file.
48657         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
48658         (dirfd): New declaration.
48659         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
48660         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
48661         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
48662         HAVE_DECL_DIRFD.
48663         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
48664         HAVE_DECL_DIRFD.
48665         * modules/dirfd (Files): Remove lib/dirfd.h.
48666         (Depends-on): Add dirent, extensions.
48667         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
48668         (Include): Specify <dirent.h> instead of dirfd.h.
48669         * modules/dirent (Depends-on): Add link-warning.
48670         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
48671         definition of GL_LINK_WARNING.
48672         * NEWS: Mention the change.
48673
48674 2008-10-18  Bruno Haible  <bruno@clisp.org>
48675
48676         Move the euidaccess() declaration to <unistd.h>.
48677         * lib/euidaccess.h: Remove file.
48678         * lib/unistd.in.h (euidaccess): New declaration.
48679         * lib/euidaccess.c: Don't include euidaccess.h.
48680         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
48681         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
48682         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
48683         and HAVE_EUIDACCESS.
48684         * modules/euidaccess (Files): Remove lib/euidaccess.h.
48685         (Depends-on): Add unistd.
48686         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48687         (Include): Specify <unistd.h> instead of euidaccess.h.
48688         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
48689         HAVE_EUIDACCESS.
48690         * NEWS: Mention the change.
48691
48692 2008-10-18  Bruno Haible  <bruno@clisp.org>
48693
48694         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
48695
48696         Move the getdomainname() declaration to <unistd.h>.
48697         * lib/getdomainname.h: Remove file.
48698         * lib/unistd.in.h (getdomainname): New declaration.
48699         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
48700         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
48701         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
48702         HAVE_GETDOMAINNAME.
48703         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48704         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
48705         * modules/getdomainname (Files): Remove lib/getdomainname.h.
48706         (Depends-on): Add unistd, extensions.
48707         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48708         (Includes): Specify <unistd.h> instead of getdomainname.h.
48709         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
48710         HAVE_GETDOMAINNAME.
48711         * NEWS: Mention the change.
48712
48713 2008-10-18  Bruno Haible  <bruno@clisp.org>
48714
48715         * modules/dirent: New file.
48716         * m4/dirent_h.m4: New file.
48717         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
48718         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
48719         * modules/fchdir (Files): Remove lib/dirent.in.h.
48720         (Depends-on): Add dirent.
48721         (Makefile.am): Move rules to modules/dirent.
48722         * doc/posix-headers/dirent.texi: Mention the new module.
48723
48724 2008-10-18  Bruno Haible  <bruno@clisp.org>
48725
48726         Avoid -Wunused-parameter warnings in public gnulib header files.
48727         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
48728         macro.
48729         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
48730
48731 2008-10-18  Bruno Haible  <bruno@clisp.org>
48732
48733         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
48734         * doc/glibc-functions/error.texi: Mention the module 'error'.
48735         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
48736         * doc/glibc-functions/getdomainname.texi: Mention the module
48737         'getdomainname'.
48738         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
48739         * doc/glibc-functions/getpagesize.texi: Mention the module
48740         'getpagesize'.
48741         * doc/glibc-functions/getusershell.texi: Mention the module
48742         'getusershell'.
48743         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
48744         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
48745         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
48746         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
48747         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
48748         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
48749         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
48750         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
48751         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
48752         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
48753         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
48754         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
48755         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
48756         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
48757
48758 2008-10-17  Bruno Haible  <bruno@clisp.org>
48759
48760         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
48761         HP-UX and IRIX, use -0.0L.
48762         * tests/test-ceill.c (minus_zero): Likewise.
48763         * tests/test-floorl.c (minus_zero): Likewise.
48764         * tests/test-frexpl.c (minus_zero): Likewise.
48765         * tests/test-isnan.c (minus_zerol): Likewise.
48766         * tests/test-isnanl.h (minus_zero): Likewise.
48767         * tests/test-ldexpl.c (minus_zero): Likewise.
48768         * tests/test-roundl.c (minus_zero): Likewise.
48769         * tests/test-signbit.c (minus_zerol): Likewise.
48770         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
48771         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
48772         * tests/test-truncl.c (minus_zero): Likewise.
48773         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
48774         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
48775         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
48776         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
48777
48778 2008-10-17  Bruno Haible  <bruno@clisp.org>
48779
48780         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
48781         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
48782         that it gets activated only for gcc >= 3.0.
48783         * lib/dirent.in.h: Likewise.
48784         * lib/errno.in.h: Likewise.
48785         * lib/fcntl.in.h: Likewise.
48786         * lib/float.in.h: Likewise.
48787         * lib/iconv.in.h: Likewise.
48788         * lib/inttypes.in.h: Likewise.
48789         * lib/locale.in.h: Likewise.
48790         * lib/math.in.h: Likewise.
48791         * lib/netdb.in.h: Likewise.
48792         * lib/netinet_in.in.h: Likewise.
48793         * lib/search.in.h: Likewise.
48794         * lib/signal.in.h: Likewise.
48795         * lib/spawn.in.h: Likewise.
48796         * lib/stdarg.in.h: Likewise.
48797         * lib/stdint.in.h: Likewise.
48798         * lib/stdio.in.h: Likewise.
48799         * lib/stdlib.in.h: Likewise.
48800         * lib/string.in.h: Likewise.
48801         * lib/strings.in.h: Likewise.
48802         * lib/sys_file.in.h: Likewise.
48803         * lib/sys_ioctl.in.h: Likewise.
48804         * lib/sys_select.in.h: Likewise.
48805         * lib/sys_socket.in.h: Likewise.
48806         * lib/sys_stat.in.h: Likewise.
48807         * lib/sys_time.in.h: Likewise.
48808         * lib/sysexits.in.h: Likewise.
48809         * lib/time.in.h: Likewise.
48810         * lib/unistd.in.h: Likewise.
48811         * lib/wchar.in.h: Likewise.
48812         * lib/wctype.in.h: Likewise.
48813         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48814
48815 2008-10-17  Jim Meyering  <meyering@redhat.com>
48816
48817         ignore-value: don't depend on inline module
48818         * modules/ignore-value (Depends-on): Remove 'inline'.
48819         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
48820         Suggestion from Bruno Haible.
48821
48822 2008-10-17  Bruno Haible  <bruno@clisp.org>
48823
48824         New implementation of condition variables for Win32.
48825         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
48826         (gl_linked_waitqueue_t): New type.
48827         (gl_cond_t): Use it.
48828         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
48829         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
48830         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
48831         (glthread_cond_init_func, glthread_cond_wait_func,
48832         glthread_cond_timedwait_func, glthread_cond_signal_func,
48833         glthread_cond_broadcast_func, glthread_cond_destroy_func):
48834         Reimplemented on the basis of gl_linked_waitqueue_t.
48835         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
48836         gl_waitqueue_t.
48837         (gl_rwlock_t): Update.
48838         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
48839
48840 2008-10-17  Simon Josefsson  <simon@josefsson.org>
48841
48842         * modules/recvfrom (Depends-on): Add dependency on getpeername.
48843         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
48844
48845 2008-10-17  Jim Meyering  <meyering@redhat.com>
48846
48847         ignore-value: new module
48848         * modules/ignore-value: New file.
48849         * lib/ignore-value.h: New file.
48850         * MODULES.html.sh (Compiler warning management): New section,
48851         just for this module.  More to come.
48852
48853 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
48854
48855         open-safer.c: avoid 'signed and unsigned in conditional...' warning
48856         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
48857         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
48858
48859 2008-10-16  Jim Meyering  <meyering@redhat.com>
48860
48861         openat-die.c: avoid 'no previous prototype' warning
48862         * lib/openat-die.c: Include "openat.h".
48863         Reported by Reuben Thomas <rrt@sc3d.org>.
48864
48865 2008-10-16  Simon Josefsson  <simon@josefsson.org>
48866
48867         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
48868         * lib/netdb.in.h: Fix typo.
48869         Reported by Bruno Haible  <bruno@clisp.org>
48870
48871         * lib/netdb.in.h: Include sys/socket.h for platforms without
48872         netdb.h, to get structures like hostent on MinGW.
48873         * modules/netdb (Depends-on): Add sys_socket.
48874
48875 2008-10-15  Simon Josefsson  <simon@josefsson.org>
48876
48877         * modules/netdb, modules/netdb-tests: New file.
48878         * m4/netdb_h.m4: New file.
48879         * lib/netdb.in.h: Add, currently just an empty file pending
48880         definitions.
48881         * tests/test-netdb.c: New file.
48882         * doc/posix-headers/netdb.texi: Mention that we replace it if
48883         needed.
48884         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48885         netdb.
48886
48887 2008-10-15  Simon Josefsson  <simon@josefsson.org>
48888
48889         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
48890         with code.
48891
48892 2008-10-13  Bruno Haible  <bruno@clisp.org>
48893
48894         * lib/glthread/cond.c (glthread_cond_wait_func,
48895         glthread_cond_timedwait_func): Add a comment.
48896
48897 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
48898
48899         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
48900         * tests/test-select.c: Likewise,
48901
48902 2008-10-13  Bruno Haible  <bruno@clisp.org>
48903
48904         * lib/glthread/cond.c (glthread_cond_wait_func,
48905         glthread_cond_timedwait_func): Fix variable name.
48906         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
48907
48908 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
48909
48910         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
48911         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
48912         struct sockaddr.sa_len.
48913         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
48914
48915 2008-10-13  Simon Josefsson  <simon@josefsson.org>
48916
48917         * build-aux/pmccabe2html: Add css and css_url parameters.
48918
48919 2008-10-12  Bruno Haible  <bruno@clisp.org>
48920
48921         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
48922         calling aclx_get.
48923         Reported by Rainer Tammer <tammer@tammer.net>.
48924
48925 2008-10-12  Bruno Haible  <bruno@clisp.org>
48926
48927         Use msvcrt aware primitives for creation/termination of Win32 threads.
48928         * lib/glthread/thread.c: Include <process.h>.
48929         (glthread_create_func): Use _beginthreadex instead of CreateThread.
48930         (wrapper_func): Update signature.
48931         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
48932
48933 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
48934             Bruno Haible  <bruno@clisp.org>
48935
48936         Provide a Win32 implementation of the 'cond' module.
48937         * lib/glthread/cond.h [USE_WIN32]: New implementation.
48938         * lib/glthread/cond.c (glthread_cond_init_func,
48939         glthread_cond_wait_func, glthread_cond_timedwait_func,
48940         glthread_cond_signal_func, glthread_cond_broadcast_func,
48941         glthread_cond_destroy_func) [USE_WIN32]: New functions.
48942         * modules/cond (Dependencies): Add gettimeofday.
48943
48944 2008-10-11  Bruno Haible  <bruno@clisp.org>
48945
48946         Make sleep work on older versions of mingw.
48947         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
48948         only whether it exists.
48949         * doc/posix-functions/sleep.texi: Mention the problem with older
48950         versions of mingw.
48951
48952 2008-10-11  Bruno Haible  <bruno@clisp.org>
48953
48954         New module 'shutdown'.
48955         * modules/shutdown: New file.
48956         * lib/sys_socket.in.h (shutdown): New declaration.
48957         * lib/winsock.c (shutdown): New function.
48958         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
48959         GNULIB_SHUTDOWN.
48960         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
48961         * doc/posix-functions/shutdown.texi: Document the new module.
48962
48963 2008-10-11  Jim Meyering  <meyering@redhat.com>
48964
48965         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
48966
48967 2008-10-11  Bruno Haible  <bruno@clisp.org>
48968
48969         New module 'fclose'.
48970         * modules/fclose: New file.
48971         * lib/stdio.in.h (fclose): New declaration.
48972         * lib/fclose.c: New file.
48973         * m4/fclose.m4: New file.
48974         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
48975         REPLACE_FCLOSE.
48976         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
48977         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
48978         REPLACE_FCLOSE.
48979         * modules/close (Depends-on): fclose.
48980         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
48981
48982 2008-10-11  Bruno Haible  <bruno@clisp.org>
48983
48984         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
48985         set errno and don't call _close.
48986
48987 2008-10-10  Bruno Haible  <bruno@clisp.org>
48988
48989         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
48990         ACL, not afterwards. Fixes test failure on Cygwin.
48991
48992 2008-10-09  Ben Pfaff  <blp@gnu.org>
48993
48994         * build-aux/announce-gen: Fix gnulib version related part of usage
48995         message.  Die with a useful error message if no tarballs are
48996         found.
48997
48998 2008-10-10  Jim Meyering  <meyering@redhat.com>
48999
49000         bootstrap: use git's --depth=N option only if it's supported
49001         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
49002         recognize the --depth option.  Reported by Pádraig Brady.
49003
49004 2008-10-09  Bruno Haible  <bruno@clisp.org>
49005
49006         New module 'ioctl'.
49007         * modules/ioctl: New file.
49008         * lib/sys_socket.in.h (ioctl): Remove declaration.
49009         * lib/winsock.c: Include <sys/ioctl.h>.
49010         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
49011         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
49012         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
49013         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
49014         * doc/posix-functions/ioctl.texi: Mention the new module.
49015
49016 2008-10-09  Bruno Haible  <bruno@clisp.org>
49017
49018         New module 'sys_ioctl'.
49019         * lib/sys_ioctl.in.h: New file.
49020         * m4/sys_ioctl_h.m4: New file.
49021         * modules/sys_ioctl: New file.
49022         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
49023
49024 2008-10-09  Bruno Haible  <bruno@clisp.org>
49025
49026         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
49027         * lib/winsock.c: Include <stdarg.h>.
49028         (rpl_ioctl): Change to second argument 'int' and then varargs.
49029
49030 2008-10-09  Bruno Haible  <bruno@clisp.org>
49031
49032         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
49033         when the sys_socket module is present and the system has <winsock2.h>.
49034
49035 2008-10-09  Bruno Haible  <bruno@clisp.org>
49036
49037         * doc/posix-functions/close.texi: Mention module 'close' instead of
49038         module 'sys_socket'.
49039
49040 2008-10-09  Bruno Haible  <bruno@clisp.org>
49041
49042         * doc/glibc-headers/sys_ioctl.texi: New file.
49043         * doc/gnulib.texi: Include it.
49044
49045 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49046             Bruno Haible  <bruno@clisp.org>
49047
49048         Combine the two replacements of 'close'.
49049         * lib/sys_socket.in.h (close): Define to a reminder to include
49050         <unistd.h>.
49051         (_gl_close_fd_maybe_socket): New declaration.
49052         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
49053         * lib/winsock.c (close): Remove undefinition.
49054         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
49055         needed for the gnulib module 'close'.
49056         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
49057         define to an error symbol or to a warning, if suitable.
49058         * lib/close.c: Include <sys/socket.h>.
49059         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
49060         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
49061         UNISTD_H_HAVE_WINSOCK2_H.
49062         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
49063         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49064         UNISTD_H_HAVE_WINSOCK2_H.
49065         * modules/sys_socket (Files): Add m4/unistd_h.m4.
49066         (configure.ac): Set a module indicator.
49067         (Makefile.am): Substitute GNULIB_CLOSE.
49068         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
49069         * modules/poll-tests (Depends-on): Add close.
49070         * modules/select-tests (Depends-on): Likewise.
49071
49072 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49073             Bruno Haible  <bruno@clisp.org>
49074
49075         New module 'close'.
49076         * modules/close: New file.
49077         * lib/unistd.in.h (close): Move declaration out of the
49078         FCHDIR_REPLACEMENT scope.
49079         (_gl_unregister_fd): New declaration.
49080         * lib/close.c: New file.
49081         * lib/fchdir.c (rpl_close): Remove function.
49082         * m4/close.m4: New file.
49083         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
49084         close.
49085         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
49086         REPLACE_CLOSE.
49087         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
49088         REPLACE_CLOSE.
49089         * modules/fchdir (Depends-on): Add close.
49090
49091 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49092             Bruno Haible  <bruno@clisp.org>
49093
49094         * lib/fcntl.in.h (open): Simplify conditionals.
49095         (_gl_register_fd): New declaration.
49096         * lib/fchdir.c (rpl_open): Remove function.
49097         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
49098         also.
49099         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
49100         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
49101         open.
49102
49103 2008-10-09  Jim Meyering  <meyering@redhat.com>
49104
49105         GNUmakefile: use the more name-space-friendly "_version"
49106         * top/GNUmakefile (_dummy): Update.
49107         (_version): Rename from "version".
49108
49109 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49110             Bruno Haible  <bruno@clisp.org>
49111
49112         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
49113         rpl_close.
49114         (_gl_register_fd): New function, extracted from rpl_open.
49115         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
49116         (rpl_open, rpl_opendir): Use _gl_register_fd.
49117
49118 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49119
49120         Fix organization of 'open' replacement.
49121         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
49122         (gl_FUNC_OPEN): Use it.
49123         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
49124
49125 2008-10-08  Bruno Haible  <bruno@clisp.org>
49126
49127         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
49128
49129 2008-10-08  Simon Josefsson  <simon@josefsson.org>
49130
49131         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
49132         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
49133         listen).
49134
49135 2008-10-08  Eric Blake  <ebb9@byu.net>
49136
49137         GNUmakefile: add 'make version' target
49138         * top/GNUmakefile (_curr-ver): Split version update rules...
49139         (version): ...into a target.
49140
49141 2008-10-07  Bruno Haible  <bruno@clisp.org>
49142
49143         Use a more portable replacement expression for -0.0L.
49144         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
49145         instead of -0.0L. Fix m4 quotation.
49146
49147         * tests/test-signbit.c: Include <float.h>.
49148         (minus_zero): New variable.
49149         (test_signbitl): Use minus_zero instead of -zero.
49150         * modules/signbit-tests (Depends-on): Add float.
49151
49152         * tests/test-ceill.c: Include <float.h>.
49153         (zero): Remove variable.
49154         (minus_zero): New variable.
49155         (main): Use minus_zero instead of -zero.
49156         * modules/ceill-tests (Depends-on): Add float.
49157
49158         * tests/test-floorl.c: Include <float.h>.
49159         (zero): Remove variable.
49160         (minus_zero): New variable.
49161         (main): Use minus_zero instead of -zero.
49162         * modules/floorl-tests (Depends-on): Add float.
49163
49164         * tests/test-roundl.c: Include <float.h>.
49165         (zero): Remove variable.
49166         (minus_zero): New variable.
49167         (main): Use minus_zero instead of -zero.
49168         * modules/roundl-tests (Depends-on): Add float.
49169
49170         * tests/test-truncl.c: Include <float.h>.
49171         (zero): Remove variable.
49172         (minus_zero): New variable.
49173         (main): Use minus_zero instead of -zero.
49174         * modules/truncl-tests (Depends-on): Add float.
49175
49176         * tests/test-frexpl.c (zero): Remove variable.
49177         (minus_zero): New variable.
49178         (main): Use minus_zero instead of -zero.
49179         * modules/frexpl-tests (Depends-on): Add float.
49180
49181         * tests/test-isnan.c (zerol): Remove variable.
49182         (minus_zerol): New variable.
49183         (test_long_double): Use minus_zerol instead of -zerol.
49184         * modules/isnan-tests (Depends-on): Add float.
49185
49186         * tests/test-isnanl.h (zero): Remove variable.
49187         (minus_zero): New variable.
49188         (main): Use minus_zero instead of -zero.
49189         * modules/isnanl-nolibm-tests (Depends-on): Add float.
49190         * modules/isnanl-tests (Depends-on): Add float.
49191
49192         * tests/test-ldexpl.c (zero): Remove variable.
49193         (minus_zero): New variable.
49194         (main): Use minus_zero instead of -zero.
49195         * modules/ldexpl-tests (Depends-on): Add float.
49196
49197         * tests/test-snprintf-posix.h (zerol): Remove variable.
49198         (minus_zerol): New variable.
49199         (test_function): Use minus_zerol instead of -zerol.
49200         * modules/snprintf-posix-tests (Depends-on): Add float.
49201         * modules/vsnprintf-posix-tests (Depends-on): Add float.
49202
49203         * tests/test-sprintf-posix.h (zerol): Remove variable.
49204         (minus_zerol): New variable.
49205         (test_function): Use minus_zerol instead of -zerol.
49206         * modules/sprintf-posix-tests (Depends-on): Add float.
49207         * modules/vsprintf-posix-tests (Depends-on): Add float.
49208
49209         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
49210         (minus_zerol): New variable.
49211         (test_function): Use minus_zerol instead of -zerol.
49212         * modules/vasnprintf-posix-tests (Depends-on): Add float.
49213
49214         * tests/test-vasprintf-posix.c (zerol): Remove variable.
49215         (minus_zerol): New variable.
49216         (test_function): Use minus_zerol instead of -zerol.
49217         * modules/vasprintf-posix-tests (Depends-on): Add float.
49218
49219 2008-10-07  Simon Josefsson  <simon@josefsson.org>
49220
49221         * MODULES.html.sh (Support for building documentation): Mention
49222         pmccabe2html.  Sort entries.
49223
49224         Add pmccabe2html module, from gnupdf.
49225         * build-aux/pmccabe.css: New file.
49226         * build-aux/pmccabe2html: New file.
49227         * m4/pmccabe2html.m4: New file.
49228         * modules/pmccabe2html: New file.
49229
49230 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
49231
49232         flock: new module
49233         * MODULES.html.sh: Add to list of modules.
49234         * lib/flock.c: flock implementation for Windows and Unix systems
49235         which have fcntl.
49236         * doc/glibc-functions/flock.texi: Update documentation.
49237         * lib/sys_file.in.h: <sys/file.h> header file.
49238         * m4/flock.m4: M4 macros.
49239         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
49240         * modules/flock: flock module.
49241         * modules/flock-tests: flock tests module.
49242         * modules/sys_file: sys/file.h module.
49243         * tests/test-flock.c: test suite for flock.
49244
49245 2008-10-06  Jim Meyering  <meyering@redhat.com>
49246
49247         bootstrap: check for LT_INIT more portably still ;-)
49248         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
49249         Spotted by Bruno Haible.
49250
49251 2008-10-06  Eric Blake  <ebb9@byu.net>
49252
49253         test-signbit: avoid tripping Irix cc bug on -0.0L
49254         * tests/test-signbit.c (minus_zerol): Delete, and replace with
49255         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
49256         entire testsuite consistent and avoids an Irix 6.2 bug.
49257
49258 2008-10-05  Bruno Haible  <bruno@clisp.org>
49259             Jim Meyering  <jim@meyering.net>
49260
49261         Add an option for ignoring EPIPE during close_stdout.
49262         * lib/closeout.h: Include <stdbool.h>.
49263         (close_stdout_set_ignore_EPIPE): New declaration.
49264         * lib/closeout.c: Include <stdbool.h>.
49265         (ignore_EPIPE): New variable.
49266         (close_stdout_set_ignore_EPIPE): New function.
49267         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
49268         * lib/close-stream.c (close_stream): Mention the possible EPIPE
49269         failure.
49270         * modules/closeout (Depends-on): Add stdbool.
49271
49272 2008-10-05  Bruno Haible  <bruno@clisp.org>
49273
49274         * modules/accept: New file.
49275         * modules/bind: New file.
49276         * modules/connect: New file.
49277         * modules/getpeername: New file.
49278         * modules/getsockname: New file.
49279         * modules/getsockopt: New file.
49280         * modules/listen: New file.
49281         * modules/recv: New file.
49282         * modules/recvfrom: New file.
49283         * modules/send: New file.
49284         * modules/sendto: New file.
49285         * modules/setsockopt: New file.
49286         * modules/socket: New file.
49287         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
49288         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
49289         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
49290         the particular module is requested. Add a link warning when the
49291         particular module is not requested.
49292         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
49293         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
49294         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
49295         the particular module is requested.
49296         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
49297         gl_SYS_SOCKET_H_DEFAULTS): New macros.
49298         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
49299         * modules/sys_socket (Depends-on): Add link-warning.
49300         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
49301         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
49302         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
49303         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
49304         GL_LINK_WARNING.
49305         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
49306         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
49307         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
49308         * doc/posix-functions/getpeername.texi: Mention the new module
49309         'getpeername'.
49310         * doc/posix-functions/getsockname.texi: Mention the new module
49311         'getsockname'.
49312         * doc/posix-functions/getsockopt.texi: Mention the new module
49313         'getsockopt'.
49314         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
49315         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
49316         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
49317         * doc/posix-functions/send.texi: Mention the new module 'send'.
49318         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
49319         * doc/posix-functions/setsockopt.texi: Mention the new module
49320         'setsockopt'.
49321         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
49322         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
49323         listen, connect, accept.
49324         * modules/select-tests (Depends-on): Likewise.
49325
49326 2008-10-05  Bruno Haible  <bruno@clisp.org>
49327
49328         * lib/winsock.c (strerror): Remove unused #undef.
49329         (rpl_close): Remove unused local variable.
49330
49331         * modules/sys_socket (Depends-on); Add errno.
49332
49333 2008-10-05  Bruno Haible  <bruno@clisp.org>
49334
49335         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
49336         (select): Add a link warning when the 'select' module is not used.
49337         * modules/sys_select (Depends-on): Add link-warning.
49338         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
49339         Suggested by Paolo Bonzini.
49340
49341 2008-10-05  Jim Meyering  <meyering@redhat.com>
49342
49343         bootstrap: check for LT_INIT more portably
49344         * build-aux/bootstrap: Avoid using grep -E, since it's not
49345         portable enough.  Suggestion from Bruno Haible.
49346
49347 2008-10-05  Bruno Haible  <bruno@clisp.org>
49348
49349         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
49350         as being fixed by gnulib.
49351
49352 2008-10-05  Bruno Haible  <bruno@clisp.org>
49353
49354         * modules/select-tests: New file, mostly copied from
49355         modules/sys_select-tests.
49356         * tests/test-select.c: New file, mostly copied from
49357         tests/test-sys_select.c.
49358         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
49359         * modules/sys_select-tests (Depends-on): Remove all dependencies.
49360         (Makefile.am): Remove test_sys_select_LDADD.
49361
49362         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
49363         to an undefined symbol, for an error message.
49364         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
49365         (gl_SYS_SELECT_H_DEFAULTS): New macro.
49366         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
49367         winsock-select.c here.
49368         * modules/sys_select (Files): Remove lib/winsock-select.c.
49369         (Depends-on): Remove alloca.
49370         (Makefile.am): Substitute GNULIB_SELECT.
49371         * modules/select: New file.
49372         * doc/posix-functions/select.texi: Update.
49373
49374 2008-10-05  Bruno Haible  <bruno@clisp.org>
49375
49376         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
49377         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
49378         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
49379         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
49380         getdtablesize.
49381         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
49382         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
49383
49384 2008-10-05  Bruno Haible  <bruno@clisp.org>
49385
49386         * modules/getdtablesize-tests: New file.
49387         * tests/test-getdtablesize.c: New file.
49388
49389         New module 'getdtablesize'.
49390         * lib/unistd.in.h (getdtablesize): New declaration.
49391         * lib/getdtablesize.c: New file.
49392         * m4/getdtablesize.m4: New file.
49393         * modules/getdtablesize: New file.
49394         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49395         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
49396         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
49397         HAVE_GETDTABLESIZE.
49398         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
49399
49400 2008-10-05  Bruno Haible  <bruno@clisp.org>
49401
49402         * modules/sched (Makefile.am): Fix typo.
49403         Reported by Simon Josefsson.
49404
49405 2008-10-05  Jim Meyering  <meyering@redhat.com>
49406
49407         bootstrap: check for LT_INIT, too
49408         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
49409         are deprecated.  Suggestion from Ralf Wildenhues.
49410
49411 2008-10-05  Bruno Haible  <bruno@clisp.org>
49412
49413         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
49414         overriding them by ours.
49415         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
49416
49417 2008-10-05  Jim Meyering  <meyering@redhat.com>
49418
49419         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
49420         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
49421         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
49422
49423 2008-10-04  Bruno Haible  <bruno@clisp.org>
49424
49425         * modules/dup2 (License): Change to LGPLv2+.
49426         * modules/sleep (License): Likewise.
49427         * modules/perror (License): Likewise.
49428         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
49429         Blake.
49430         * modules/signal (License): Likewise.
49431         * modules/sigprocmask (License): Likewise.
49432         * modules/raise (License): Change to LGPLv2+, with approval by Jim
49433         Meyering.
49434
49435 2008-10-04  Bruno Haible  <bruno@clisp.org>
49436
49437         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
49438         Reported by Rainer Tammer <tammer@tammer.net>.
49439
49440 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
49441             Bruno Haible  <bruno@clisp.org>
49442
49443         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
49444         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
49445         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
49446
49447 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
49448
49449         filevercmp: new module
49450         * lib/filevercmp.h: New function filevercmp comparing version strings.
49451         * lib/filevercmp.c: Implementation of filevercmp function.
49452         * modules/filevercmp: Module metadata.
49453         * tests/test-filevercmp.c: Unit test for new module.
49454         * modules/filevercmp-tests: Unit test metadata.
49455         * MODULES.html.sh: Add filevercmp module.
49456
49457 2008-10-03  Bruno Haible  <bruno@clisp.org>
49458
49459         * lib/c-ctype.h: Add comment.
49460         Reported by Jim Meyering.
49461
49462 2008-10-02  Bruno Haible  <bruno@clisp.org>
49463
49464         * modules/posix_spawn-internal (Depends-on): Add 'open'.
49465
49466 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
49467
49468         * build-aux/bootstrap: Allow renaming bootstrap, and change the
49469         name of bootstrap.conf accordingly.
49470
49471 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
49472
49473         * build-aux/bootstrap: Install git-merge-changelog configuration
49474         items into .gitconfig if needed.
49475
49476 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
49477
49478         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
49479         git repository, and initialize/update it accordingly.
49480
49481 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
49482
49483         * modules/fsync-tests: New file.
49484         * tests/test-fsync.c: New file.
49485
49486         New module 'fsync'.
49487         * lib/fsync.c: New file.
49488         * m4/fsync.m4: New file.
49489         * modules/fsync: New file.
49490         * lib/unistd.in.h (fsync): New declaration.
49491         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
49492         GNULIB_FSYNC and HAVE_FSYNC.
49493         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
49494         * MODULES.html.sh (posix_functions): Add fsync.
49495         * doc/posix-functions/fsync.texi: Mention the new module.
49496
49497 2008-10-02  Jim Meyering  <meyering@redhat.com>
49498
49499         fts.c: sync with similar code from coreutils' remove.c
49500         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
49501         Guard also with "#if defined __linux__", since for now at least,
49502         this code is Linux-kernel-specific.
49503
49504 2008-10-02  Jim Meyering  <meyering@redhat.com>
49505
49506         fts: bug fixes
49507         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
49508         Include <sys/vfs.h>, not <sys/statfs.h>.
49509
49510         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
49511         Include <sys/vfs.h>, not <sys/statfs.h>.
49512
49513 2008-10-01  Bruno Haible  <bruno@clisp.org>
49514
49515         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
49516         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
49517         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
49518         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
49519         * doc/posix-functions/posix_spawnp.texi: Likewise.
49520         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
49521         whether posix_spawn actually works.
49522         * m4/pipe.m4 (gl_PIPE): Likewise.
49523         * modules/execute (Files): Add m4/posix_spawn.m4.
49524         * modules/pipe (Files): Add m4/posix_spawn.m4.
49525         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
49526
49527 2008-10-01  Jim Meyering  <meyering@redhat.com>
49528
49529         remove trailing spaces
49530         * NEWS: Likewise.
49531         * lib/poll.c (poll): Likewise.
49532         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
49533         * lib/winsock.c (rpl_close): Likewise.
49534         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
49535         * modules/yield: Likewise.
49536         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
49537         * tests/test-sys_select.c (connect_to_socket): Likewise.
49538
49539         fts.c: adjust a new interface to be more generally useful
49540         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
49541         (fts_build): Adjust caller.
49542
49543 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49544
49545         * modules/cond-tests: New file.
49546         * tests/test-cond.c: New file.
49547
49548 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49549             Bruno Haible  <bruno@clisp.org>
49550
49551         * modules/cond (Dependencies): Add errno, time.
49552         * lib/glthread/cond.h: Include <time.h>.
49553         (gl_cond_define, gl_cond_define_initialized): Use the same definition
49554         across platforms.
49555
49556 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49557             Bruno Haible  <bruno@clisp.org>
49558
49559         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
49560
49561 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49562             Bruno Haible  <bruno@clisp.org>
49563
49564         * modules/tls-tests (Depends-on): Add thread, yield.
49565         (configure.ac): Remove all checks.
49566         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
49567         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
49568         gl_thread_self): Remove definitions. Include glthread/thread.h and
49569         glthread/yield.h instead.
49570         (test_tls): Pass an additional NULL argument to gl_thread_join.
49571
49572 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49573             Bruno Haible  <bruno@clisp.org>
49574
49575         * modules/lock-tests (Depends-on): Add thread, yield.
49576         (configure.ac): Remove all checks.
49577         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
49578         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
49579         gl_thread_self): Remove definitions. Include glthread/thread.h and
49580         glthread/yield.h instead.
49581         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
49582         additional NULL argument to gl_thread_join.
49583
49584 2008-09-30  Bruno Haible  <bruno@clisp.org>
49585
49586         Fix the Win32 implementation of the 'thread' module.
49587         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
49588         pointer type.
49589         (gl_thread_self): Invoke gl_thread_self_func.
49590         (gl_thread_self_func): New declaration.
49591         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
49592         (do_init_self_key, init_self_key): New functions.
49593         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
49594         Remove some fields.
49595         (running_threads, running_lock): Remove variables.
49596         (get_current_thread_handle): New function.
49597         (gl_thread_self_func, wrapper_func, glthread_create_func,
49598         glthread_join_func, gl_thread_exit_func): Largely rewritten and
49599         simplified.
49600
49601 2008-09-30  Bruno Haible  <bruno@clisp.org>
49602
49603         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
49604         files.
49605
49606 2008-09-30  Jim Meyering  <meyering@redhat.com>
49607
49608         fts.m4: correct the test for statfs.f_type
49609         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
49610         when checking for statfs.f_type.
49611
49612 2008-09-15  Simon Josefsson  <simon@josefsson.org>
49613
49614         tests: avoid some compiler warnings
49615         * tests/test-memchr.c (main): Pass NULL indirectly.
49616         * tests/test-getdate.c (main): Remove unused variable 'ret'.
49617
49618 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
49619
49620         getdate.y: disallow countable dayshifts like "4 yesterday ago"
49621         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
49622         exactly specified dayshifts.
49623         (dayshift): New rule.
49624         (rel): Add dayshift.
49625         (relative_time_table) [tomorrow, yesterday, today, now]:
49626         Use tDAY_SHIFT in place of tDAY_UNIT.
49627         * tests/test-getdate.c: Add tests for now-disallowed countable
49628         dayshifts, e.g., "4 yesterday ago".
49629
49630 2008-09-29  Bruno Haible  <bruno@clisp.org>
49631
49632         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
49633         * tests/test-posix_spawn1.in.sh: Renamed from
49634         tests/test-posix_spawn.in.sh.
49635         * tests/test-posix_spawn2.c: New file.
49636         * tests/test-posix_spawn2.in.sh: New file.
49637         * modules/posix_spawnp-tests (Files): Update.
49638         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
49639
49640 2008-09-29  Bruno Haible  <bruno@clisp.org>
49641
49642         Propagate effects of putenv/setenv/unsetenv to child processes.
49643         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
49644         * lib/pipe.c (create_pipe): Likewise.
49645
49646 2008-09-29  Bruno Haible  <bruno@clisp.org>
49647
49648         Enable use of shell scripts as executables in mingw.
49649         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
49650         run the program as a shell script.
49651         * lib/pipe.c (create_pipe): Likewise.
49652         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
49653         resulting array.
49654
49655 2008-09-29  Eric Blake  <ebb9@byu.net>
49656
49657         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
49658
49659 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
49660
49661         * doc/posix-functions/accept.texi: Update mingw problems.
49662         * doc/posix-functions/bind.texi: Update mingw problems.
49663         * doc/posix-functions/close.texi: Update mingw problems.
49664         * doc/posix-functions/connect.texi: Update mingw problems.
49665         * doc/posix-functions/getpeername.texi: Update mingw problems.
49666         * doc/posix-functions/getsockname.texi: Update mingw problems.
49667         * doc/posix-functions/getsockopt.texi: Update mingw problems.
49668         * doc/posix-functions/ioctl.texi: Update mingw problems.
49669         * doc/posix-functions/listen.texi: Update mingw problems.
49670         * doc/posix-functions/recv.texi: Update mingw problems.
49671         * doc/posix-functions/recvfrom.texi: Update mingw problems.
49672         * doc/posix-functions/select.texi: Update mingw problems.
49673         * doc/posix-functions/send.texi: Update mingw problems.
49674         * doc/posix-functions/sendto.texi: Update mingw problems.
49675         * doc/posix-functions/setsockopt.texi: Update mingw problems.
49676         * doc/posix-functions/socket.texi: Update mingw problems.
49677
49678 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
49679             Bruno Haible  <bruno@clisp.org>
49680
49681         * lib/sys_select.in.h: Include sys/time.h.
49682         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
49683         * modules/sys_select: Depend on sys_time.
49684         * tests/test-sys_select.c: Test that sys/select.h defines struct
49685         timeval fully.
49686
49687 2008-09-29  Bruno Haible  <bruno@clisp.org>
49688
49689         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
49690         * lib/sys_select.in.h: Likewise.
49691
49692 2008-09-29  Bruno Haible  <bruno@clisp.org>
49693
49694         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
49695
49696 2008-09-29  Bruno Haible  <bruno@clisp.org>
49697
49698         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
49699         Set LIBSOCKET instead of augmenting LIBS.
49700         * modules/sockets (Link): New section.
49701         * modules/sockets-tests (test_sockets_LDADD): New variable.
49702         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
49703         * modules/poll-tests (test_poll_LDADD): New variable.
49704         * NEWS: Document the change.
49705
49706 2008-09-29  Bruno Haible  <bruno@clisp.org>
49707
49708         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
49709         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
49710         ARPA_INET_H directly.
49711         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49712
49713 2008-09-28  Bruno Haible  <bruno@clisp.org>
49714
49715         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
49716         from gl_HEADER_SYS_SOCKET.
49717         (gl_HEADER_SYS_SOCKET): Invoke it.
49718         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49719
49720 2008-09-28  Bruno Haible  <bruno@clisp.org>
49721
49722         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
49723         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
49724         Needed on OSF/1 4.0.
49725
49726 2008-09-28  Bruno Haible  <bruno@clisp.org>
49727
49728         Override open more carefully.
49729         * lib/open.c (orig_open): New function.
49730         (rpl_open): Use orig_open instead of open.
49731         * lib/fcntl.in.h: Add special invocation convention.
49732         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
49733         (gl_FUNC_OPEN): Invoke it.
49734
49735         Override freopen more carefully.
49736         * lib/freopen.c (orig_freopen): New function.
49737         (rpl_freopen): Use orig_freopen instead of freopen.
49738         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
49739         (gl_FUNC_FREOPEN): Invoke it.
49740
49741         Override fopen more carefully.
49742         * lib/fopen.c (orig_fopen): New function.
49743         (rpl_fopen): Use orig_fopen instead of fopen.
49744         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
49745         (gl_FUNC_FOPEN): Invoke it.
49746         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
49747
49748 2008-09-28  Bruno Haible  <bruno@clisp.org>
49749
49750         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
49751         SIGPIPE.
49752
49753 2008-09-28  Bruno Haible  <bruno@clisp.org>
49754
49755         * tests/test-sigaction.c (handler, main): Disable the check whether
49756         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
49757         glibc systems with LinuxThreads.
49758
49759 2008-09-28  Bruno Haible  <bruno@clisp.org>
49760
49761         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
49762
49763         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
49764         with AIX xlc.
49765         * lib/fcntl.in.h (open): Likewise.
49766         Reported by Rainer Tammer <tammer@tammer.net>.
49767
49768 2008-09-28  Bruno Haible  <bruno@clisp.org>
49769
49770         * modules/posix_spawnp-tests: New file.
49771         * tests/test-posix_spawn.c: New file.
49772         * tests/test-posix_spawn.in.sh: New file.
49773
49774         New module 'posix_spawnp'.
49775         * modules/posix_spawnp: New file.
49776         * lib/spawnp.c: New file, from GNU libc with modifications.
49777         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
49778
49779         New module 'posix_spawn'.
49780         * modules/posix_spawn: New file.
49781         * lib/spawn.c: New file, from GNU libc with modifications.
49782         * doc/posix-functions/posix_spawn.texi: Mention the new module.
49783
49784         New module 'posix_spawnattr_destroy'.
49785         * modules/posix_spawnattr_destroy: New file.
49786         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
49787         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
49788         module.
49789
49790         New module 'posix_spawnattr_setsigmask'.
49791         * modules/posix_spawnattr_setsigmask: New file.
49792         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
49793         modifications.
49794         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
49795         new module.
49796
49797         New module 'posix_spawnattr_getsigmask'.
49798         * modules/posix_spawnattr_getsigmask: New file.
49799         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
49800         modifications.
49801         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
49802         new module.
49803
49804         New module 'posix_spawnattr_setsigdefault'.
49805         * modules/posix_spawnattr_setsigdefault: New file.
49806         * lib/spawnattr_setdefault.c: New file, from GNU libc with
49807         modifications.
49808         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
49809         new module.
49810
49811         New module 'posix_spawnattr_getsigdefault'.
49812         * modules/posix_spawnattr_getsigdefault: New file.
49813         * lib/spawnattr_getdefault.c: New file, from GNU libc with
49814         modifications.
49815         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
49816         new module.
49817
49818         New module 'posix_spawnattr_setschedpolicy'.
49819         * modules/posix_spawnattr_setschedpolicy: New file.
49820         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
49821         modifications.
49822         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
49823         new module.
49824
49825         New module 'posix_spawnattr_getschedpolicy'.
49826         * modules/posix_spawnattr_getschedpolicy: New file.
49827         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
49828         modifications.
49829         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
49830         new module.
49831
49832         New module 'posix_spawnattr_setschedparam'.
49833         * modules/posix_spawnattr_setschedparam: New file.
49834         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
49835         modifications.
49836         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
49837         new module.
49838
49839         New module 'posix_spawnattr_getschedparam'.
49840         * modules/posix_spawnattr_getschedparam: New file.
49841         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
49842         modifications.
49843         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
49844         new module.
49845
49846         New module 'posix_spawnattr_setpgroup'.
49847         * modules/posix_spawnattr_setpgroup: New file.
49848         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
49849         modifications.
49850         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
49851         module.
49852
49853         New module 'posix_spawnattr_getpgroup'.
49854         * modules/posix_spawnattr_getpgroup: New file.
49855         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
49856         modifications.
49857         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
49858         module.
49859
49860         New module 'posix_spawnattr_setflags'.
49861         * modules/posix_spawnattr_setflags: New file.
49862         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
49863         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
49864         module.
49865
49866         New module 'posix_spawnattr_getflags'.
49867         * modules/posix_spawnattr_getflags: New file.
49868         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
49869         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
49870         module.
49871
49872         New module 'posix_spawnattr_init'.
49873         * modules/posix_spawnattr_init: New file.
49874         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
49875         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
49876         module.
49877
49878         New module 'posix_spawn_file_actions_destroy'.
49879         * modules/posix_spawn_file_actions_destroy: New file.
49880         * lib/spawn_faction_destroy.c: New file, from GNU libc with
49881         modifications.
49882         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
49883         the new module.
49884
49885         New module 'posix_spawn_file_actions_addopen'.
49886         * modules/posix_spawn_file_actions_addopen: New file.
49887         * lib/spawn_faction_addopen.c: New file, from GNU libc with
49888         modifications.
49889         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
49890         the new module.
49891
49892         New module 'posix_spawn_file_actions_adddup2'.
49893         * modules/posix_spawn_file_actions_adddup2: New file.
49894         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
49895         modifications.
49896         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
49897         the new module.
49898
49899         New module 'posix_spawn_file_actions_addclose'.
49900         * modules/posix_spawn_file_actions_addclose: New file.
49901         * lib/spawn_faction_addclose.c: New file, from GNU libc with
49902         modifications.
49903         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
49904         the new module.
49905
49906         New module 'posix_spawn_file_actions_init'.
49907         * modules/posix_spawn_file_actions_init: New file.
49908         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
49909         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
49910         new module.
49911
49912         New module 'posix_spawn-internal'.
49913         * modules/posix_spawn-internal: New file.
49914         * lib/spawn_int.h: New file, from GNU libc with modifications.
49915         * lib/spawni.c: New file, from GNU libc with modifications.
49916         * m4/posix_spawn.m4: New file.
49917
49918         New module 'spawn'.
49919         * modules/spawn: New file.
49920         * lib/spawn.in.h: New file, from GNU libc with modifications.
49921         * m4/spawn_h.m4: New file.
49922         * doc/posix-headers/spawn.texi: Mention the new module.
49923
49924 2008-09-28  Bruno Haible  <bruno@clisp.org>
49925
49926         * modules/sched-tests: New file.
49927         * tests/test-sched.c: New file.
49928
49929         New module 'sched'.
49930         * modules/sched: New file.
49931         * lib/sched.in.h: New file.
49932         * m4/sched_h.m4: New file.
49933         * doc/posix-headers/sched.texi: Mention the new module.
49934
49935 2008-09-27  Eric Blake  <ebb9@byu.net>
49936
49937         Fix previous patch, and tweak references to $0.
49938         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
49939         (func_version, func_gnulib_dir): Don't call this program
49940         gnulib-tool.
49941         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
49942         with using $0 in function.
49943         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
49944         (func_fatal_error): Reuse the name the user invoked us with.
49945
49946 2008-09-27  Bruno Haible  <bruno@clisp.org>
49947
49948         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
49949         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
49950         (gl_ICONV_H): Not here.
49951         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
49952         instead of assigning ICONV_H directly.
49953
49954         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
49955         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
49956         WCHAR_H directly.
49957
49958 2008-09-27  Bruno Haible  <bruno@clisp.org>
49959
49960         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
49961         * modules/arpa_inet (Depends-on): Add link-warning.
49962         (Makefile.am): Insert the definition of GL_LINK-WARNING.
49963         * modules/unistd (Makefile.am): Likewise.
49964
49965 2008-09-26  Bruno Haible  <bruno@clisp.org>
49966
49967         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
49968         variables.
49969         (func_version): Essentially copied from gnulib-tool.
49970         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
49971         func_readlink): Copied from gnulib-tool.
49972
49973 2008-09-26  Bruno Haible  <bruno@clisp.org>
49974
49975         * gnulib-tool (func_version): Change directory to $gnulib_dir before
49976         invoking git-version-gen.
49977
49978 2008-09-26  Bruno Haible  <bruno@clisp.org>
49979
49980         * posix-modules: Update to directory names changed on 2008-01-19.
49981         Remove commas in output before splitting into words. No more need to
49982         avoid 'ftruncate' since 2007-02-19.
49983
49984 2008-09-26  Bruno Haible  <bruno@clisp.org>
49985
49986         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
49987
49988 2008-09-26  Bruno Haible  <bruno@clisp.org>
49989
49990         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
49991         * modules/fwriteerror (Depends-on): Add errno.
49992
49993 2008-09-26  Bruno Haible  <bruno@clisp.org>
49994
49995         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
49996         * tests/test-vc-list-files-cvs.sh: Likewise.
49997
49998 2008-09-26  Bruno Haible  <bruno@clisp.org>
49999
50000         * doc/posix-headers/sys_resource.texi: Reorder items.
50001
50002 2008-09-26  Jim Meyering  <meyering@redhat.com>
50003
50004         fts: tweak inode comparison function
50005         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
50006         inode numbers, as documented.
50007
50008         fts: sort dirent entries on inode number before traversing
50009         This avoids a quadratic, seek-related performance penalty when
50010         operating on a directory containing many entries (measurable at 10k;
50011         3.5 hours at 2 million entries with a cold cache) on certain types
50012         of file systems, including ext3 and ext4, but not tmpfs.
50013         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
50014         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
50015         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
50016         (fs_handles_readdir_ordered_dirents_efficiently): New function.
50017         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
50018         (fts_build): Set the stat.st_ino member from D_INO.
50019         If it is likely to be useful, sort dirent entries on inode number.
50020
50021         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
50022         and the struct statfs.f_type member.
50023         * modules/fts (Depends-on): Add d-ino.
50024
50025 2008-09-26  Bruno Haible  <bruno@clisp.org>
50026
50027         * modules/sigpipe-die (Depends-on): Add sigpipe.
50028
50029         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
50030         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
50031         and GNULIB_STDIO_H_SIGPIPE are set.
50032         * lib/stdio-write.c: New file.
50033         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
50034         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50035         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50036         REPLACE_STDIO_WRITE_FUNCS.
50037         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
50038         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50039         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50040         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
50041         * modules/stdio (Files): Add lib/stdio-write.c.
50042         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
50043         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50044         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50045         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
50046         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
50047         REPLACE_FPRINTF_POSIX.
50048         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
50049         REPLACE_PRINTF_POSIX.
50050         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
50051         REPLACE_VFPRINTF_POSIX.
50052         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
50053         REPLACE_VPRINTF_POSIX.
50054         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
50055         SIGPIPE issue.
50056         * doc/posix-functions/fputc.texi: Likewise.
50057         * doc/posix-functions/fputs.texi: Likewise.
50058         * doc/posix-functions/fwrite.texi: Likewise.
50059         * doc/posix-functions/printf.texi: Likewise.
50060         * doc/posix-functions/putc.texi: Likewise.
50061         * doc/posix-functions/putchar.texi: Likewise.
50062         * doc/posix-functions/puts.texi: Likewise.
50063         * doc/posix-functions/vfprintf.texi: Likewise.
50064         * doc/posix-functions/vprintf.texi: Likewise.
50065
50066         * modules/safe-write (Depends-on): Add write.
50067
50068         * modules/sigpipe-tests: New file.
50069         * tests/test-sigpipe.c: New file.
50070         * tests/test-sigpipe.sh: New file.
50071
50072         * modules/write: New file.
50073         * lib/unistd.in.h: Include <sys/types.h>.
50074         (write): New declaration.
50075         * lib/write.c: New file.
50076         * m4/write.m4: New file.
50077         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50078         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
50079         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
50080         GNULIB_WRITE, REPLACE_WRITE.
50081         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
50082         and the SIGPIPE issue.
50083
50084         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
50085         (raise): New declaration.
50086         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
50087         (ext_signal): New function.
50088         (rpl_raise): New function.
50089         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
50090         GNULIB_SIGNAL_H_SIGPIPE.
50091         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
50092         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
50093
50094         * modules/sigpipe: New file.
50095         * m4/sigpipe.m4: New file.
50096
50097 2008-09-25  Derek Price  <derek@ximbiot.com>
50098             Bruno Haible  <bruno@clisp.org>
50099
50100         * gnulib-tool (func_import): Report all license incompatibilities, not
50101         just the first one.
50102
50103 2008-09-25  Bruno Haible  <bruno@clisp.org>
50104
50105         * gnulib-tool (func_import): When computing the edits, consider not
50106         only the Makefile.ams that exist but also those that will be generated.
50107
50108 2008-09-25  Simon Josefsson  <simon@josefsson.org>
50109
50110         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
50111         fixes gnulib-tool --test warning about duplicate dependency.
50112
50113 2008-09-25  Bruno Haible  <bruno@clisp.org>
50114
50115         * gnulib-tool: Don't ask the user to perform edits in the generated
50116         Makefile.ams.
50117         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
50118         apply to the Makefile.am being generated.
50119         (func_emit_tests_Makefile_am): Execute edits that apply to the
50120         Makefile.am being generated.
50121         (func_import): Setup list of Makefile.am edits before emitting the
50122         Makefile.ams, not at the end.
50123         (func_create_testdir): Update.
50124         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50125
50126 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50127
50128         * gnulib-tool (func_import): Store the --tests-base option in the
50129         comment in gnulib-cache.m4.
50130
50131 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
50132
50133         * NEWS: Document increased portability that sys_select now provides.
50134
50135         * lib/sys_select.in.h: Install select wrapper.
50136         * lib/sys_socket.in.h: Use more descriptive name when there is no
50137         select wrapper.
50138         * lib/winsock-select.c: New.
50139         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
50140         Require gl_HEADER_SYS_SOCKET.
50141         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
50142         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
50143         * tests/test-sys_select.c: Add functional tests.
50144
50145 2008-09-24  Eric Blake  <ebb9@byu.net>
50146
50147         open, fopen: close fd leak in last patch
50148         * lib/open.c (rpl_open): Close fd before returning error.
50149         * lib/fopen.c (rpl_fopen): Close fd before returning error.
50150         * doc/posix-functions/open.texi (open): Document that Irix also
50151         has the bug.
50152         * doc/posix-functions/fopen.texi (fopen): Likewise.
50153         Reported by Paolo Bonzini.
50154
50155 2008-09-24  Bruno Haible  <bruno@clisp.org>
50156
50157         Ensure that a filename ending in a slash cannot be used to access a
50158         non-directory.
50159         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
50160         to check whether it's really a directory.
50161         * lib/fopen.c: Include fcntl.h, unistd.h.
50162         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
50163         and fdopen().
50164         * modules/fopen (Depends-on): Add unistd.
50165         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
50166         * tests/test-fopen.c (main): Likewise.
50167         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
50168         * doc/posix-functions/fopen.texi: Likewise.
50169         Reported by Eric Blake.
50170
50171 2008-09-23  Eric Blake  <ebb9@byu.net>
50172
50173         c-stack: avoid compiler optimizations when provoking overflow
50174         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
50175         recursion harder to optimize, to ensure a stack overflow occurs.
50176         * tests/test-c-stack.c (recurse): Likewise.
50177         Borrowed from libsigsegv.
50178
50179         c-stack: work around Irix sigaltstack bug
50180         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
50181         whether sigaltstack uses wrong end of stack_t (copied in part from
50182         libsigsegv).
50183         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
50184         Irix bug, without requiring an over-allocation.
50185         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
50186         bug.
50187
50188         fopen: document mingw bug on directories
50189         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
50190         not allowing a stream visiting a directory, even though reading
50191         from such a stream is not portable.
50192
50193 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50194
50195         * lib/poll.c: Rewrite.
50196         * modules/poll: Depend on alloca.
50197
50198 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50199
50200         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
50201         instead define prototypes for a full set of wrappers.  Ensure
50202         that Cygwin does not use the compatibility code, which is only
50203         for MinGW.
50204         * lib/winsock.c: New.
50205         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
50206         * modules/sys_socket: Add lib/winsock.c.
50207
50208         * modules/poll-tests: Add errno and perror.
50209         * tests/test-poll.c: Use ioctl, not ioctlsocket.
50210
50211 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50212
50213         * tests/test-poll.c: Downgrade minimum needed Winsock version.
50214
50215 2008-09-23  Bruno Haible  <bruno@clisp.org>
50216
50217         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
50218         * doc/glibc-functions/*: Likewise.
50219
50220 2008-09-23  Simon Josefsson  <simon@josefsson.org>
50221
50222         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
50223         success.
50224
50225 2008-09-22  Eric Blake  <ebb9@byu.net>
50226             Bruno Haible  <bruno@clisp.org>
50227
50228         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
50229         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
50230         supply %A but mishandle pseudo-NaN.
50231         Reported by Simon Josefsson.
50232
50233 2008-09-21  Bruno Haible  <bruno@clisp.org>
50234
50235         * tests/test-lock.c (main): Tweak skip message.
50236         * tests/test-tls.c (main): Likewise.
50237
50238 2008-09-21  Bruno Haible  <bruno@clisp.org>
50239
50240         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
50241         whether 'struct sigaction' has sa_sigaction here...
50242         (gl_PREREQ_SIG_HANDLER_H): ... not here.
50243         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
50244
50245 2008-09-21  Bruno Haible  <bruno@clisp.org>
50246
50247         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
50248         section.
50249         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
50250         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
50251         the new section.
50252         (Support for obsolete systems lacking POSIX:2001): New section.
50253         (String handling <string.h>): Move strdup to the new section.
50254         Suggested by Simon Josefsson and Paolo Bonzini.
50255
50256 2008-09-21  Bruno Haible  <bruno@clisp.org>
50257
50258         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
50259         exponents in %e and %g results on 'long double'. Needed for mingw's
50260         improved *printf functions.
50261         * tests/test-vasprintf-posix.c (test_function): Likewise.
50262         * tests/test-snprintf-posix.h (test_function): Likewise.
50263         * tests/test-sprintf-posix.h (test_function): Likewise.
50264         Reported by Eric Blake.
50265
50266 2008-09-21  Bruno Haible  <bruno@clisp.org>
50267
50268         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
50269         * tests/test-sprintf-posix.h (test_function): Likewise.
50270
50271 2008-09-21  Bruno Haible  <bruno@clisp.org>
50272
50273         * modules/getpass (Depends-on): Add strdup-posix.
50274
50275         New module 'strdup-posix'.
50276         * modules/strdup-posix: New file.
50277         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
50278         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
50279         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
50280         REPLACE_STRDUP.
50281         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
50282         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
50283         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50284         strdup-posix.
50285
50286         * modules/strdup (Depends-on): Remove malloc-posix.
50287
50288 2008-09-20  Bruno Haible  <bruno@clisp.org>
50289
50290         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
50291         Wildenhues.
50292
50293 2008-09-20  Bruno Haible  <bruno@clisp.org>
50294
50295         Ensure that wint_t gets defined on IRIX 5.3.
50296         * lib/wchar.in.h (wint_t): Define if not defined by the system.
50297         * lib/wctype.in.h (wint_t): Likewise.
50298         (__wctype_wint_t): Remove type.
50299         (isw*): Use wint_t instead of __wctype_wint_t.
50300         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
50301         * modules/wchar (Files): Add m4/wint_t.m4.
50302         (Makefile.am): Substitute HAVE_WINT_T.
50303         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
50304         * tests/test-wctype.c: Check that wint_t is defined.
50305         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
50306         * doc/posix-headers/wctype.texi: Likewise.
50307         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50308
50309 2008-09-18  Bruno Haible  <bruno@clisp.org>
50310
50311         * gnulib-tool (func_exit): Update comment.
50312
50313 2008-09-18  Simon Josefsson  <simon@josefsson.org>
50314
50315         * modules/getaddrinfo (Depends-on): Remove strdup, this module
50316         assumes strdup exists and does not depend on strdup to return
50317         ENOMEM on out of memory conditions.
50318
50319 2008-09-18  Bruno Haible  <bruno@clisp.org>
50320
50321         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
50322         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
50323         digits for the exponent.
50324
50325 2008-09-18  Jim Meyering  <meyering@redhat.com>
50326             Bruno Haible  <bruno@clisp.org>
50327
50328         * lib/vasnprintf.c (decimal_point_char): Define also if
50329         NEED_PRINTF_INFINITE_LONG_DOUBLE.
50330
50331 2008-09-16  Bruno Haible  <bruno@clisp.org>
50332         and Eric Blake  <ebb9@byu.net>
50333
50334         vasnprintf: support Irix 5.3
50335         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
50336         that mishandle long double infinity.
50337         Reported by Tom G. Christensen.
50338
50339 2008-09-16  Bruno Haible  <bruno@clisp.org>
50340
50341         * doc/glibc-functions/scandir.texi: Mention the function is missing on
50342         Solaris 9.
50343         * doc/glibc-functions/alphasort.texi: Likewise.
50344         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
50345
50346 2008-09-16  Jim Meyering  <meyering@redhat.com>
50347
50348         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
50349         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
50350         a umask modification leak out of a subshell.  Otherwise, the
50351         opensolaris /bin/sh would be accepted and thus cause unwarranted
50352         failures in the coreutils test suite.
50353
50354 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
50355
50356         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
50357         to succeed.
50358
50359 2008-09-16  Jim Meyering  <meyering@redhat.com>
50360
50361         avoid spurious test failure when library is built without ACL support
50362         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
50363         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
50364         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
50365         * tests/test-copy-acl.sh: Likewise.
50366
50367 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50368
50369         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
50370         based on character occurrence counts.
50371
50372 2008-09-15  Eric Blake  <ebb9@byu.net>
50373
50374         tests: avoid some compiler warnings
50375         * tests/test-memchr.c (main): Pass NULL indirectly.
50376         * tests/test-closein.c (main): Avoid unused variable.
50377
50378 2008-09-15  Bruno Haible  <bruno@clisp.org>
50379
50380         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
50381         are missing on OpenBSD 4.0 individually.
50382         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50383
50384 2008-09-15  Bruno Haible  <bruno@clisp.org>
50385
50386         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
50387         * doc/posix-functions/strerror.texi: Mention also Cygwin.
50388         * doc/posix-functions/perror.texi: Likewise.
50389         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
50390         is missing.
50391         Reported by Eric Blake.
50392
50393         * lib/errno.in.h: Use replacement values >= 2000.
50394         Reported by Eric Blake.
50395
50396 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50397
50398         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
50399         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
50400         limit.
50401         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
50402         compareseq was aborted.
50403
50404 2008-09-14  Bruno Haible  <bruno@clisp.org>
50405
50406         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
50407         yvec_edit_count.
50408         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
50409         (fstrcmp_bounded): Simplify result computation accordingly.
50410
50411 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50412
50413         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
50414         (fstrcmp): Define in terms of fstrcmp_bounded.
50415         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
50416         lower_bound argument.
50417         Return quickly if the result is certainly < lower_bound.
50418         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
50419
50420 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50421
50422         * lib/diffseq.h (EARLY_ABORT): New macro.
50423         (compareseq): Change return type to bool. Return true when EARLY_ABORT
50424         evaluates to true.
50425
50426 2008-09-14  Bruno Haible  <bruno@clisp.org>
50427
50428         * modules/perror-tests: New file.
50429         * tests/test-perror.sh: New file.
50430         * tests/test-perror.c: New file.
50431
50432         New module 'perror'.
50433         * lib/stdio.in.h (perror): New declaration.
50434         * lib/perror.c: New file.
50435         * m4/perror.m4: New file.
50436         * modules/perror: New file.
50437         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
50438         * doc/posix-functions/perror.texi: Mention the perror module.
50439         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
50440         REPLACE_PERROR.
50441         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
50442         REPLACE_PERROR.
50443
50444 2008-09-14  Bruno Haible  <bruno@clisp.org>
50445
50446         * modules/stdio (Makefile.am): Reorder to match the order in
50447         lib/stdio.in.h.
50448         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
50449
50450 2008-09-13  Bruno Haible  <bruno@clisp.org>
50451
50452         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
50453
50454 2008-09-13  Bruno Haible  <bruno@clisp.org>
50455
50456         Extend strerror to cover the added errno values.
50457         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
50458         (rpl_strerror): Provide error messages for the added errno values and
50459         for the WSA* values.
50460         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
50461         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
50462         strerror.
50463         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
50464         * modules/strerror (Depends-on): Add errno.
50465         * doc/posix-functions/strerror.texi: Document the change.
50466         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
50467         and EOVERFLOW.
50468
50469 2008-09-13  Bruno Haible  <bruno@clisp.org>
50470
50471         * modules/EOVERFLOW: Remove file.
50472         * m4/eoverflow.m4: Remove file.
50473         * modules/EOVERFLOW-tests: Remove file.
50474         * tests/test-EOVERFLOW.c: Remove file.
50475         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
50476         * modules/ftell (Depends-on): Likewise.
50477         * modules/getdelim (Depends-on): Likewise.
50478         * modules/getugroups (Depends-on): Likewise.
50479         * modules/poll (Depends-on): Likewise.
50480         * modules/snprintf (Depends-on): Likewise.
50481         * modules/sprintf-posix (Depends-on): Likewise.
50482         * modules/vasnprintf (Depends-on): Likewise.
50483         * modules/vasprintf (Depends-on): Likewise.
50484         * modules/vfprintf-posix (Depends-on): Likewise.
50485         * modules/vsnprintf (Depends-on): Likewise.
50486         * modules/vsprintf-posix (Depends-on): Likewise.
50487         * modules/xvasprintf (Depends-on): Likewise.
50488         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
50489         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
50490         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
50491         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
50492         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
50493         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
50494         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
50495         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
50496         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
50497         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
50498         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
50499         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
50500         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
50501         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
50502         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
50503         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
50504         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
50505         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
50506         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
50507         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
50508         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
50509         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
50510         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
50511         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
50512         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
50513         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
50514         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
50515         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
50516         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
50517         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
50518         * MODULES.html.sh: Remove EOVERFLOW.
50519         * NEWS: Mention the change.
50520
50521 2008-09-13  Bruno Haible  <bruno@clisp.org>
50522
50523         * modules/errno-tests: New file.
50524         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
50525
50526         * lib/errno.in.h: New file.
50527         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
50528         * modules/errno: New file.
50529         * doc/posix-headers/errno.texi: Update documentation.
50530         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
50531
50532 2008-09-13  Bruno Haible  <bruno@clisp.org>
50533
50534         * tests/test-poll.c: Use #if for native Windows, rather than testing
50535         __MSVCRT__.
50536
50537 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50538             Bruno Haible  <bruno@clisp.org>
50539
50540         * lib/glob.c: Don't include <pwd.h> on native Windows.
50541         (WINDOWS32): New macro.
50542         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
50543
50544 2008-09-13  Bruno Haible  <bruno@clisp.org>
50545
50546         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
50547         (ETIMEDOUT): Remove macro.
50548         (glthread_cond_timedwait_multithreaded): New declaration.
50549         (glthread_cond_timedwait): Use it.
50550         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
50551         (glthread_cond_timedwait_multithreaded): New function.
50552
50553 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
50554
50555         * modules/poll-tests: Do not check for io.h.
50556         * tests/test-poll.c: Check for __MSVCRT__ instead.
50557
50558 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
50559
50560         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
50561         * modules/poll-tests: Add inet_pton, stdbool, sockets.
50562         * tests/test-poll.c: Use them.  Use _pipe on Windows.
50563
50564 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
50565
50566         * modules/poll-tests: New.
50567         * tests/test-poll.c: New.
50568
50569 2008-09-12  Eric Blake  <ebb9@byu.net>
50570
50571         frexp: test for NetBSD failure on -0.0
50572         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
50573         not all, bugs from NetBSD 3.0 have been fixed.
50574         * doc/posix-functions/frexp.texi (frexp): Document bug.
50575         Reported by Thomas Klausner.
50576
50577         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
50578         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
50579         literal -0.0.
50580         Reported by Jonathan C. Patschke <jp@centtech.com>.
50581
50582 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50583
50584         * lib/glthread/cond.h: Use dummy implementation also if
50585         USE_WIN32_THREADS.
50586
50587 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50588
50589         * modules/fnmatch-posix (License): Change to LGPLv2+.
50590         * modules/fnmatch-gnu (License): Likewise.
50591
50592 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50593
50594         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
50595
50596 2008-09-11  Jim Meyering  <meyering@redhat.com>
50597
50598         * users.txt: Add gtk-vnc.
50599
50600 2008-09-08  Simon Josefsson  <simon@josefsson.org>
50601
50602         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
50603         rotate amounts.
50604
50605         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
50606         required for 16-bit and 8-bit rotates.
50607         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
50608         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
50609         UINT8_MAX instead of hard-coded constants.
50610         Suggested by Paul Eggert.
50611
50612 2008-09-07  Bruno Haible  <bruno@clisp.org>
50613
50614         * tests/test-striconveh.c (main): Check behaviour when converting from
50615         UTF-7.
50616
50617         Make striconveh work better with stateful encodings.
50618         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
50619         that iconv does not increment the inptr when returning -1/EINVAL.
50620
50621 2008-09-07  Bruno Haible  <bruno@clisp.org>
50622
50623         * build-aux/config.rpath: Update according to libtool-2.2.6.
50624         * build-aux/config.libpath: Likewise.
50625
50626 2008-09-06  Bruno Haible  <bruno@clisp.org>
50627
50628         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
50629         * lib/freadptr.c (freadptr): Likewise.
50630         * lib/freadseek.c (freadptrinc): Likewise.
50631         Reported by Simon Josefsson.
50632
50633 2008-09-06  Bruno Haible  <bruno@clisp.org>
50634
50635         * modules/freadptr (License): Change to LGPLv2+.
50636         * modules/freadseek (License): Likewise.
50637         Suggested by Eric Blake.
50638
50639         * modules/memchr2 (License): Change to LGPLv2+.
50640         Approved by Eric Blake.
50641
50642 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50643             Bruno Haible  <bruno@clisp.org>
50644
50645         Make gnulib-tool work with native 'sed' on AIX.
50646         * gnulib-tool (sed_noop): New variable.
50647         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
50648         func_add_or_update, func_create_testdir): Use it to initialize sed
50649         script variables.
50650         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50651
50652 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
50653             Bruno Haible  <bruno@clisp.org>
50654
50655         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
50656         also works after #include directives.
50657
50658 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
50659
50660         getdate.y: reject an out-of-range timezone value
50661         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
50662         the range [-24...+24].  When specified with only one or two digits,
50663         * tests/test-getdate.c: Tests for the fix.
50664         * doc/getdate.texi: Document this change.
50665
50666 2008-09-03  Bruno Haible  <bruno@clisp.org>
50667
50668         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
50669
50670 2008-09-02  Simon Josefsson  <simon@josefsson.org>
50671
50672         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
50673         <bruce.korb@gmail.com> with ideas from Ben Pfaff
50674         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
50675         Blake <ebb9@byu.net>.
50676
50677         * tests/test-bitrotate.c: Add more test vectors.
50678
50679 2008-09-02  Eric Blake  <ebb9@byu.net>
50680
50681         vasnprintf-posix: handle large precision via %.*d
50682         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
50683         when handling it ourselves.
50684         * tests/test-vasnprintf-posix.c (test_function): Add test.
50685         * tests/test-snprintf-posix.h (test_function): Likewise.
50686         * tests/test-sprintf-posix.h (test_function): Likewise.
50687         * tests/test-vasprintf-posix.c (test_function): Likewise.
50688         Reported by Alain Guibert.
50689
50690 2008-09-01  Eric Blake  <ebb9@byu.net>
50691
50692         c-stack: make configure-time check more robust
50693         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
50694         successful sigaction call.
50695         Reported by Tom G. Christensen.
50696
50697 2008-09-01  Bruno Haible  <bruno@clisp.org>
50698
50699         New module 'findprog-lgpl'.
50700         * modules/findprog-lgpl: New file.
50701         * lib/findprog-lgpl.c: New file.
50702         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
50703         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
50704         to decide whether to use strdup or xstrdup, concatenated_filename or
50705         xconcatenated_filename.
50706
50707 2008-09-01  Bruno Haible  <bruno@clisp.org>
50708
50709         Split module 'concat-filename' into 'concat-filename' (LGPL) and
50710         'xconcat-filename' (GPL).
50711         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
50712         (License): Change to LGPLv2+.
50713         * modules/xconcat-filename: New file.
50714         * lib/concat-filename.h (concatenated_filename): Change specification.
50715         (xconcatenated_filename): New declaration.
50716         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
50717         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
50718         memory situations.
50719         * lib/xconcat-filename.c: New file.
50720         * NEWS: Mention the change.
50721         * lib/findprog.c: Include concat-filename.h, not filename.h.
50722         (find_in_path): Use xconcatenated_filename instead of
50723         concatenated_filename.
50724         * lib/javacomp.c: Include concat-filename.h, not filename.h.
50725         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
50726         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
50727         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
50728         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
50729         instead of concatenated_filename.
50730         * lib/javaexec.c: Include concat-filename.h, not filename.h.
50731         (execute_java_class): Use xconcatenated_filename instead of
50732         concatenated_filename.
50733         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
50734         * modules/javacomp (Depends-on): Likewise.
50735         * modules/javaexec (Depends-on): Likewise.
50736
50737 2008-09-01  Bruno Haible  <bruno@clisp.org>
50738
50739         Split module 'filename' into 'filename' and 'concat-filename'.
50740         * modules/filename: Keep only lib/filename.h.
50741         (License): Change to LGPLv2+.
50742         * modules/concat-filename: New file, extracted from modules/filename.
50743         * lib/filename.h (concatenated_filename): Remove declaration.
50744         * lib/concat-filename.h: New file, extracted from lib/filename.h.
50745         * lib/concat-filename.c: Include concat-filename.h.
50746         * NEWS: Mention the change.
50747
50748 2008-09-01  Simon Josefsson  <simon@josefsson.org>
50749
50750         * lib/bitrotate.h (rotl8, rotr8): Add.
50751
50752         * modules/bitrotate (configure.ac): Need
50753         AC_REQUIRE([AC_C_INLINE]).
50754         (Description): Mention stdint.h.  Reported by Bruno Haible
50755         <bruno@clisp.org>.
50756
50757         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
50758         Paolo Bonzini <bonzini@gnu.org>.
50759
50760 2008-08-31  Bruno Haible  <bruno@clisp.org>
50761
50762         Assume Solaris specific bi-arch conventions on Solaris systems.
50763         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
50764         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
50765         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
50766         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
50767         like acl_libdirstem.
50768         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
50769         acl_libdirstem.
50770         * NEWS: Mention the change.
50771         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
50772
50773 2008-08-31  Jim Meyering  <meyering@redhat.com>
50774
50775         * lib/strftime.h: Add comments describing the two added arguments.
50776
50777         remove duplicate #include directives
50778         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
50779         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
50780
50781 2008-08-31  Bruno Haible  <bruno@clisp.org>
50782
50783         New module 'sigpipe-die'.
50784         * modules/sigpipe-die: New file.
50785         * lib/sigpipe-die.h: New file.
50786         * lib/sigpipe-die.c: New file.
50787         * MODULES.html.sh (Signal handling): Add sigpipe-die.
50788
50789 2008-08-31  Bruno Haible  <bruno@clisp.org>
50790
50791         Don't override previously installed signal handlers.
50792         * lib/fatal-signal.c (saved_sigactions): New variable.
50793         (uninstall_handlers): Reset the signal to the saved handler, not
50794         to SIG_DFL (except when ignored).
50795         (install_handlers): Save the previous handlers.
50796
50797 2008-08-30  Bruno Haible  <bruno@clisp.org>
50798
50799         * gnulib-tool (func_reset_sigpipe): New function.
50800         (func_get_automake_snippet, func_modules_transitive_closure,
50801         func_import): Invoke it before a join command that reads from stdin,
50802         to avoid "echo: write error: Broken pipe" error messages on stderr.
50803         Reported by Sam Steingold <sds@gnu.org>.
50804
50805 2008-08-30  Bruno Haible  <bruno@clisp.org>
50806
50807         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
50808         Code copied from m4/open.m4.
50809         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
50810         access and the filename ends in a slash. Code copied from lib/open.c.
50811         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
50812         * tests/test-fopen.c (main): Check against bug with trailing slash.
50813
50814 2008-08-29  Bruno Haible  <bruno@clisp.org>
50815
50816         Avoid some "gcc -pedantic" warnings.
50817         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
50818         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
50819         * lib/dirent.in.h: Likewise.
50820         * lib/fcntl.in.h: Likewise.
50821         * lib/float.in.h: Likewise.
50822         * lib/iconv.in.h: Likewise.
50823         * lib/inttypes.in.h: Likewise.
50824         * lib/locale.in.h: Likewise.
50825         * lib/math.in.h: Likewise.
50826         * lib/netinet_in.in.h: Likewise.
50827         * lib/search.in.h: Likewise.
50828         * lib/signal.in.h: Likewise.
50829         * lib/stdarg.in.h: Likewise.
50830         * lib/stdint.in.h: Likewise.
50831         * lib/stdio.in.h: Likewise.
50832         * lib/stdlib.in.h: Likewise.
50833         * lib/string.in.h: Likewise.
50834         * lib/strings.in.h: Likewise.
50835         * lib/sys_select.in.h: Likewise.
50836         * lib/sys_socket.in.h: Likewise.
50837         * lib/sys_stat.in.h: Likewise.
50838         * lib/sys_time.in.h: Likewise.
50839         * lib/sysexits.in.h: Likewise.
50840         * lib/time.in.h: Likewise.
50841         * lib/unistd.in.h: Likewise.
50842         * lib/wchar.in.h: Likewise.
50843         * lib/wctype.in.h: Likewise.
50844         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
50845         * modules/fchdir (Makefile.am): Likewise.
50846         * modules/fcntl (Makefile.am): Likewise.
50847         * modules/float (Makefile.am): Likewise.
50848         * modules/iconv_open (Makefile.am): Likewise.
50849         * modules/inttypes (Makefile.am): Likewise.
50850         * modules/locale (Makefile.am): Likewise.
50851         * modules/math (Makefile.am): Likewise.
50852         * modules/netinet_in (Makefile.am): Likewise.
50853         * modules/search (Makefile.am): Likewise.
50854         * modules/signal (Makefile.am): Likewise.
50855         * modules/stdarg (Makefile.am): Likewise.
50856         * modules/stdint (Makefile.am): Likewise.
50857         * modules/stdio (Makefile.am): Likewise.
50858         * modules/stdlib (Makefile.am): Likewise.
50859         * modules/string (Makefile.am): Likewise.
50860         * modules/strings (Makefile.am): Likewise.
50861         * modules/sys_select (Makefile.am): Likewise.
50862         * modules/sys_socket (Makefile.am): Likewise.
50863         * modules/sys_stat (Makefile.am): Likewise.
50864         * modules/sys_time (Makefile.am): Likewise.
50865         * modules/sysexits (Makefile.am): Likewise.
50866         * modules/time (Makefile.am): Likewise.
50867         * modules/unistd (Makefile.am): Likewise.
50868         * modules/wchar (Makefile.am): Likewise.
50869         * modules/wctype (Makefile.am): Likewise.
50870         Reported by Reuben Thomas <rrt@sc3d.org>.
50871
50872 2008-08-29  Bruno Haible  <bruno@clisp.org>
50873
50874         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
50875         any more.
50876
50877 2008-08-29  Simon Josefsson  <simon@josefsson.org>
50878
50879         * MODULES.html.sh (Misc): Add bitrotate.
50880
50881         * modules/bitrotate: New file.
50882
50883         * lib/bitrotate.h: New file.
50884
50885         * modules/bitrotate-tests: New file.
50886
50887         * tests/test-bitrotate.c: New file.
50888
50889         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
50890         on the bitrotate module.
50891
50892         * lib/arctwo.c: Use new bitrotate module.
50893
50894 2008-08-29  Jim Meyering  <meyering@redhat.com>
50895
50896         bootstrap: merge changes from coreutils
50897         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
50898         of copied files.  Remove a kludge, now that this is fixed.
50899         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
50900         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
50901         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
50902
50903 2008-08-29  Bruno Haible  <bruno@clisp.org>
50904
50905         * MODULES.html.sh: Remove --cvs-urls option.
50906
50907 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
50908
50909         maint.mk: adjust to file name change
50910         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
50911
50912 2008-08-28  Jim Meyering  <meyering@redhat.com>
50913
50914         * modules/getndelim2 (License): Relicense to LGPLv2+.
50915         Approved by Richard Stallman for the version of 1995, and by
50916         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
50917
50918 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
50919
50920         * lib/getdelim.c (flockfile, funlockfile): Make all of them
50921         dummy if one is not available.  Do not touch them if
50922         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
50923         (getc_maybe_unlocked): New.
50924         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
50925
50926 2008-08-26  Eric Blake  <ebb9@byu.net>
50927
50928         doc/INSTALL: resync from autoconf
50929         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
50930         (INSTALL_PRELUDE): Delete; this is done more efficiently by
50931         moving...
50932         * install.texi [!autoconf]: ...here.  Resync from autoconf.
50933         * INSTALL: Regenerate.
50934         * INSTALL.ISO: New file.
50935         * INSTALL.UTF-8: Likewise.
50936
50937 2008-08-26  Jim Meyering  <meyering@redhat.com>
50938
50939         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
50940         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
50941         these definitions conditional, so that they may be overridden, too.
50942
50943 2008-08-26  Bruno Haible  <bruno@clisp.org>
50944
50945         Generate INSTALL file variants with prettier quotes.
50946         * doc/Makefile (INSTALL_PRELUDE): New macro.
50947         (INSTALL): Use it.
50948         (INSTALL.ISO, INSTALL.UTF-8): New rules.
50949
50950 2008-08-26  Bruno Haible  <bruno@clisp.org>
50951
50952         Run makeinfo in an English locale.
50953         * doc/Makefile (MAKEINFO): New variable.
50954
50955 2008-08-26  Bruno Haible  <bruno@clisp.org>
50956
50957         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
50958         Suggested by Eric Blake.
50959
50960 2008-08-25  Bruno Haible  <bruno@clisp.org>
50961
50962         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
50963
50964 2008-08-25  Eric Blake  <ebb9@byu.net>
50965
50966         c-stack: test that stack overflow can be caught
50967         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
50968         that platform allows handling stack overflow; at least OS/2 EMX
50969         has sigaltstack, but crashes before transferring control to
50970         handler on stack overflow.
50971         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
50972         check for HAVE_STACK_OVERFLOW_HANDLING.
50973         Reported by Elbert Pol.
50974
50975 2008-08-25  Bruno Haible  <bruno@clisp.org>
50976
50977         * doc/posix-functions/strftime.texi: Fix description of strftime
50978         module.
50979
50980 2008-08-24  Bruno Haible  <bruno@clisp.org>
50981
50982         * tests/uniwidth/test-uc_width2.c: New file.
50983         * tests/uniwidth/test-uc_width2.sh: New file.
50984         * modules/uniwidth/width-tests (Files): Add the new files.
50985         (TESTS): Add uniwidth/test-uc_width2.sh.
50986         (TESTS_ENVIRONMENT): New variable.
50987         (check_PROGRAMS): Add test-uc_width2.
50988         (test_uc_width2_SOURCES): New variable.
50989
50990         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
50991         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
50992         not 0x00AB.
50993         Reported by Alexander V. Lukyanov <lav@netis.ru>.
50994
50995 2008-08-22  Eric Blake  <ebb9@byu.net>
50996
50997         test-lock, test-tls: mention why a test is skipped
50998         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
50999         skipped.
51000         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
51001
51002         count-one-bits: relax license
51003         * modules/count-one-bits (License): Relicense to LGPLv2+.
51004         Suggested by Ludovic Courtès, approved by Ben Pfaff.
51005
51006 2008-08-22  Andreas Schwab  <schwab@suse.de>
51007
51008         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
51009         Remove spurious space in assignment.
51010
51011 2008-08-21  Simon Josefsson  <simon@josefsson.org>
51012
51013         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
51014         Paul Eggert <eggert@CS.UCLA.EDU>.
51015
51016 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
51017
51018         * modules/gettext: Add m4/threadlib.m4.
51019
51020 2008-08-19  Eric Blake  <ebb9@byu.net>
51021
51022         test-c-stack: fix compilation failure on FreeBSD 5.0
51023         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
51024         headers before <sys/resource.h>.
51025         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
51026         the bug.
51027         Reported by Nelson H. F. Beebe.
51028
51029         strverscmp: migrate from "strverscmp.h" to <string.h>
51030         * modules/string (Makefile.am): Add new hooks.
51031         * modules/strverscmp (Files): Remove strverscmp.h.
51032         (Depends-on): Add string.
51033         (configure.ac): Add indicator.
51034         (Include): Mention new header.
51035         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
51036         defaults.
51037         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
51038         results.
51039         * lib/strverscmp.h: Delete.
51040         * lib/string.in.h (strverscmp): Provide declaration, when needed.
51041         * tests/test-strverscmp.c (includes): Adjust client.
51042         * lib/check-version.c (includes): Likewise.
51043         * NEWS: Document the change.
51044
51045         strverscmp: add unit test
51046         * modules/strverscmp-tests: New file.
51047         * tests/test-strverscmp.c: Likewise.
51048
51049 2008-08-19  Simon Josefsson  <simon@josefsson.org>
51050
51051         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
51052         regarding Windows crypto stuff, from Mono.
51053
51054 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
51055
51056         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
51057         if present, for intel RND.  Return error on failures.
51058
51059 2008-08-18  Ben Pfaff  <blp@gnu.org>
51060
51061         gitlog-to-changelog: give better diagnostic for failed pipe-open
51062         * build-aux/gitlog-to-changelog: Improve error message: suggest
51063         that the version of Git may be too old.
51064
51065 2008-08-18  Simon Josefsson  <simon@josefsson.org>
51066
51067         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
51068         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
51069
51070 2008-08-18  Bruno Haible  <bruno@clisp.org>
51071
51072         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
51073         pthread_in_use().
51074
51075 2008-08-18  Bruno Haible  <bruno@clisp.org>
51076
51077         * lib/glthread/threadlib.c: Include <pthread.h>.
51078
51079 2008-08-18  Bruno Haible  <bruno@clisp.org>
51080
51081         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
51082         glthread_recursive_lock_* macros.
51083         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
51084         Fix syntax error.
51085
51086 2008-08-18  Bruno Haible  <bruno@clisp.org>
51087
51088         * lib/glthread/thread.c: Avoid forcing a context switch right after
51089         thread creation.
51090
51091 2008-08-17  Bruno Haible  <bruno@clisp.org>
51092
51093         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
51094         * lib/glthread/thread.h: Provide Win32 specific implementation.
51095         * modules/thread (Files): Add lib/glthread/thread.c.
51096         (Depends-on): Add lock.
51097         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
51098
51099 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51100
51101         New module 'yield'.
51102         * modules/yield: New file.
51103         * lib/glthread/yield.h: New file.
51104         * m4/yield.m4: New file.
51105         * MODULES.html.sh (Multithreading): Add yield.
51106
51107 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51108
51109         New module 'thread'.
51110         * modules/thread: New file.
51111         * lib/glthread/thread.h: New file.
51112         * m4/thread.m4: New file.
51113         * MODULES.html.sh (Multithreading): Add thread.
51114
51115 2008-08-17  Bruno Haible  <bruno@clisp.org>
51116
51117         * lib/glthread/lock.h: Include <stdlib.h> always.
51118         * lib/glthread/tls.h: Likewise.
51119         * lib/glthread/cond.h: Likewise.
51120
51121 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51122
51123         New module 'cond'.
51124         * modules/cond: New file.
51125         * lib/glthread/cond.h: New file.
51126         * lib/glthread/cond.c: New file.
51127         * m4/cond.m4: New file.
51128         * MODULES.html.sh (Multithreading): Add cond.
51129
51130 2008-08-16  Eric Blake  <ebb9@byu.net>
51131
51132         c-stack: fix regression on Irix 5.3 from 2008-06-21
51133         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
51134         sa_sigaction...
51135         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
51136         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
51137         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
51138         * modules/signal (Makefile.am): Use the value.
51139         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
51140         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
51141         * doc/posix-headers/signal.texi (signal.h): Document this
51142         portability issue.
51143         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
51144         Reported by Tom G. Christensen.
51145
51146 2008-08-17  Bruno Haible  <bruno@clisp.org>
51147
51148         New module 'threadlib'.
51149         * modules/threadlib: New file.
51150         * lib/glthread/threadlib.c: New file, extracted from
51151         lib/glthread/lock.c.
51152         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
51153         functions.
51154         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
51155         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
51156         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
51157         macros.
51158         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
51159         (gl_DISABLE_THREADS): Remove macro.
51160         * modules/lock (Files): Remove build-aux/config.rpath.
51161         (Depends-on): Remove havelib. Add threadlib.
51162         (configure.ac-early): Remove section.
51163         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
51164         * modules/tls (Depends-on): Remove lock. Add threadlib.
51165         (Link): New section, copied from threadlib.
51166         * MODULES.html.sh (Multithreading): Add threadlib.
51167
51168 2008-08-14  Bruno Haible  <bruno@clisp.org>
51169
51170         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
51171         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
51172         glthread_rwlock_unlock, glthread_rwlock_destroy,
51173         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
51174         glthread_recursive_lock_destroy): Define as macros always.
51175         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
51176         glthread_lock_lock.
51177         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
51178         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
51179         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
51180         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
51181         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
51182         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
51183         (glthread_recursive_lock_lock_func): Renamed from
51184         glthread_recursive_lock_lock.
51185         (glthread_recursive_lock_unlock_func): Renamed from
51186         glthread_recursive_lock_unlock.
51187         (glthread_recursive_lock_destroy_func): Renamed from
51188         glthread_recursive_lock_destroy.
51189
51190 2008-08-14  Bruno Haible  <bruno@clisp.org>
51191
51192         * lib/glthread/lock.h: Renamed from lib/lock.h.
51193         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
51194         * lib/glthread/tls.h: Renamed from lib/tls.h.
51195         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
51196         * lib/fstrcmp.c: Update includes.
51197         * lib/strsignal.c: Update includes.
51198         * modules/lock (Files, Makefile.am): Update.
51199         (Include): Change to "glthread/lock.h".
51200         * modules/tls (Files, Makefile.am): Update.
51201         (Include): Change to "glthread/tls.h".
51202         * tests/test-lock.c: Update includes.
51203         * tests/test-tls.c: Update includes.
51204         * NEWS: Mention the renamed header files.
51205
51206 2008-08-11  Jim Meyering  <meyering@redhat.com>
51207
51208         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
51209
51210 2008-08-11  Eric Blake  <ebb9@byu.net>
51211
51212         test-c-stack: avoid C99-ism
51213         * tests/test-c-stack.c (main): Fix whitespace, move declaration
51214         before statement.
51215         Reported by Alain Guibert.
51216
51217 2008-08-10  Jim Meyering  <meyering@redhat.com>
51218
51219         ensure that return value of uinttostr et al are not ignored
51220         * lib/inttostr.h (__GNUC_PREREQ): Define.
51221         (__attribute_warn_unused_result__): Define.
51222         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
51223
51224 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
51225
51226         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
51227         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
51228
51229 2008-08-07  Jim Meyering  <meyering@redhat.com>
51230
51231         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
51232
51233         * modules/mkstemp (License): Relicense under LGPLv2+.
51234         * modules/tempname (License): Likewise.
51235
51236 2008-08-06  Bruno Haible  <bruno@clisp.org>
51237
51238         * lib/poll.c (poll): Further micro-optimization.
51239
51240 2008-08-06  Jim Meyering  <meyering@redhat.com>
51241
51242         inet_pton.c: use locale-independent tolower
51243         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
51244         (inet_pton6): Use c_tolower rather than tolower.
51245         * modules/inet_pton (Depends-on): Add c-ctype.
51246
51247 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
51248
51249         * lib/poll.c (poll): Avoid division when timeout is 0, cache
51250         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
51251
51252 2008-08-06  Jim Meyering  <meyering@redhat.com>
51253
51254         * modules/inet_pton (License): Relicense under LGPLv2+.
51255
51256 2008-08-03  Bruno Haible  <bruno@clisp.org>
51257
51258         Additional non-aborting API for lock and tls.
51259         * lib/lock.h: Include <errno.h>.
51260         (glthread_lock_init): New macro/function.
51261         (gl_lock_init): Define as wrapper around glthread_lock_init.
51262         (glthread_lock_lock): New macro/function.
51263         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
51264         (glthread_lock_unlock): New macro/function.
51265         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
51266         (glthread_lock_destroy): New macro/function.
51267         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
51268         (glthread_rwlock_init): New macro/function.
51269         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
51270         (glthread_rwlock_rdlock): New macro/function.
51271         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
51272         (glthread_rwlock_wrlock): New macro/function.
51273         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
51274         (glthread_rwlock_unlock): New macro/function.
51275         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
51276         (glthread_rwlock_destroy): New macro/function.
51277         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
51278         (glthread_recursive_lock_init): New macro/function.
51279         (gl_recursive_lock_init): Define as wrapper around
51280         glthread_recursive_lock_init.
51281         (glthread_recursive_lock_lock): New macro/function.
51282         (gl_recursive_lock_lock): Define as wrapper around
51283         glthread_recursive_lock_lock.
51284         (glthread_recursive_lock_unlock): New macro/function.
51285         (gl_recursive_lock_unlock): Define as wrapper around
51286         glthread_recursive_lock_unlock.
51287         (glthread_recursive_lock_destroy): New macro/function.
51288         (gl_recursive_lock_destroy): Define as wrapper around
51289         glthread_recursive_lock_destroy.
51290         (glthread_once): New macro/function.
51291         (gl_once): Define as wrapper around glthread_once.
51292         Update function declarations.
51293         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
51294         glthread_rwlock_init. Return error code.
51295         (glthread_rwlock_rdlock_multithreaded): Renamed from
51296         glthread_rwlock_rdlock. Return error code.
51297         (glthread_rwlock_wrlock_multithreaded): Renamed from
51298         glthread_rwlock_wrlock. Return error code.
51299         (glthread_rwlock_unlock_multithreaded): Renamed from
51300         glthread_rwlock_unlock. Return error code.
51301         (glthread_rwlock_destroy_multithreaded): Renamed from
51302         glthread_rwlock_destroy. Return error code.
51303         (glthread_recursive_lock_init_multithreaded): Renamed from
51304         glthread_recursive_lock_init. Return error code.
51305         (glthread_recursive_lock_lock_multithreaded): Renamed from
51306         glthread_recursive_lock_lock. Return error code.
51307         (glthread_recursive_lock_unlock_multithreaded): Renamed from
51308         glthread_recursive_lock_unlock. Return error code.
51309         (glthread_recursive_lock_destroy_multithreaded): Renamed from
51310         glthread_recursive_lock_destroy. Return error code.
51311         (glthread_once_call): Make static.
51312         (glthread_once_multithreaded): Renamed from glthread_once.
51313         * lib/tls.h: Include <errno.h>.
51314         (glthread_tls_key_init): New macro/function.
51315         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
51316         (glthread_tls_set): New macro/function.
51317         (gl_tls_set): Define as wrapper around glthread_tls_set.
51318         (glthread_tls_key_destroy): New macro/function.
51319         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
51320         Update function declarations.
51321         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
51322         glthread_tls_get.
51323         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51324
51325 2008-08-04  Eric Blake  <ebb9@byu.net>
51326
51327         gnumakefile: use space, not TAB, outside of targets
51328         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
51329
51330 2008-08-02  Jim Meyering  <meyering@redhat.com>
51331
51332         getdate.y: avoid locale-dependent date parsing failure
51333         In Turkish locales, getdate would fail to recognize keywords
51334         containing a lowercase "i".  The solution is not to rely on
51335         locale-sensitive case-conversion.
51336         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
51337         (lookup_word): Use c_toupper in place of toupper.
51338         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
51339         Reported by Vefa Bicakci <bicave@superonline.com> in
51340         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
51341         * modules/getdate (Depends-on): Add c-ctype.
51342
51343 2008-08-02  Bruno Haible  <bruno@clisp.org>
51344
51345         * gnulib-tool (func_import): When updating or creating a .gitignore
51346         file, prepend each added line with a slash, and ignore leading slashes
51347         from the existing lines.
51348         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
51349
51350 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51351
51352         Portability fix for GNU make 3.79.1.
51353         * top/GNUmakefile: Avoid 'else COND', which older GNU make
51354         versions do not understand.
51355
51356 2008-08-01  Bruno Haible  <bruno@clisp.org>
51357
51358         Work around bug of HP-UX 10.20 cc with -0.0 literal.
51359         * tests/test-isnanf.h (zero): New variable.
51360         (main): Avoid literal -0.0f.
51361         * tests/test-isnand.h (zero): New variable.
51362         (main): Avoid literal -0.0.
51363         * tests/test-isnanl.h (zero): New variable.
51364         (main): Avoid literal -0.0L.
51365         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
51366         (test_float, test_double, test_long_double): Avoid literals -0.0f,
51367         -0.0, -0.0L.
51368         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
51369         (test_signbitd): Avoid literal -0.0.
51370         (test_signbitl): Avoid literal -0.0L.
51371         * tests/test-ceilf1.c (zero): New variable.
51372         (main): Avoid literal -0.0f.
51373         * tests/test-ceill.c (zero): New variable.
51374         (main): Avoid literal -0.0L.
51375         * tests/test-floorf1.c (zero): New variable.
51376         (main): Avoid literal -0.0f.
51377         * tests/test-floorl.c (zero): New variable.
51378         (main): Avoid literal -0.0L.
51379         * tests/test-roundf1.c (zero): New variable.
51380         (main): Avoid literal -0.0f.
51381         * tests/test-round1.c (zero): New variable.
51382         (main): Avoid literal -0.0.
51383         * tests/test-roundl.c (zero): New variable.
51384         (main): Avoid literal -0.0L.
51385         * tests/test-truncf1.c (zero): New variable.
51386         (main): Avoid literal -0.0f.
51387         * tests/test-trunc1.c (zero): New variable.
51388         (main): Avoid literal -0.0.
51389         * tests/test-truncl.c (zero): New variable.
51390         (main): Avoid literal -0.0L.
51391         * tests/test-frexp.c (zero): New variable.
51392         (main): Avoid literal -0.0.
51393         * tests/test-frexpl.c (zero): New variable.
51394         (main): Avoid literal -0.0L.
51395         * tests/test-ldexpl.c (zero): New variable.
51396         (main): Avoid literal -0.0L.
51397         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
51398         (zerod, zerol): New variables.
51399         (test_function): Avoid literals -0.0, -0.0L.
51400         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
51401         (zerod, zerol): New variables.
51402         (test_function): Avoid literals -0.0, -0.0L.
51403         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
51404         (zerod, zerol): New variables.
51405         (test_function): Avoid literals -0.0, -0.0L.
51406         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
51407         (zerod, zerol): New variables.
51408         (test_function): Avoid literals -0.0, -0.0L.
51409         * tests/test-strtod.c (zero): New variable.
51410         (main): Avoid literal -0.0.
51411         Reported by Jonathan C. Patschke <jp@centtech.com>.
51412
51413 2008-07-31  Jim Meyering  <meyering@redhat.com>
51414
51415         sha256.h: correct definition of SHA224_DIGEST_SIZE
51416         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
51417         Reported by Paulie Pena IV <paulie4@gmail.com>.
51418         Define as 224 / 8, rather than as a literal.
51419         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
51420         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
51421         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
51422
51423 2008-07-31  Bruno Haible  <bruno@clisp.org>
51424
51425         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
51426         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
51427         Reported by Jonathan Patschke <jp@centtech.com>.
51428
51429 2008-07-31  Bruno Haible  <bruno@clisp.org>
51430
51431         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
51432         Reported by Paolo Bonzini <bonzini@gnu.org>.
51433
51434 2008-07-30  Eric Blake  <ebb9@byu.net>
51435
51436         test-strtod: allow compilation without -lm
51437         * tests/test-strtod.c (main): Avoid link dependence on fabs.
51438         Reported by Dennis Clarke <blastwave@gmail.com>.
51439
51440 2008-07-28  Jim Meyering  <meyering@redhat.com>
51441
51442         bootstrap: work also when there are no .po files in po/
51443         * build-aux/bootstrap (update_po_files): Complete the change
51444         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
51445
51446 2008-07-27  Jim Meyering  <meyering@redhat.com>
51447
51448         * users.txt: Add zile.
51449
51450 2008-07-26  Ben Pfaff  <blp@gnu.org>
51451
51452         Add missing dependencies on new m4/exponent[fdl].m4 files.
51453         * modules/isnanf-nolibm: Add m4/exponentf.m4.
51454         * modules/isnand-nolibm: Add m4/exponentd.m4.
51455         * modules/isnanl-nolibm: Add m4/exponentl.m4.
51456         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
51457         m4/isnan[fdl].m4, because the macros actually used moved.
51458         Reported by Jim Meyering.
51459
51460 2008-07-14  Ben Pfaff  <blp@gnu.org>
51461
51462         Add isinf module.
51463         * lib/isinf.c: New file.
51464         * lib/math.in.h: Define isinf macro if we have decided to replace
51465         it.
51466         * m4/isinf.m4: New file.
51467         * m4/math_h.m4: Initialize and substitute variables for isinf
51468         module.
51469         * modules/isinf: New file.
51470         * modules/isinf-tests: New file.
51471         * modules/math: Add substitutions for new module.
51472         * tests/test-isinf.c: New file.
51473         * doc/posix-functions/isinf.texi: Mention new module.
51474         * MODULES.html.sh: Mention new module.
51475
51476 2008-07-14  Ben Pfaff  <blp@gnu.org>
51477
51478         Factor out some macros for use by additional modules.
51479         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
51480         exponentf.m4.
51481         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
51482         exponentd.m4.
51483         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
51484         file exponentl.m4.
51485         * m4/exponentf.m4: New file.
51486         * m4/exponentd.m4: New file.
51487         * m4/exponentl.m4: New file.
51488         * modules/isnanf: Use new file m4/exponentf.m4.
51489         * modules/isnand: Use new file m4/exponentd.m4.
51490         * modules/isnanl: Use new file m4/exponentl.m4.
51491
51492 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
51493
51494         mktime.c: normalize tp->tm_isdst value to -1/0/1.
51495         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
51496         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
51497         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
51498
51499         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
51500         readlink on platforms without PATH_MAX.
51501
51502 2008-07-21  Eric Blake  <ebb9@byu.net>
51503
51504         Warn, not fail, on stale version.
51505         * top/GNUmakefile (_curr-ver): Tone down previous patch.
51506
51507         Don't allow installation with stale devel version number.
51508         * top/GNUmakefile (_is-install-target): New macro.
51509         (_curr-ver): Forbid installation with stale version number.
51510
51511 2008-07-20  Bruno Haible  <bruno@clisp.org>
51512
51513         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
51514         TESTS_ENVIRONMENT.
51515         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
51516
51517 2008-07-20  Bruno Haible  <bruno@clisp.org>
51518
51519         * lib/c-stack.h (c_stack_action): Add documentation.
51520         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
51521
51522 2008-07-20  Bruno Haible  <bruno@clisp.org>
51523
51524         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
51525         * modules/readlink (License): Likewise.
51526
51527 2008-07-17  Eric Blake  <ebb9@byu.net>
51528
51529         * modules/c-stack (Link): Fix typo.
51530
51531         Make c-stack use libsigsegv, when available.
51532         * modules/c-stack (Depends-on): Add libsigsegv.
51533         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
51534         needed.
51535         * lib/c-stack.c (SIGSTKSZ): Define fallback.
51536         (segv_handler, overflow_handler, c_stack_action)
51537         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
51538         implementation when libsigsegv is available, but only when using
51539         the library is necessary.
51540         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
51541         comment, explaining why XSI check fails on Linux.
51542         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
51543         * tests/test-c-stack2.sh: Tweak skip message.
51544         * NEWS: Document new link-time requirements.
51545
51546 2008-07-16  Eric Blake  <ebb9@byu.net>
51547
51548         c-stack: Expose false positives when not using libsigsegv.
51549         * modules/c-stack-tests (Files): Expand test.
51550         * tests/test-c-stack.c (main): Add means to conditionally trigger
51551         non-overflow SIGSEGV.
51552         * tests/test-c-stack2.sh: New file.
51553
51554 2008-07-14  Bruno Haible  <bruno@clisp.org>
51555
51556         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
51557         Reported by Eric Blake.
51558
51559 2008-07-14  Sam Steingold  <sds@gnu.org>
51560             Bruno Haible  <bruno@clisp.org>
51561
51562         New module libsigsegv.
51563         * modules/libsigsegv: New file.
51564         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
51565         modifications.
51566         * MODULES.html.sh (Signal handling): New section.
51567
51568 2008-07-14  Bruno Haible  <bruno@clisp.org>
51569
51570         * modules/unictype/ctype-* (Description): Add the word "function".
51571         Improves the resulting doc in MODULES.html.
51572
51573 2008-07-12  Ben Pfaff  <blp@gnu.org>
51574
51575         Add longlong module.
51576         * modules/longlong: New file.
51577
51578 2008-07-12  Bruno Haible  <bruno@clisp.org>
51579
51580         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
51581         to empty.
51582
51583 2008-07-10  Ben Pfaff  <blp@gnu.org>
51584
51585         Add isnan module.
51586         * doc/posix-functions/isnan.texi: Mention new module.
51587         * lib/math.in.h: Define isnan macro if we have decided to replace
51588         it.
51589         * m4/isnan.m4: New file.
51590         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
51591         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
51592         also.
51593         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
51594         redundancy.
51595         * m4/math_h.m4: Initialize and substitute variables for isnan
51596         module.
51597         * modules/isnan: New file.
51598         * modules/isnan-tests: New file.
51599         * modules/math: Add substitutions for new module.
51600         * tests/test-isnan.c: New file.
51601         * MODULES.html.sh: Mention new module.
51602
51603 2008-07-10  Ben Pfaff  <blp@gnu.org>
51604
51605         Add isnanf module.
51606         * lib/isnanf.m4: New file.
51607         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
51608         (gl_HAVE_ISNANF_IN_LIBM): New macro.
51609         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
51610         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
51611         * modules/isnanf: New file.
51612         * modules/isnanf-tests: New file.
51613         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
51614         files.
51615         * tests/test-isnanf-nolibm.c: factored most of its contents into
51616         new file tests/test-isnanf.h.
51617         * tests/test-isnanf.h: New file.
51618         * tests/test-isnanf.c: New file.
51619         * MODULES.html.sh: Mention new module.
51620         * doc/glibc-functions/isnanf.texi: Mention new module.
51621
51622 2008-07-10  Ben Pfaff  <blp@gnu.org>
51623
51624         Add isnand module.
51625         * lib/isnand.h: New file.
51626         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
51627         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
51628         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
51629         functionality also.
51630         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
51631         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
51632         (gl_HAVE_ISNAND_IN_LIBM): New macro.
51633         * modules/isnand: New file.
51634         * modules/isnand-tests: New file.
51635         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
51636         files.
51637         * tests/test-isnand-nolibm.c: factored most of its contents into
51638         new file tests/test-isnand.h.
51639         * tests/test-isnand.h: New file.
51640         * tests/test-isnand.c: New file.
51641         * MODULES.html.sh: Mention new module.
51642
51643 2008-07-10  Ben Pfaff  <blp@gnu.org>
51644
51645         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
51646         * lib/isnand.h: Rename lib/isnand-nolibm.h.
51647         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
51648         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
51649         * modules/isnanf-nolibm: Update references to renamed files.
51650         * modules/isnand-nolibm: Likewise.
51651         * modules/isnanf-nolibm-tests: Likewise.
51652         * modules/isnand-nolibm-tests: Likewise.
51653         * lib/frexp.c: Likewise.
51654         * lib/isfinite.c: Likewise.
51655         * lib/signbitd.c: Likewise.
51656         * lib/signbitf.c: Likewise.
51657         * lib/vasnprintf.c: Likewise.
51658         * tests/test-ceilf1.c: Likewise.
51659         * tests/test-ceilf2.c: Likewise.
51660         * tests/test-floorf1.c: Likewise.
51661         * tests/test-floorf2.c: Likewise.
51662         * tests/test-frexp.c: Likewise.
51663         * tests/test-round1.c: Likewise.
51664         * tests/test-round2.c: Likewise.
51665         * tests/test-roundf1.c: Likewise.
51666         * tests/test-strtod.c: Likewise.
51667         * tests/test-trunc1.c: Likewise.
51668         * tests/test-trunc2.c: Likewise.
51669         * tests/test-truncf1.c: Likewise.
51670         * tests/test-truncf2.c: Likewise.
51671         * NEWS: Mention the renamed header files.
51672
51673 2008-07-11  Jim Meyering  <meyering@redhat.com>
51674
51675         vc-list-files: make the last-resort awk code more portable
51676         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
51677         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
51678         does not support it.
51679
51680 2008-07-10  Eric Blake  <ebb9@byu.net>
51681
51682         Work with tar's bootstrap.
51683         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
51684         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
51685         an m4 comment.
51686
51687 2008-07-09  Jim Meyering  <meyering@redhat.com>
51688
51689         posix-shell.m4: fix typo that made this test malfunction
51690         * m4/posix-shell.m4: Remove capitalization in variable name.
51691
51692 2008-07-08  Bruno Haible  <bruno@clisp.org>
51693
51694         * m4/onceonly.m4: Update comments.
51695         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51696
51697 2008-07-04  Jim Meyering  <meyering@redhat.com>
51698
51699         * users.txt: Add vc-dwim.
51700         (bison, coreutils): Use the gitweb URL.
51701
51702 2008-07-03  Jim Meyering  <meyering@redhat.com>
51703
51704         * users.txt: Add libffcall.  From Sam Steingold.
51705
51706 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
51707
51708         getdate.y: do not ignore TZ with relative day, month or year offset
51709         * lib/getdate.y (get_date): Move the tz-handling block to follow the
51710         relative-date-handling, since otherwise, the latter would clobber the
51711         sole output (an updated Start value) of the tz-handling block.
51712         * tests/test-getdate.c: Tests for the fix
51713
51714 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51715
51716         Recognize 'foo_LIBRARIES += libgnu.a'.
51717         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
51718         makefile snippet has already specified an installation location,
51719         also using '+='.
51720
51721 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
51722
51723         getdate.y: factor out common actions
51724         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
51725         Use them in place of open-coded actions.
51726
51727 2008-07-01  Simon Josefsson  <simon@josefsson.org>
51728
51729         Add self-test for getdate module.
51730         * modules/getdate-tests: New file.
51731         * tests/test-getdate.c: New file.
51732
51733 2008-06-29  Bruno Haible  <bruno@clisp.org>
51734
51735         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
51736         .gitignore.
51737         Reported by Sylvain Beucler <beuc@beuc.net>.
51738
51739 2008-06-29  Bruno Haible  <bruno@clisp.org>
51740
51741         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
51742         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
51743
51744 2008-06-29  Bruno Haible  <bruno@clisp.org>
51745
51746         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
51747         EXTRA_DIST.
51748         Reported by Sylvain Beucler <beuc@beuc.net>.
51749
51750 2008-06-26  Jim Meyering  <meyering@redhat.com>
51751
51752         make several modules depend on the "open" module
51753         This provides slightly increased consistency when opening-for-write
51754         the name of a non-directory spelled with a trailing slash.
51755         * modules/chdir-safer: Likewise.
51756         * modules/chown: Likewise.
51757         * modules/clean-temp: Likewise.
51758         * modules/copy-file: Likewise.
51759         * modules/fchdir: Likewise.
51760         * modules/fcntl-safer: Likewise.
51761         * modules/pipe: Likewise.
51762         * modules/utime: Likewise.
51763         Prompted by Eric Blake and Bruno Haible.
51764
51765 2008-06-24  Andreas Schwab  <schwab@suse.de>
51766
51767         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
51768         literals can be used as initializers for global variables.
51769
51770 2008-06-23  Eric Blake  <ebb9@byu.net>
51771
51772         Make gnulib-cache.m4 easier to diff.
51773         * gnulib-tool (func_import): Allow newlines when reading cached
51774         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
51775
51776 2008-06-23  Bruno Haible  <bruno@clisp.org>
51777
51778         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
51779         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
51780         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
51781         m4/signalblocking.m4.
51782         (gl_PREREQ_SIGACTION): Don't invoke it.
51783         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
51784         gl_PREREQ_SIG_HANDLER_H.
51785         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
51786         Don't check for sigaction here.
51787
51788 2008-06-23  Bruno Haible  <bruno@clisp.org>
51789
51790         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
51791         (install_handlers): Don't set the SA_RESETHAND flag.
51792
51793 2008-06-23  Bruno Haible  <bruno@clisp.org>
51794
51795         * m4/sigaction.m4: Comment fixes.
51796         * lib/signal.in.h: Likewise.
51797
51798 2008-06-23  Eric Blake  <ebb9@byu.net>
51799
51800         Fix typo.
51801         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
51802
51803         Avoid SA_ namespace.
51804         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
51805         Reported by Ralf Wildenhues.
51806
51807         Avoid test failure due to SA_RESTORER.
51808         * tests/test-sigaction.c (SA_MASK): New macro.
51809         (main): Avoid failing due to extension flags being set.
51810         Reported by Jim Meyering.
51811
51812         Revert use of sig-handler.h in sigprocmask.c.
51813         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
51814         it requires the existence of struct sigaction.
51815         * lib/sigprocmask.c (handler_t): Restore typedef.
51816         (rpl_signal, old_handlers): Use local type.
51817
51818 2008-06-22  Bruno Haible  <bruno@clisp.org>
51819
51820         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
51821         conditionally.
51822         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51823
51824 2008-06-22  Bruno Haible  <bruno@clisp.org>
51825
51826         * doc/posix-functions/siginterrupt.texi: Move note.
51827
51828         * lib/signal.in.h (SA_RESTART): New macro.
51829         * lib/sigaction.c: Update comment.
51830
51831         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
51832
51833         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
51834         (gl_PREREQ_SIGPROCMASK): Invoke it.
51835         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
51836
51837         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
51838
51839         * lib/sigprocmask.c: Update a comment.
51840
51841 2008-06-21  Eric Blake  <ebb9@byu.net>
51842
51843         Use sigaction module rather than signal().
51844         * modules/c-stack (Depends-on): Add sigaction.
51845         * modules/fatal-signal (Depends-on): Likewise.
51846         * modules/nanosleep (Depends-on): Likewise.
51847         * modules/sigprocmask (Files): Add sig-handler.h.
51848         * modules/sigaction (Files): Likewise.
51849         * lib/sig-handler.h (get_handler): New file, suggested by Paul
51850         Eggert.
51851         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
51852         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
51853         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
51854         (init_fatal_signals): Likewise.
51855         * lib/nanosleep.c (rpl_nanosleep): Likewise.
51856         (siginterrupt): Delete fallback.
51857         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
51858         instead.
51859         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
51860         siginterrupt.
51861
51862         New module sigaction, for mingw.
51863         * modules/sigaction: New module...
51864         * modules/sigaction-tests: ...and its test.
51865         * m4/sigaction.m4: New file.
51866         * lib/sigaction.c: Likewise.
51867         * tests/test-sigaction.c: Likewise.
51868         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
51869         * modules/signal (Makefile.am): Likewise.
51870         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
51871         needed.
51872         * doc/posix-headers/signal.texi (signal.h): Mention provided
51873         types.
51874         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
51875         that sigaction is preferable.
51876         * doc/posix-functions/sigaction.texi (sigaction): Mention new
51877         module.
51878         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51879         sigaction.
51880
51881         Improve robustness of sigprocmask by overriding signal.
51882         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
51883         is in use.
51884         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
51885         (SIGKILL, SIGSTOP): Provide fallbacks.
51886         (rpl_signal): Implement.
51887         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
51888         signal can be called inside handlers.
51889
51890         Fix nanosleep module on mingw.
51891         * modules/nanosleep (Depends-on): Add sys_select.
51892         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
51893
51894         Fix licensing of sigprocmask.
51895         * modules/raise (License): Relicense as LGPL.
51896
51897 2008-06-21  Bruno Haible  <bruno@clisp.org>
51898
51899         * lib/propername.c (proper_name_utf8): Don't use the transliterated
51900         result if it contains question marks.
51901         Reported by Michael Geng <linux@michaelgeng.de>.
51902
51903 2008-06-19  Bruno Haible  <bruno@clisp.org>
51904
51905         Fix CVS-ism.
51906         * doc/gnulib.texi: Include updated-stamp.texi.
51907         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
51908         (updated-stamp.texi): New rule.
51909         (gnulib.info): Depend on it.
51910         * doc/.gitignore: Add updated-stamp.texi.
51911         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
51912
51913 2008-06-19  Bruno Haible  <bruno@clisp.org>
51914
51915         * doc/Makefile (gnulib.info): Update and simplify dependencies.
51916         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51917
51918 2008-06-19  Eric Blake  <ebb9@byu.net>
51919
51920         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
51921         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
51922         Reported by Stepan Kasal.
51923
51924 2008-06-18  Bruno Haible  <bruno@clisp.org>
51925
51926         * lib/fatal-signal.c (init_fatal_signals): Add comment.
51927         Reported by Eric Blake.
51928
51929 2008-06-18  Eric Blake  <ebb9@byu.net>
51930
51931         Work around cygwin 1.5.25 strsignal bug.
51932         * tests/test-strsignal.c: Allow for const char *.
51933         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
51934
51935 2008-06-18  Simon Josefsson  <simon@josefsson.org>
51936
51937         * users.txt: Update URL to article and add author/date
51938         information.
51939
51940 2008-06-17  Bruno Haible  <bruno@clisp.org>
51941
51942         New macro gl_DISABLE_THREADS.
51943         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
51944         if the user did not pass --enable-threads or --disable-threads option.
51945         (gl_DISABLE_THREADS): New macro.
51946         Reported by Eric Blake <ebb9@byu.net>.
51947
51948 2008-06-17  Bruno Haible  <bruno@clisp.org>
51949
51950         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
51951         when the macro ignores it.
51952         Based on a patch by Eric Blake <ebb9@byu.net>.
51953
51954 2008-06-17  Bruno Haible  <bruno@clisp.org>
51955
51956         * modules/tls (License): Change to LGPLv2+.
51957         Reported by Eric Blake.
51958
51959 2008-06-17  Eric Blake  <ebb9@byu.net>
51960
51961         Simplify c-stack prerequisites.
51962         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
51963         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
51964         no longer requires <ucontext.h> to exist.  Optimize setrlimit
51965         check.
51966         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
51967         <sys/resource.h>.
51968
51969         Move c-stack test into testsuite.
51970         * modules/c-stack-tests: New file.
51971         * lib/c-stack.c [DEBUG]: Move test program...
51972         * tests/test-c-stack.c: ...into this new file.  Skip rather than
51973         fail test if sigaltstack is lacking.
51974         * tests/test-c-stack.sh: New driver file.
51975
51976 2008-06-16  Eric Blake  <ebb9@byu.net>
51977
51978         Use raise module consistently.
51979         * modules/fatal-signal (Depends-on): Add raise.
51980         * modules/sigprocmask (Depends-on): Likewise.
51981         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
51982         * lib/sigprocmask.c (sigprocmask): Likewise.
51983         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
51984         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
51985
51986         Fix compliance bug in sigpending.
51987         * lib/sigprocmask.c (sigpending): Return pending array via
51988         parameter, not return value.
51989
51990 2008-06-14  Eric Blake  <ebb9@byu.net>
51991
51992         Improve obstack-printf test code.
51993         * tests/test-obstack-printf.c (test_function): Fix comment, and
51994         simplify usage of obstack_* in macros.  Add a test for coverage.
51995         Reported by Bruno Haible.
51996
51997 2008-06-14  Bruno Haible  <bruno@clisp.org>
51998
51999         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
52000         array size as a constant, not as a const variable.
52001         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
52002         AC_USE_SYSTEM_EXTENSIONS.
52003         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
52004         Test whether the obstack_printf function actually exists.
52005         * modules/obstack-printf (Depends-on): Add extensions.
52006         (Include): Remove obstack.h.
52007         * modules/obstack-printf-posix (Depends-on): Add extensions.
52008         (Include): Remove obstack.h.
52009
52010 2008-06-13  Eric Blake  <ebb9@byu.net>
52011
52012         Add obstack-printf and obstack-printf-posix modules.
52013         * modules/obstack-printf: New file.
52014         * modules/obstack-printf-posix: Likewise.
52015         * MODULES.html.sh (Misc): Mention them.
52016         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
52017         Likewise.
52018         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
52019         Likewise.
52020         * modules/stdio (Makefile.am): Accomodate new modules.
52021         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52022         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
52023         Declare.
52024         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
52025         functions.
52026         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
52027         (gl_REPLACE_OBSTACK_PRINTF): New macros
52028         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
52029         * tests/test-obstack-printf.c: New file.
52030         * modules/obstack-printf-tests: Likewise.
52031         * modules/obstack-printf-posix-tests: Likewise.
52032
52033 2008-06-11  Bruno Haible  <bruno@clisp.org>
52034
52035         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
52036         * lib/open.c: Include errno.h.
52037         (open): Fail when attempting to write to a file that has a trailing
52038         slash.
52039         * tests/test-open.c (main): Test against trailing slash bug.
52040         * doc/posix-functions/open.texi: Mention the trailing slash bug.
52041
52042 2008-06-10  Bruno Haible  <bruno@clisp.org>
52043
52044         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
52045         for $? to work inside the trap command, with various /bin/sh-s.
52046         * tests/test-vc-list-files-cvs.sh: Likewise.
52047
52048 2008-06-10  Bruno Haible  <bruno@clisp.org>
52049
52050         * lib/acl-internal.h: Don't include gettext.h here.
52051         * lib/set-mode-acl.c: Include gettext.h here.
52052         * lib/copy-acl.c: Likewise.
52053
52054 2008-06-10  Bruno Haible  <bruno@clisp.org>
52055
52056         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
52057         * lib/wait-process.c (wait_subprocess): Likewise.
52058         * lib/execute.h (execute): Add termsigp argument.
52059         * lib/execute.c (execute): Likewise.
52060         * lib/csharpcomp.c (compile_csharp_using_pnet,
52061         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
52062         * lib/csharpexec.c (execute_csharp_using_pnet,
52063         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
52064         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
52065         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
52066         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
52067         is_jikes_present): Update.
52068         * lib/javaexec.c (execute_java_class): Update.
52069         * lib/javaversion.c (execute_and_read_line): Update.
52070         * NEWS: Document the changes.
52071         Reported by Eric Blake.
52072
52073 2008-06-10  Eric Blake  <ebb9@byu.net>
52074
52075         Add missing include.
52076         * tests/test-strstr.c (includes): Add <signal.h>.
52077         * tests/test-strcasestr.c (includes): Likewise.
52078         * tests/test-memmem.c (includes): Likewise.
52079
52080 2008-06-10  Bruno Haible  <bruno@clisp.org>
52081
52082         * lib/wait-process.c (wait_subprocess): Add an assertion.
52083
52084 2008-06-10  Bruno Haible  <bruno@clisp.org>
52085
52086         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
52087
52088 2008-06-10  Bruno Haible  <bruno@clisp.org>
52089
52090         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
52091         using alarm().
52092         * tests/test-strcasestr.c (main): Likewise.
52093         * tests/test-strstr.c (main): Likewise.
52094
52095 2008-06-09  Bruno Haible  <bruno@clisp.org>
52096
52097         Work around the Solaris 10 ACE ACLs ABI change.
52098         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
52099         declare if ACL_NO_TRIVIAL is present.
52100         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
52101         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
52102         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
52103         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
52104         define if ACL_NO_TRIVIAL is present.
52105         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
52106         and use the current ABI.
52107         (file_has_acl): Use same #if condition as elsewhere.
52108         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
52109         in use, and use the current ABI.
52110         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
52111         Reported by Jim Meyering.
52112
52113 2008-06-09  Eric Blake  <ebb9@byu.net>
52114
52115         Work around environments that (stupidly) ignore SIGALRM.
52116         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
52117         before using alarm().
52118         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52119         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
52120         Reported by Ian Beckwith <ianb@erislabs.net>.
52121
52122         Produce autobuild blurb earlier in log.
52123         * modules/autobuild (configure.ac-early): Move AB_INIT here.
52124
52125 2008-06-09  Jim Meyering  <meyering@redhat.com>
52126         and OndÅ™ej Vašík  <ovasik@redhat.com>
52127
52128         utimens.c: correct kernel bug work-around
52129         OndÅ™ej Vašík found that the invalid return value of 280 indicates
52130         failure, not success, and the kernel bug we're trying to work
52131         around affects not just the utimensat call, but also the fallback
52132         futimens call.
52133         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
52134         not success.
52135         [HAVE_FUTIMENS]: Use the same work-around, here.
52136
52137 2008-06-09  Jim Meyering  <meyering@redhat.com>
52138
52139         add more guards around definition of ACE_-related code
52140         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
52141         ALLOW and ACE_OWNER are also defined.
52142
52143 2008-06-08  Bruno Haible  <bruno@clisp.org>
52144
52145         * lib/acl-internal.h: Add me as co-author.
52146         * lib/file-has-acl.c: Likewise.
52147         * lib/set-mode-acl.c: Likewise.
52148         * lib/copy-acl.c: Likewise.
52149
52150 2008-06-08  Bruno Haible  <bruno@clisp.org>
52151
52152         Add support for AIX ACLs.
52153         * lib/acl-internal.h (acl_nontrivial): New declaration.
52154         * lib/file-has-acl.c (acl_nontrivial): New function.
52155         (file_has_acl): Add implementation using AIX 4 ACL API.
52156         * lib/set-mode-acl.c (qset_acl): Likewise.
52157         * lib/copy-acl.c (qcopy_acl): Likewise.
52158
52159 2008-06-08  Bruno Haible  <bruno@clisp.org>
52160
52161         Add support for HP-UX ACLs.
52162         * lib/acl-internal.h (acl_nontrivial): New declaration.
52163         * lib/file-has-acl.c (acl_nontrivial): New function.
52164         (file_has_acl): Add implementation using HP-UX 11 ACL API.
52165         * lib/set-mode-acl.c (qset_acl): Likewise.
52166         * lib/copy-acl.c (qcopy_acl): Likewise.
52167
52168 2008-06-08  Bruno Haible  <bruno@clisp.org>
52169
52170         Add support for Cygwin ACLs.
52171         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
52172         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
52173         the chmod_or_fchmod call.
52174         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
52175
52176 2008-06-08  Bruno Haible  <bruno@clisp.org>
52177
52178         Fix bug with setuid modes in Solaris 10+ code.
52179         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
52180         succeeded, when the mode contains some special bits.
52181
52182 2008-06-08  Bruno Haible  <bruno@clisp.org>
52183
52184         Add support for Solaris 7..10 ACLs.
52185         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
52186         declarations.
52187         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
52188         functions.
52189         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
52190         * lib/set-mode-acl.c (qset_acl): Likewise.
52191         * lib/copy-acl.c (qcopy_acl): Likewise.
52192
52193 2008-06-08  Bruno Haible  <bruno@clisp.org>
52194
52195         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
52196         declaration.
52197         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
52198         (acl_access_nontrivial): Remove MacOS X case.
52199         (file_has_acl): Use acl_extended_nontrivial.
52200         * lib/copy-acl.c (qcopy_acl): Likewise.
52201
52202 2008-06-08  Bruno Haible  <bruno@clisp.org>
52203
52204         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
52205
52206 2008-06-08  Jim Meyering  <meyering@redhat.com>
52207
52208         * modules/acl (Maintainer): Add Bruno Haible.
52209
52210 2008-06-07  Bruno Haible  <bruno@clisp.org>
52211
52212         Improve support for Tru64 ACLs.
52213         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
52214         ACL on OSF/1.
52215
52216 2008-06-07  Bruno Haible  <bruno@clisp.org>
52217
52218         Add support for MacOS X ACLs.
52219         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
52220         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
52221         * lib/set-mode-acl.c (qset_acl): Likewise.
52222         * lib/copy-acl.c (qcopy_acl): Likewise.
52223
52224 2008-06-07  Bruno Haible  <bruno@clisp.org>
52225
52226         Fix memory leak introduced on 2008-05-22.
52227         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
52228         use.
52229
52230 2008-06-07  Bruno Haible  <bruno@clisp.org>
52231
52232         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
52233         to construct an empty ACL.
52234
52235 2008-06-07  Bruno Haible  <bruno@clisp.org>
52236
52237         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
52238         precisely.
52239         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
52240
52241 2008-06-07  Bruno Haible  <bruno@clisp.org>
52242
52243         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
52244         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
52245
52246 2008-06-07  Bruno Haible  <bruno@clisp.org>
52247
52248         * doc/posix-functions/_setjmp.texi: Explain the use of this function
52249         regardless of POSIX.
52250         * doc/posix-functions/_longjmp.texi: Likewise.
52251         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
52252         SystemV platform in this case.
52253
52254 2008-06-06  Eric Blake  <ebb9@byu.net>
52255
52256         Document abort() bugs.
52257         * doc/posix-functions/abort.texi (abort): Mention anomalies.
52258
52259         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
52260         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
52261         sigsetjmp.
52262         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
52263         siglongjmp, but only as a macro.
52264         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
52265         is obsolete.
52266         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
52267
52268         Tweak documentation to cover cygwin argz bugs.
52269         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
52270         argz bug fix; no code change needed since no cygwin releases
52271         occurred between the last fix and the bug being tested.
52272         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
52273         module and recently fixed cygwin bugs.
52274         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
52275         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
52276         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
52277         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
52278         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
52279         Likewise.
52280         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
52281         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
52282         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
52283         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
52284         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
52285         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
52286         Likewise.
52287
52288         Avoid gcc warning on cygwin.
52289         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
52290         !ACL_NO_TRIVIAL]: Avoid unused variable.
52291
52292 2008-06-05  Eric Blake  <ebb9@byu.net>
52293
52294         Be tolerant of UNKNOWN version in gnulib-tool test dir.
52295         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
52296         git-version-gen fails to come up with a version.
52297         Reported by Simon Josefsson.
52298
52299 2008-06-05  Jim Meyering  <meyering@redhat.com>
52300             Paul Eggert  <eggert@cs.ucla.edu>
52301
52302         utimens.c: work around a probable Linux kernel bug
52303         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
52304         appears to be a kernel bug that causes utimensat to return 280
52305         instead of 0, indicating success.
52306
52307 2008-06-04  Bruno Haible  <bruno@clisp.org>
52308
52309         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
52310         2008-06-01 commit.
52311
52312 2008-06-04  Bruno Haible  <bruno@clisp.org>
52313
52314         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
52315         * lib/file-has-acl.c (acl_access_nontrivial): New function.
52316         (file_has_acl): Use it. Save errno afterwards.
52317         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
52318
52319 2008-06-03  Bruno Haible  <bruno@clisp.org>
52320
52321         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
52322         draft code. Simplify #ifs.
52323         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
52324         Put Solaris code after POSIX-draft code. Fix comments regarding
52325         Solaris 10, HP-UX. Mention Cygwin.
52326         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
52327
52328 2008-06-03  Eric Blake  <ebb9@byu.net>
52329
52330         Provide fallback for older kernels.
52331         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
52332         Provide runtime fallback if kernel lacks support.
52333         Reported by Mike Frysinger.
52334
52335 2008-06-02  Bruno Haible  <bruno@clisp.org>
52336
52337         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
52338         it exists.
52339
52340 2008-06-02  Bruno Haible  <bruno@clisp.org>
52341
52342         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
52343         * lib/copy-acl.c (qcopy_acl): Update comment.
52344
52345 2008-06-02  Bruno Haible  <bruno@clisp.org>
52346
52347         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
52348         like ACL APIs.
52349
52350 2008-06-02  Bruno Haible  <bruno@clisp.org>
52351
52352         * tests/test-file-has-acl.sh: Use different code for Cygwin.
52353         * tests/test-set-mode-acl.sh: Likewise.
52354         * tests/test-copy-acl.sh: Likewise.
52355         * tests/test-copy-file.sh: Likewise.
52356
52357 2008-06-02  Bruno Haible  <bruno@clisp.org>
52358
52359         * tests/test-file-has-acl.sh: Remove unused code.
52360
52361 2008-06-01  Bruno Haible  <bruno@clisp.org>
52362
52363         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
52364         (copy_acl): Just a wrapper around qcopy_acl that emits the error
52365         messages.
52366         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
52367
52368 2008-06-01  Bruno Haible  <bruno@clisp.org>
52369
52370         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
52371         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
52372         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
52373         APIs.
52374         * modules/acl-tests (configure.ac): Remove tests now contained in
52375         m4/acl.m4.
52376
52377 2008-06-02  Jim Meyering  <meyering@redhat.com>
52378
52379         announce-gen: use a better key-server host name
52380         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
52381         it may be more consistently reliable.  Suggested by Werner Koch
52382         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
52383
52384 2008-06-01  Bruno Haible  <bruno@clisp.org>
52385
52386         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
52387         Reported by Voroskoi Andras <voroskoi@gmail.com>.
52388
52389 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
52390
52391         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
52392
52393 2008-06-01  Bruno Haible  <bruno@clisp.org>
52394
52395         New ACL tests.
52396         * tests/test-file-has-acl.sh: New file.
52397         * tests/test-file-has-acl.c: New file.
52398         * tests/test-set-mode-acl.sh: New file.
52399         * tests/test-set-mode-acl.c: New file.
52400         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
52401         * tests/test-copy-acl.c: New file.
52402         * modules/acl-tests: New file, based on modules/copy-file-tests.
52403         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
52404         (Depends-on): Add acl-tests.
52405         (configure.ac): Remove checks.
52406         (Makefile.am): Don't create test-sameacls program here any more.
52407
52408 2008-06-01  Bruno Haible  <bruno@clisp.org>
52409
52410         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
52411         * tests/test-sameacls.c: Include progname.h.
52412         (main): Invoke set_program_name. Portability fixes for MacOS X,
52413         Solaris, HP-UX.
52414
52415 2008-06-01  Bruno Haible  <bruno@clisp.org>
52416
52417         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
52418         function.
52419         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
52420
52421 2008-06-01  Bruno Haible  <bruno@clisp.org>
52422
52423         * modules/rpmatch (Depends-on): Add strdup.
52424
52425 2008-06-01  Bruno Haible  <bruno@clisp.org>
52426
52427         * lib/pipe.c: Include unistd-safer.h.
52428         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
52429         * modules/pipe (Depends-on): Add unistd-safer.
52430
52431 2008-05-30  Simon Josefsson  <simon@josefsson.org>
52432
52433         * modules/autobuild (configure.ac): Call AB_INIT.
52434
52435 2008-05-30  Simon Josefsson  <simon@josefsson.org>
52436
52437         * tests/test-getaddrinfo.c: Don't print debug messages by default.
52438         Suggested by Bruno Haible <bruno@clisp.org>.
52439
52440 2008-05-30  Simon Josefsson  <simon@josefsson.org>
52441
52442         * tests/test-base64.c: Cast size_t to unsigned long when invoking
52443         printf.  Use %lu instead of %d.  Reported by Bruno Haible
52444         <bruno@clisp.org>.
52445
52446 2008-05-29  Eric Blake  <ebb9@byu.net>
52447
52448         Prefer new POSIX 200x interfaces over futimesat.
52449         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
52450         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
52451         when available.
52452         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
52453
52454 2008-05-28  Bruno Haible  <bruno@clisp.org>
52455
52456         * modules/stpcpy (License): Change to LGPLv2+.
52457         Requested by David Lutterkort <dlutter@redhat.com>.
52458
52459 2008-05-27  Bruno Haible  <bruno@clisp.org>
52460
52461         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
52462         current mingw.
52463         Reported by Jose E. Marchesi <jemarch@gnu.org>.
52464
52465 2008-05-27  Bruno Haible  <bruno@clisp.org>
52466
52467         * modules/iconv_open (Link): New section, from module 'iconv'.
52468         * modules/striconv (Link): Likewise.
52469         * modules/striconveh (Link): Likewise.
52470         * modules/xstriconv (Link): Likewise.
52471         * modules/unicodeio (Link): Likewise.
52472         * modules/propername (Link): Likewise.
52473         Reported by Jim Meyering.
52474
52475 2008-05-26  Jim Meyering  <meyering@redhat.com>
52476
52477         sha256: do not artificially restrict buffer length to be < 2^32
52478         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
52479         uint32_t to size_t.
52480         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
52481         to match.
52482
52483         avoid unaligned access errors, e.g., on sparc
52484         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
52485         direct access through a possibly-unaligned uint64* pointer.
52486         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
52487         direct access through a possibly-unaligned uint32* pointer.
52488         Prompted by this patch from Tom "spot" Callaway:
52489         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
52490
52491         sha512.c: fix typo in comment
52492         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
52493
52494 2008-05-25  Bruno Haible  <bruno@clisp.org>
52495
52496         * lib/set-mode-acl.c: Renamed from lib/acl.c.
52497         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
52498         (Makefile.am): Update lib_SOURCES.
52499
52500 2008-05-25  Bruno Haible  <bruno@clisp.org>
52501
52502         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
52503
52504 2008-05-25  Jim Meyering  <meyering@redhat.com>
52505
52506         useless-if-before-free: freed expr may have white-space differences
52507         * build-aux/useless-if-before-free: Recognize cases in which the
52508         freed expression differs from the tested one in embedded white
52509         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
52510         $1 was used, so we can't make any regexp shy.  Improved tests now
52511         detect this.
52512
52513         useless-if-before-free: accept white space in the expression.
52514         * build-aux/useless-if-before-free: For now, any white space
52515         in the expression must be identical in the free argument.
52516
52517         useless-if-before-free: efficiency tweak
52518         * build-aux/useless-if-before-free: Make the expression-matching
52519         regexp "shy".
52520         Make the *outer* regexp shy, not the expr-matching one.
52521
52522         update code-in-comment to accept cast of free arg
52523         * build-aux/useless-if-before-free: Update regexp.
52524
52525 2008-05-25  Bruno Haible  <bruno@clisp.org>
52526
52527         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
52528         * modules/copy-file-tests (Files, Makefile.am): Update.
52529         * tests/test-copy-file.c (func_test_copy): Update.
52530
52531 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
52532
52533         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
52534
52535 2008-05-23  Bruno Haible  <bruno@clisp.org>
52536
52537         Improve support for ACLs on OSF/1.
52538         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
52539         Remove fallback for unknown flavors of ACLs.
52540
52541 2008-05-22  Bruno Haible  <bruno@clisp.org>
52542
52543         Add support for ACLs on OSF/1.
52544         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
52545         replacements.
52546         (acl_free_text): New macro fallback.
52547         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
52548         acl_free.
52549         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
52550         acl_free_text function. Require AC_C_INLINE.
52551
52552 2008-05-22  Bruno Haible  <bruno@clisp.org>
52553
52554         Make copy_acl work on MacOS X 10.5.
52555         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
52556         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
52557         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
52558         If MODE_INSIDE_ACL, don't assume that every system has the same text
52559         representation for ACLs as FreeBSD.
52560         * lib/copy-acl.c (copy_acl): Add support for platforms with
52561         !MODE_INSIDE_ACL.
52562         * lib/file-has-acl.c (file_has_acl): Likewise.
52563         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
52564         FreeBSD, MacOS X, or IRIX, respectively.
52565
52566 2008-05-22  Bruno Haible  <bruno@clisp.org>
52567
52568         * lib/acl.h: Don't include <sys/acl.h>.
52569         (GETACLCNT): Move fallback to lib/acl-internal.h.
52570         * lib/acl-internal.h: Include <sys/acl.h> here.
52571         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
52572
52573 2008-05-22  Bruno Haible  <bruno@clisp.org>
52574
52575         Split off copy_acl function to separate file.
52576         * lib/copy-acl.c: New file, extracted from lib/acl.c.
52577         * lib/acl.c (copy_acl): Moved function to separate file.
52578         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
52579         * modules/acl (Files): Add lib/copy-acl.c.
52580         (Makefiles.am): Augment lib_SOURCES.
52581
52582 2008-05-22  Bruno Haible  <bruno@clisp.org>
52583
52584         * modules/copy-file-tests: New file.
52585         * tests/test-copy-file.sh: New file.
52586         * tests/test-copy-file.c: New file.
52587         * tests/test-copy-file-sameacls.c: New file.
52588
52589 2008-05-22  Eric Blake  <ebb9@byu.net>
52590
52591         Avoid gcc warning.
52592         * tests/test-memcmp.c (main): Pass NULL indirectly.
52593
52594 2008-05-21  Bruno Haible  <bruno@clisp.org>
52595
52596         Add reference doc about ACLs.
52597         * doc/acl-resources.txt: New file.
52598         * doc/acl-cygwin.txt: New file.
52599
52600 2008-05-21  Bruno Haible  <bruno@clisp.org>
52601
52602         Avoid one more warning from gcc.
52603         * lib/vasnprintf.c (IF_LINT): Update comments.
52604         (VASNPRINTF): Use it also for the 'prefix' array initializer.
52605
52606 2008-05-21  Jim Meyering  <meyering@redhat.com>
52607
52608         avoid a warning from gcc
52609         * lib/vasnprintf.c (IF_LINT): Define.
52610         (scale10_round_decimal_long_double):
52611         Use it to avoid a "may be used uninitialized" warning.
52612         (scale10_round_decimal_double): Likewise.
52613
52614 2008-05-21  Simon Josefsson  <simon@josefsson.org>
52615
52616         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
52617         declared.
52618
52619 2008-05-20  Bruno Haible  <bruno@clisp.org>
52620
52621         * tests/test-memcmp.c (main): Test also the sign of the result. Test
52622         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
52623
52624 2008-05-20  Simon Josefsson  <simon@josefsson.org>
52625
52626         * modules/memcmp-tests: New file.
52627         * tests/test-memcmp.c: New file.
52628
52629 2008-05-19  Bruno Haible  <bruno@clisp.org>
52630
52631         * modules/propername (Notice, configure.ac): Put quoted "..." into
52632         --keyword option.
52633         * lib/propername.h: Update comments accordingly.
52634         Reported by Eric Blake.
52635
52636 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
52637
52638         * modules/getpass-gnu (Depends-on): Add fseeko.
52639
52640 2008-05-19  Simon Josefsson  <simon@josefsson.org>
52641
52642         * modules/base64-tests: New file.
52643
52644 2008-05-19  Bo Borgerson <gigabo@gmail.com>
52645
52646         * lib/base64.c (base64_decode_ctx): If a decode context structure
52647         was passed in use it to ignore newlines.  If a context structure
52648         was _not_ passed in, continue to treat newlines as garbage (this
52649         is the historical behavior).  Formerly base64_decode.
52650         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
52651         takes a decode context structure.
52652         * lib/base64.h (base64_decode): Macro for four-argument calls.
52653         (base64_decode_alloc): Likewise.
52654         * lib/base64.c (base64_decode_ctx): If a decode context structure
52655         was passed in use it to ignore newlines.  If a context structure
52656         was _not_ passed in, continue to treat newlines as garbage (this
52657         is the historical behavior).  Formerly base64_decode.
52658         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
52659         takes a decode context structure.
52660         * lib/base64.h (base64_decode): Macro for four-argument calls.
52661         (base64_decode_alloc): Likewise.
52662
52663 2008-05-19  Jim Meyering  <meyering@redhat.com>
52664
52665         avoid a warning from gcc
52666         * lib/trim.c (IF_LINT): Define.
52667         (trim2): Use it to avoid a "may be used uninitialized" warning.
52668
52669         Fix doc typo.
52670         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
52671
52672 2008-05-19  Bruno Haible  <bruno@clisp.org>
52673
52674         * doc/glibc-functions/getpass.texi: Document limits of other
52675         implementations.
52676
52677 2008-05-19  Simon Josefsson  <simon@josefsson.org>
52678             Bruno Haible <bruno@clisp.org>
52679
52680         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
52681
52682 2008-05-18  Bruno Haible  <bruno@clisp.org>
52683
52684         * modules/propername: New file, from GNU gettext.
52685         * lib/propername.h: New file, from GNU gettext.
52686         * lib/propername.c: New file, from GNU gettext.
52687         * MODULES.html.sh (Internationalization functions): Add propername.
52688
52689 2008-05-16  Jim Meyering  <meyering@redhat.com>
52690             Bruno Haible  <bruno@clisp.org>
52691
52692         Avoid some warnings from "gcc -Wshadow".
52693         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
52694
52695 2008-05-15  Eric Blake  <ebb9@byu.net>
52696
52697         Extend previous patch to cygwin 1.7.0.
52698         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
52699         fast implementation in cygwin >= 1.7.0.
52700         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52701         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52702
52703 2008-05-15  Bruno Haible  <bruno@clisp.org>
52704
52705         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
52706         implementation in glibc >= 2.9.
52707         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52708         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52709
52710 2008-05-15  Bruno Haible  <bruno@clisp.org>
52711
52712         * MODULES.html.sh (Internationalization functions): Remove linebreak.
52713         (Unicode string functions): Add unilbrk/*.
52714         Reported by Karl Berry.
52715
52716 2008-05-15  Eric Blake  <ebb9@byu.net>
52717
52718         Fix violation of <stdbool.h> replacement in regex.
52719         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
52720         * lib/regexec.c (re_search_internal): Likewise.
52721         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
52722
52723 2008-05-15  Jim Meyering  <meyering@redhat.com>
52724
52725         avoid distracting test output when git or cvs is not found
52726         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
52727         * tests/test-vc-list-files-git.sh: Likewise.
52728
52729 2008-05-15  Eric Blake  <ebb9@byu.net>
52730
52731         Glibc finally accepted the memmem speedup code, bugzilla #5514.
52732         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
52733         glibc version.
52734         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
52735         * doc/posix-functions/strstr.texi (strstr): Likewise.
52736         * lib/str-two-way.h (MAX): Sychronize with glibc.
52737
52738 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
52739
52740         * lib/regcomp.c (optimize_utf8): Add a note on why we test
52741         opr.ctx_type.
52742         (calc_first): Initialize constraint field.
52743         (duplicate_node_closure): Use it instead of special casing ANCHORS.
52744         Fix grammar.
52745         (duplicate_node): Merge constraint field for all node types.
52746         (calc_eclosure_iter): Look at constraint field for all node types.
52747         * lib/regex_internal.c (create_cd_newstate): Don't look at
52748         opr.ctx_type.
52749
52750 2008-05-14  Bruno Haible  <bruno@clisp.org>
52751
52752         Help GCC to do better code generation.
52753         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
52754         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
52755         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
52756         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
52757         Declare with attribute 'malloc' if supported.
52758
52759 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
52760
52761         use "echo STR|wc -c" rather than unportable "expr length STR"
52762         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
52763         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
52764
52765 2008-05-14  Jim Meyering  <meyering@redhat.com>
52766
52767         use dd ibs=$n count=1 ... rather than less-portable head -c$n
52768         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
52769         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
52770         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
52771         via Collin Lasse.
52772
52773 2008-05-14  Eric Blake  <ebb9@byu.net>
52774
52775         Avoid quadratic growth in gl_LIBSOURCES.
52776         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
52777         Suggested by Bruno Haible.
52778
52779         Test xmemdup0.
52780         * modules/xmemdup0-tests: New file.
52781         * tests/test-xmemdup0.c: Likewise.
52782
52783 2008-05-13  Eric Blake  <ebb9@byu.net>
52784
52785         Split xmemdup0 into its own module.
52786         * modules/xmemdup0: New file.
52787         * lib/xmemdup0.h: Likewise.
52788         * lib/xmemdup0.c: Likewise.
52789         * MODULES.html.sh (Memory management functions): Add xmemdup0.
52790         * lib/xalloc.h (xmemdup0): Remove.
52791         * lib/xmalloc.c (xmemdup0): Likewise.
52792
52793 2008-05-13  Eric Blake  <ebb9@byu.net>
52794             Bruno Haible  <bruno@clisp.org>
52795
52796         Reduce number of forks required during autoconf.
52797         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
52798         and gl_LIBSOURCES_DIR.
52799         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
52800         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
52801         m4_syscmd per file.
52802         <m4_foreach_w>: Move...
52803         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
52804
52805 2008-05-13  Eric Blake  <ebb9@byu.net>
52806
52807         * gnulib-tool: Fix various comment typos.
52808
52809 2008-05-12  Bruno Haible  <bruno@clisp.org>
52810
52811         Tailor the linebreaking algorithm.
52812         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
52813
52814 2008-05-12  Bruno Haible  <bruno@clisp.org>
52815
52816         Update to Unicode 5.0.0.
52817         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
52818         LBP_JV, LBP_JT. Redistribute values.
52819         (unilbrk_table): Change size.
52820         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
52821         Unicode TR#14 rev. 22.
52822         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
52823         LBP_JV, LBP_JT. Redistribute values.
52824         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
52825         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
52826         Update.
52827         * lib/unilbrk/lbrkprop1.h: Regenerated.
52828         * lib/unilbrk/lbrkprop2.h: Regenerated.
52829         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
52830         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
52831         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
52832         Likewise.
52833         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
52834         Likewise.
52835         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
52836         result.
52837         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
52838         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
52839         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
52840         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
52841         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
52842         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
52843
52844 2008-05-11  Bruno Haible  <bruno@clisp.org>
52845
52846         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
52847
52848 2008-05-11  Bruno Haible  <bruno@clisp.org>
52849
52850         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
52851         * modules/unilbrk/gen-lbrk: New file.
52852
52853 2008-05-11  Bruno Haible  <bruno@clisp.org>
52854
52855         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
52856         * m4/sha512.m4 (gl_SHA512): Likewise.
52857
52858 2008-05-11  Jim Meyering  <meyering@redhat.com>
52859
52860         New modules: crypto/sha256, crypto/sha512 (from coreutils)
52861         * modules/crypto/sha256: New file.
52862         * modules/crypto/sha512: Likewise.
52863         * lib/sha256.c: Likewise.
52864         * lib/sha256.h: Likewise.
52865         * lib/sha512.c: Likewise.
52866         * lib/sha512.h: Likewise.
52867         * lib/u64.h: Likewise.
52868         * m4/sha256.m4: Likewise.
52869         * m4/sha512.m4: Likewise.
52870         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
52871
52872 2008-05-10  Bruno Haible  <bruno@clisp.org>
52873
52874         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
52875         (Input/Output <stdio.h>): Add xprintf.
52876         (Signal handling <signal.h>): Add strsignal.
52877         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
52878         (Core language properties): Add func.
52879         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
52880         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
52881         strings.
52882         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
52883         (Input/output): New section.
52884         (File system functions): Add openat-die, stat-macros.
52885         (Networking functions): Add sockets.
52886         (Unicode string functions): Add unictype/*.
52887         (Support for building libraries and executables): Add gperf.
52888         (Support for building documentation): Add agpl-3.0.
52889         (Misc): Add nocrash.
52890
52891 2008-05-10  Bruno Haible  <bruno@clisp.org>
52892
52893         * modules/unictype/gen-ctype: New file.
52894
52895 2008-05-10  Jim Meyering  <meyering@redhat.com>
52896
52897         Make chdir-safer.c more efficient on a system with no symlinks.
52898         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
52899         also if ELOOP is zero.  Suggested by Bruno Haible.
52900
52901         Make chdir-safer.c slightly safer.
52902         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
52903         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
52904
52905         Avoid compile failure on systems without ELOOP (like mingw).
52906         * lib/chdir-safer.c (ELOOP): Define if not already defined.
52907         Reported by Bruno Haible.
52908
52909 2008-05-10  Bruno Haible  <bruno@clisp.org>
52910
52911         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
52912         (is_utf8_encoding): Use a case-insensitive comparison.
52913         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
52914         streq.
52915
52916 2008-05-10  Bruno Haible  <bruno@clisp.org>
52917
52918         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
52919         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
52920         * lib/unilbrk/ulc-common.h (iconv_string_length,
52921         iconv_string_keeping_offsets): Remove declarations.
52922         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
52923         Don't include <iconv.h>, streq.h, xsize.h.
52924         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
52925         conversion.
52926         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
52927         <iconv.h>, streq.h, xsize.h.
52928         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
52929         conversion.
52930         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
52931         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
52932         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
52933         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
52934
52935 2008-05-10  Bruno Haible  <bruno@clisp.org>
52936
52937         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
52938         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
52939
52940         * modules/unilbrk/u32-width-linebreaks-tests: New file.
52941         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
52942
52943         * modules/unilbrk/u16-width-linebreaks-tests: New file.
52944         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
52945
52946         * modules/unilbrk/u8-width-linebreaks-tests: New file.
52947         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
52948
52949         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
52950         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
52951
52952         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
52953         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
52954
52955         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
52956         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
52957
52958         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
52959         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
52960
52961 2008-05-10  Bruno Haible  <bruno@clisp.org>
52962
52963         Split up 'linebreak' module.
52964         * lib/unilbrk.h: New file, based on lib/linebreak.h.
52965         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
52966         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
52967         modifications.
52968         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
52969         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
52970         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
52971         lib/linebreak.c.
52972         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
52973         lib/linebreak.c.
52974         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
52975         lib/linebreak.c.
52976         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
52977         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
52978         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
52979         lib/linebreak.c.
52980         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
52981         lib/linebreak.c.
52982         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
52983         lib/linebreak.c.
52984         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
52985         lib/linebreak.c.
52986         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
52987         lib/linebreak.c.
52988         * modules/unilbrk/base: New file.
52989         * modules/unilbrk/tables: New file.
52990         * modules/unilbrk/u8-possible-linebreaks: New file.
52991         * modules/unilbrk/u16-possible-linebreaks: New file.
52992         * modules/unilbrk/u32-possible-linebreaks: New file.
52993         * modules/unilbrk/ulc-common: New file.
52994         * modules/unilbrk/ulc-possible-linebreaks: New file.
52995         * modules/unilbrk/u8-width-linebreaks: New file.
52996         * modules/unilbrk/u16-width-linebreaks: New file.
52997         * modules/unilbrk/u32-width-linebreaks: New file.
52998         * modules/unilbrk/ulc-width-linebreaks: New file.
52999         * lib/linebreak.h: Remove file.
53000         * lib/linebreak.c: Remove file.
53001         * m4/linebreak.m4: Remove file.
53002         * modules/linebreak: Remove file.
53003         * NEWS: Mention the changes.
53004
53005 2008-05-09  Eric Blake  <ebb9@byu.net>
53006
53007         Add xmemdup0.
53008         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
53009         implementation.
53010         * lib/xmalloc.c (xmemdup0): New C implementation.
53011
53012 2008-05-08  Bruno Haible  <bruno@clisp.org>
53013
53014         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
53015
53016 2008-05-07  Eric Blake  <ebb9@byu.net>
53017
53018         Support cross-compilation of <wctype.h>.
53019         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
53020         AC_CACHE_CHECK.
53021
53022 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
53023
53024         * build-aux/vc-list-files: Add support for bzr.
53025
53026 2008-05-03  Jim Meyering  <meyering@redhat.com>
53027
53028         avoid failed assertion with tight malloc
53029         * tests/test-getndelim2.c: Correct an off-by-one assertion.
53030
53031 2008-05-03  Simon Josefsson  <simon@josefsson.org>
53032
53033         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
53034         are needed from arpa/inet.h.
53035         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
53036         Reported by Bruno Haible.
53037
53038 2008-05-02  Jim Meyering  <meyering@redhat.com>
53039
53040         avoid compilation error on FreeBSD 6
53041         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
53042
53043 2008-05-01  Jim Meyering  <meyering@redhat.com>
53044
53045         useless-if-before-free: correct --help's exit status description
53046         * build-aux/useless-if-before-free (usage): Like grep, exit 0
53047         for one or more matches, etc.  Reported by Bruno Haible.
53048
53049         vc-list-files: make the stand-alone gnulib test work
53050         * modules/vc-list-files-tests (configure.ac):
53051         Define and AC_SUBST abs_aux_dir.
53052         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
53053         $(abs_top_srcdir) to each script and having each of them
53054         duplicate the work of setting PATH, set PATH here, using
53055         the new variable, abs_aux_dir instead.
53056         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
53057         * tests/test-vc-list-files-git.sh: Likewise.
53058         Reported by Bruno Haible.
53059
53060 2008-05-01  Bruno Haible  <bruno@clisp.org>
53061
53062         * lib/getndelim2.c (getndelim2): Fix newsize computation during
53063         reallocation. Rename 'done' to 'found_delimiter'.
53064
53065 2008-05-01  Jim Meyering  <meyering@redhat.com>
53066
53067         vc-list-files: accommodate /bin/sh like the one from Solaris 10
53068         * build-aux/vc-list-files: Use `...`, not $(...).
53069
53070 2008-04-30  Jim Meyering  <meyering@redhat.com>
53071
53072         add tests for vc-list-files
53073         * modules/vc-list-files-tests: New module.
53074         * tests/test-vc-list-files-cvs.sh: New file.
53075         * tests/test-vc-list-files-git.sh: New file.
53076
53077         avoid a warning from gcc
53078         * lib/getndelim2.c (IF_LINT): Define.
53079         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
53080
53081         vc-list-files: work properly with build-aux/cvsu, too
53082         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
53083         to all cvs-based clauses.
53084
53085         vc-list-files: work properly in the CVS+awk case, too
53086         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
53087
53088         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
53089         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
53090         take more than one file argument, so .  Add quotes, just in case $dir
53091         ever contains a shell meta-character.  Prompted by Soren Hansen in
53092         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
53093
53094 2008-04-29  Eric Blake  <ebb9@byu.net>
53095
53096         Optimize getndelim2 to use block operations when possible.
53097         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
53098         freadseek, and memchr2.
53099         * lib/getndelim2.c (getndelim2): Use them for block reads.
53100
53101 2008-04-29  Bruno Haible  <bruno@clisp.org>
53102
53103         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
53104         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53105         * modules/inet_ntop (Depends-on): Add extensions.
53106         * modules/inet_pton (Depends-on): Likewise.
53107         Reported by Simon Josefsson.
53108
53109 2008-04-29  Jim Meyering  <meyering@redhat.com>
53110
53111         When the is more than one match in a block, match all of them.
53112         * build-aux/useless-if-before-free: Iterate through each block
53113         until there are no more matches.
53114
53115         Fix broken useless-if-before-free script.
53116         * build-aux/useless-if-before-free: Fix typo: missing "?" after
53117         the expression to match cast of argument to free-like function.
53118
53119 2008-04-29  Eric Blake  <ebb9@byu.net>
53120
53121         Use new header.
53122         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
53123
53124 2008-04-29  Jim Meyering  <meyering@redhat.com>
53125
53126         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
53127         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
53128         by gnulib to exist and to declare e.g., inet_ntop.
53129         Don't include "inet_ntop.h", now removed.
53130
53131         * m4/arpa_inet_h.m4: Remove trailing blanks.
53132
53133 2008-04-29  Eric Blake  <ebb9@byu.net>
53134
53135         Silence valgrind on safe reads beyond potential array bounds.
53136         * lib/rawmemchr.valgrind: New file.
53137         * lib/strchrnul.valgrind: Likewise.
53138         * modules/rawmemchr (Files): Distribute new file.
53139         * modules/strchrnul (Files): Likewise.
53140         Suggested by Bruno Haible.
53141
53142 2008-04-29  Bruno Haible  <bruno@clisp.org>
53143
53144         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
53145         (inet_ntop, inet_pton): Change portability warning's wording.
53146         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
53147         Invoke gl_CHECK_NEXT_HEADERS.
53148         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
53149         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
53150         set ARPA_INET_H.
53151         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53152         * modules/arpa_inet (Description): No longer only for systems that
53153         lack it.
53154         (Depends-on): Add include_next.
53155         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
53156         HAVE_ARPA_INET_H.
53157
53158 2008-04-29  Jim Meyering  <meyering@redhat.com>
53159
53160         * modules/mkdir (License): Re-license as LGPLv2+.
53161
53162 2008-04-29  Bruno Haible  <bruno@clisp.org>
53163
53164         * modules/rawmemchr (Maintainer): Set to Eric.
53165         * modules/strchrnul (Maintainer): Likewise.
53166
53167 2008-04-29  Simon Josefsson  <simon@josefsson.org>
53168
53169         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
53170         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
53171
53172         * modules/arpa_inet (arpa/inet.h): Use them.
53173
53174 2008-04-28  Eric Blake  <ebb9@byu.net>
53175
53176         Test getndelim2.
53177         * modules/getndelim2-tests: New file.
53178         * tests/test-getndelim2.c: Likewise.
53179         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
53180         stream.
53181         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
53182
53183         * MODULES.html.sh: Document new module.
53184
53185 2008-04-20  Bruno Haible  <bruno@clisp.org>
53186
53187         * lib/c-stack.c (die): Use raise.
53188         * modules/c-stack (Depends-on): Add raise.
53189
53190 2008-04-28  Bruno Haible  <bruno@clisp.org>
53191
53192         Expect rpmatch to be declared.
53193         * lib/yesno.c (rpmatch): Remove declaration.
53194
53195         Declare rpmatch.
53196         * lib/stdlib.in.h (rpmatch): New declaration.
53197         * lib/rpmatch.c: Include <stdlib.h> first.
53198         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
53199         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
53200         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
53201         HAVE_RPMATCH.
53202         * modules/rpmatch (Depends-on): Add stdlib, extensions.
53203         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53204         (Include): Set to <stdlib.h>.
53205         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
53206         HAVE_RPMATCH.
53207         * NEWS: Document the change.
53208
53209 2008-04-28  Bruno Haible  <bruno@clisp.org>
53210
53211         Change rpmatch to use nl_langinfo when appropriate.
53212         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
53213         (N_): New macro.
53214         (localized_pattern): New function/macro.
53215         (try): Remove match, nomatch arguments. Copy the pattern into safe
53216         memory before caching it.
53217         (rpmatch): Use localized_pattern. Add translator comments.
53218         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
53219         Suggested by Eric Blake.
53220         * modules/rpmatch (Depends-on): Add stdbool.
53221
53222 2008-04-28  Eric Blake  <ebb9@byu.net>
53223
53224         Add rawmemchr module, matching glibc.
53225         * modules/string (Makefile.am): New indicator.
53226         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
53227         * lib/string.in.h (rawmemchr): Declare when appropriate.
53228         * modules/rawmemchr: New file.
53229         * m4/rawmemchr.m4: Likewise.
53230         * lib/rawmemchr.c: Likewise.
53231         * modules/rawmemchr-tests: Likewise.
53232         * tests/test-rawmemchr.c: Likewise.
53233         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
53234         module.
53235         * modules/strchrnul (Depends-on): Add rawmemchr.
53236         * lib/strchrnul.c (strchrnul): Optimize a corner case.
53237
53238         Whitespace cleanup.
53239         * tests/test-strchrnul.c: Reindent.
53240         * lib/strchrnul.c: Likewise.
53241
53242         Optimize and test strchrnul.
53243         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
53244         * modules/strchrnul-tests: New file.
53245         * tests/test-strchrnul.c: Likewise.
53246
53247         Remove intprops dependency.
53248         * modules/memchr (Depends-on): Remove intprops.
53249         * modules/memrchr (Depends-on): Likewise.
53250         * modules/memchr2 (Depends-on): Likewise.
53251         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
53252         * lib/memrchr.c (__memrchr): Likewise.
53253         * lib/memrchr2.c (memchr2): Likewise.
53254         Reported by Simon Josefsson.
53255
53256 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53257
53258         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
53259         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53260
53261 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53262
53263         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
53264
53265         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
53266
53267         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
53268
53269         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
53270         declarations.
53271         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
53272
53273         * m4/inet_pton.m4: Don't check for header files.
53274
53275         * m4/inet_ntop.m4: Don't check for header files.
53276
53277 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53278
53279         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
53280         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
53281         trigger for cygwin).
53282         Reported by Bruno Haible  <bruno@clisp.org>.
53283
53284 2008-04-28  Bruno Haible  <bruno@clisp.org>
53285
53286         * doc/posix-functions/strdup.texi: Mention mingw problem.
53287
53288 2008-04-27  Bruno Haible  <bruno@clisp.org>
53289
53290         * modules/stat-time-tests (Depends-on): Add sleep.
53291         * tests/test-stat-time.c (force_unlink): New function.
53292         (cleanup): Use it.
53293         (test_mtime): Remove the ctime related tests.
53294         (test_ctime): New function, containing the ctime related tests.
53295         (main): Call test_ctime, except on native Windows platforms.
53296
53297 2008-04-27  Bruno Haible  <bruno@clisp.org>
53298
53299         * lib/rpmatch.c (rpmatch): Add some comments.
53300         Reported by James Youngman <jay@gnu.org>.
53301
53302 2008-04-27  Bruno Haible  <bruno@clisp.org>
53303
53304         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
53305         quiet NaNs.
53306
53307 2008-04-27  Bruno Haible  <bruno@clisp.org>
53308
53309         Make test-yesno.sh work on mingw.
53310         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
53311         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
53312         (main): Set stdin to binary mode.
53313         * modules/yesno-tests (Depends-on): Add binary-io.
53314
53315 2008-04-27  Bruno Haible  <bruno@clisp.org>
53316
53317         Fix 'isfinite' on x86, x86_64, ia64 platforms.
53318         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
53319         argument that lie outside the IEEE 854 domain.
53320         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
53321         (gl_ISFINITE): Use it.
53322         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
53323
53324 2008-04-27  Bruno Haible  <bruno@clisp.org>
53325
53326         Allow local renaming in config.h.
53327         * lib/memrchr.c (memrchr): Don't undefine outside libc.
53328
53329 2008-04-27  Bruno Haible  <bruno@clisp.org>
53330
53331         * lib/memchr.c (__memchr): Change type of 'i'.
53332         * lib/memchr2.c (memchr2): Likewise.
53333
53334 2008-04-26  Eric Blake  <ebb9@byu.net>
53335         and Bruno Haible  <bruno@clisp.org>
53336
53337         Optimize and test memrchr.
53338         * modules/memrchr (Depends-on): Add intprops.
53339         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
53340         * modules/memrchr-tests: New file.
53341         * tests/test-memrchr.c: New file.
53342
53343 2008-04-26  Bruno Haible  <bruno@clisp.org>
53344
53345         Add tentative support for DragonFly BSD.
53346         * lib/stdio-impl.h: Add macros for DragonFly BSD.
53347         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
53348         fp.
53349         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
53350         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
53351         * lib/fpurge.c (fpurge): Likewise.
53352         * lib/freadable.c (freaadable): Likewise.
53353         * lib/freadahead.c (freadahead): Likewise.
53354         * lib/freading.c (freading): Likewise.
53355         * lib/freadptr.c (freadptr): Likewise.
53356         * lib/freadseek.c (freadptrinc): Likewise.
53357         * lib/fseeko.c (fseeko): Likewise.
53358         * lib/fseterr.c (fseterr): Likewise.
53359         * lib/fwritable.c (fwritable): Likewise.
53360         * lib/fwriting.c (fwriting): Likewise.
53361
53362 2008-04-26  Bruno Haible  <bruno@clisp.org>
53363
53364         * lib/stdio-impl.h: New file.
53365         * lib/fbufmode.c: Include stdio-impl.h.
53366         (fbufmode): Use fp_, remove redundant #defines.
53367         * lib/fflush.c: Include stdio-impl.h.
53368         (clear_ungetc_buffer): Remove redundant #defines.
53369         * lib/fpurge.c: Include stdio-impl.h.
53370         (fpurge): Remove redundant #defines.
53371         * lib/freadable.c: Include stdio-impl.h.
53372         (freadable): Remove redundant #defines.
53373         * lib/freadahead.c: Include stdio-impl.h.
53374         (freadahead): Remove redundant #defines.
53375         * lib/freading.c: Include stdio-impl.h.
53376         (freading): Remove redundant #defines.
53377         * lib/freadptr.c: Include stdio-impl.h.
53378         (freadptr): Remove redundant #defines.
53379         * lib/freadseek.c: Include stdio-impl.h.
53380         (freadptrinc): Remove redundant #defines.
53381         * lib/fseeko.c: Include stdio-impl.h.
53382         (rpl_fseeko): Remove redundant #defines.
53383         * lib/fseterr.c: Include stdio-impl.h.
53384         (fseterr): Remove redundant #defines.
53385         * lib/fwritable.c: Include stdio-impl.h.
53386         (fwritable: Remove redundant #defines.
53387         * lib/fwriting.c: Include stdio-impl.h.
53388         (fwriting): Remove redundant #defines.
53389         * modules/fbufmode (Files): Add lib/stdio-impl.h.
53390         * modules/fflush (Files): Likewise.
53391         * modules/fpurge (Files): Likewise.
53392         * modules/freadable (Files): Likewise.
53393         * modules/freadahead (Files): Likewise.
53394         * modules/freading (Files): Likewise.
53395         * modules/freadptr (Files): Likewise.
53396         * modules/freadseek (Files): Likewise.
53397         * modules/fseeko (Files): Likewise.
53398         * modules/fseterr (Files): Likewise.
53399         * modules/fwritable (Files): Likewise.
53400         * modules/fwriting (Files): Likewise.
53401
53402 2008-04-26  Bruno Haible  <bruno@clisp.org>
53403
53404         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
53405         restore_seek_optimization, update_fpos_cache): New functions, extracted
53406         from rpl_fflush.
53407         (rpl_fflush): Use them.
53408         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
53409         (gl_REPLACE_FFLUSH): Use it.
53410
53411 2008-04-26  Bruno Haible  <bruno@clisp.org>
53412
53413         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
53414         on Solaris.
53415         * tests/test-xstrtoimax.sh: Likewise.
53416         * tests/test-xstrtoumax.sh: Likewise.
53417         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53418
53419 2008-04-26  Bruno Haible  <bruno@clisp.org>
53420
53421         * modules/memchr-tests: New file.
53422         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
53423
53424 2008-04-26  Eric Blake  <ebb9@byu.net>
53425             Bruno Haible  <bruno@clisp.org>
53426
53427         * lib/memchr.c: Include intprops.h.
53428         (__memchr): Optimize parallel detection of matching bytes. Rename local
53429         variables. Add explanatory comments.
53430
53431 2008-04-26  Bruno Haible  <bruno@clisp.org>
53432
53433         Fix module 'memchr', broken since 2000-10-28.
53434         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
53435
53436 2008-04-26  Bruno Haible  <bruno@clisp.org>
53437
53438         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
53439         comments.
53440
53441 2008-04-25  Eric Blake  <ebb9@byu.net>
53442
53443         Use native fstatat on cygwin 1.7.0.
53444         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
53445         first.
53446
53447 2008-04-23  Eric Blake  <ebb9@byu.net>
53448
53449         Improve memchr2 performance.
53450         * lib/memchr2.c (memchr2): Further optimize parallel detection of
53451         NUL bytes.
53452         * modules/memchr2 (Depends-on): Use intprops.h.
53453
53454 2008-04-23  Simon Josefsson  <simon@josefsson.org>
53455
53456         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
53457         an inline function instead of a CPP macro.  Patch by Ben Pfaff
53458         <blp@cs.stanford.edu>.
53459
53460 2008-04-23  Simon Josefsson  <simon@josefsson.org>
53461
53462         * lib/arpa_inet.in.h: New file.
53463
53464         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
53465         (Makefile.am): Sed in substitute header file.
53466
53467         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
53468         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
53469
53470         * modules/inet_ntop (configure.ac): Use
53471         gl_ARPA_INET_MODULE_INDICATOR.
53472
53473         * modules/inet_pton (configure.ac): Use
53474         gl_ARPA_INET_MODULE_INDICATOR.
53475
53476 2008-04-22  Jim Meyering  <meyering@redhat.com>
53477
53478         * modules/verify (License): Re-license as LGPLv2+.
53479
53480 2008-04-22  Simon Josefsson  <simon@josefsson.org>
53481
53482         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
53483         parameter to void* as per POSIX standard (MinGW uses char*).
53484
53485 2008-04-21  Bruno Haible  <bruno@clisp.org>
53486
53487         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
53488         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
53489         Define to replacements if REPLACE_ISWCNTRL is 1.
53490         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
53491         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
53492         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
53493         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
53494         what it fixes.
53495         * doc/posix-functions/iswalpha.texi: Likewise.
53496         * doc/posix-functions/iswblank.texi: Likewise.
53497         * doc/posix-functions/iswcntrl.texi: Likewise.
53498         * doc/posix-functions/iswdigit.texi: Likewise.
53499         * doc/posix-functions/iswgraph.texi: Likewise.
53500         * doc/posix-functions/iswlower.texi: Likewise.
53501         * doc/posix-functions/iswprint.texi: Likewise.
53502         * doc/posix-functions/iswpunct.texi: Likewise.
53503         * doc/posix-functions/iswspace.texi: Likewise.
53504         * doc/posix-functions/iswupper.texi: Likewise.
53505         * doc/posix-functions/iswxdigit.texi: Likewise.
53506         Reported by Alain Guibert.
53507
53508 2008-04-21  Bruno Haible  <bruno@clisp.org>
53509
53510         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
53511         Patch by Alain Guibert.
53512
53513 2008-04-21  Bruno Haible  <bruno@clisp.org>
53514
53515         Fix test failures on mingw.
53516         * tests/test-xstrtol.c (print_no_progname): New function.
53517         (main): Install it in error_print_progname hook.
53518         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
53519         * tests/test-xstrtoimax.sh: Likewise.
53520         * tests/test-xstrtoumax.sh: Likewise.
53521
53522 2008-04-21  Bruno Haible  <bruno@clisp.org>
53523
53524         Fix test failure on mingw.
53525         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
53526
53527 2008-04-21  Bruno Haible  <bruno@clisp.org>
53528
53529         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
53530         Actually assign a value.
53531
53532 2008-04-20  Bruno Haible  <bruno@clisp.org>
53533
53534         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
53535         take 2.
53536         * lib/canonicalize.c (canonicalize_file_name): Elide if the
53537         'canonicalize-lgpl' module is also used.
53538         * lib/canonicalize-lgpl.c: Undo last change.
53539         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
53540
53541 2008-04-20  Bruno Haible  <bruno@clisp.org>
53542
53543         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
53544         config.h. Provide _mkdir based fallback for mingw.
53545         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
53546         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
53547         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
53548         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
53549         rather than defining mkdir in config.h.
53550         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
53551         (gl_SYS_STAT_H_DEFAULTS): New macro.
53552         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
53553         HAVE_IO_H any more.
53554         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
53555         HAVE_DECL_MKDIR and HAVE_IO_H.
53556
53557 2008-04-20  Bruno Haible  <bruno@clisp.org>
53558
53559         * lib/isapipe.c: Port to native Windows platforms.
53560
53561 2008-04-20  Bruno Haible  <bruno@clisp.org>
53562
53563         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
53564
53565 2008-04-21  Eric Blake  <ebb9@byu.net>
53566
53567         Work around preprocessors that don't handle UINTMAX_MAX.
53568         * lib/memchr2.c (memchr2): Avoid embedded #if.
53569         Reported by Alain Guibert, fix suggested by Bruno Haible.
53570
53571 2008-04-21  Simon Josefsson  <simon@josefsson.org>
53572
53573         * doc/posix-functions/strftime.texi (strftime): Explain better
53574         Windows incompatibility.  Suggested by Micah Cowan
53575         <micah@cowan.name>.
53576
53577 2008-04-20  Bruno Haible  <bruno@clisp.org>
53578
53579         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
53580         unistr/u8-mblen.
53581
53582 2008-04-20  Bruno Haible  <bruno@clisp.org>
53583
53584         Fix test failure on platforms with non-GNU iconv.
53585         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
53586         (U_TO_U8): Use it, rather than u16_to_u8.
53587         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
53588         units at the end of the input string.
53589         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
53590
53591 2008-04-20  Bruno Haible  <bruno@clisp.org>
53592
53593         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
53594         when the resulting length is 0.
53595         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
53596
53597 2008-04-20  Bruno Haible  <bruno@clisp.org>
53598
53599         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
53600         works.
53601         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
53602
53603 2008-04-20  Bruno Haible  <bruno@clisp.org>
53604
53605         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
53606         * modules/tsearch-tests (configure.ac): Test for initstate function.
53607
53608 2008-04-20  Bruno Haible  <bruno@clisp.org>
53609
53610         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
53611         for nlink_t if missing.
53612         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
53613
53614 2008-04-19  Bruno Haible  <bruno@clisp.org>
53615
53616         Work around snprintf bug on Linux libc5.
53617         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
53618         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
53619         gl_SNPRINTF_SIZE1.
53620         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53621         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
53622         that test failed.
53623         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
53624         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
53625         * modules/snprintf (Files): Add m4/printf.m4.
53626         * modules/vsnprintf (Files): Likewise.
53627         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
53628         * doc/posix-functions/vsnprintf.texi: Likewise.
53629
53630 2008-04-19  Bruno Haible  <bruno@clisp.org>
53631
53632         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
53633         from 0.0058 to less than 10^-7.
53634
53635 2008-04-19  Bruno Haible  <bruno@clisp.org>
53636
53637         Fix rounding when a precision is given.
53638         * lib/vasnprintf.c (is_borderline): New function.
53639         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
53640         9...9x.
53641         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
53642         %e, %g.
53643         * tests/test-vasprintf-posix.c (test_function): Likewise.
53644         * tests/test-snprintf-posix.h (test_function): Likewise.
53645         * tests/test-sprintf-posix.h (test_function): Likewise.
53646         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
53647         * tests/test-printf-posix.h (test_function): Likewise.
53648         * tests/test-printf-posix.output: Update.
53649         Reported by John Darrington <john@darrington.wattle.id.au> via
53650         Ben Pfaff <blp@cs.stanford.edu>.
53651
53652 2008-04-18  Simon Josefsson  <simon@josefsson.org>
53653
53654         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
53655         Suggested by Bruno Haible <bruno@clisp.org>.
53656
53657 2008-04-17  Bruno Haible  <bruno@clisp.org>
53658
53659         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
53660         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
53661         implementation.
53662         Patch by Bruce Merry <bmerry@gmail.com>.
53663
53664 2008-04-17  Simon Josefsson  <simon@josefsson.org>
53665
53666         * doc/posix-functions/strftime.texi (strftime): Mention that %e
53667         doesn't work under Windows.
53668
53669 2008-04-16  Bruno Haible  <bruno@clisp.org>
53670
53671         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
53672         New macros.
53673         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
53674         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
53675         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
53676         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
53677         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
53678         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
53679         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
53680         macros.
53681         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
53682         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
53683         Northern Sotho, Uighur.
53684
53685 2008-04-16  Bruno Haible  <bruno@clisp.org>
53686
53687         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
53688         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
53689         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
53690         Reported by Daniel Bergström <daniel@octocode.com>.
53691
53692 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
53693             Bruno Haible  <bruno@clisp.org>
53694
53695         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
53696         function.
53697         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
53698         New functions, mostly extracted from gl_locale_name_default.
53699         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
53700
53701 2008-04-16  Eric Blake  <ebb9@byu.net>
53702
53703         Adjust strtod detection to catch glibc 2.7 bug.
53704         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
53705         Reported by John Gatewood Ham.
53706
53707 2008-04-16  Bruno Haible  <bruno@clisp.org>
53708
53709         Add tentative support for Linux libc5.
53710         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
53711         * lib/fpurge.c (fpurge): Likewise.
53712         * lib/freadable.c (freadable): Likewise.
53713         * lib/freadahead.c (freadahead): Likewise.
53714         * lib/freading.c (freading): Likewise.
53715         * lib/freadptr.c (freadptr): Likewise.
53716         * lib/freadseek.c (freadptrinc): Likewise.
53717         * lib/fseeko.c (rpl_fseeko): Likewise.
53718         * lib/fseterr.c (fseterr): Likewise.
53719         * lib/fwritable.c (fwritable): Likewise.
53720         * lib/fwriting.c (fwriting): Likewise.
53721         Reported by Alain Guibert <alguibert+bts@free.fr>.
53722
53723 2008-04-15  Bruno Haible  <bruno@clisp.org>
53724
53725         * modules/mathl (configure.ac): Define module indicator.
53726
53727 2008-04-15  Bruno Haible  <bruno@clisp.org>
53728
53729         * lib/logl.c (logl): Remove unused variables.
53730
53731 2008-04-15  Bruno Haible  <bruno@clisp.org>
53732
53733         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
53734         fails.
53735
53736 2008-04-15  Bruno Haible  <bruno@clisp.org>
53737
53738         * lib/trim.c (trim2): Fix argument of isspace() macro.
53739
53740 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
53741
53742         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
53743         to 0.
53744         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
53745
53746 2008-04-14  Bruno Haible  <bruno@clisp.org>
53747
53748         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
53749         AC_LANG_PROGRAM argument.
53750         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
53751         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
53752         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
53753         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
53754         * m4/math_h.m4 (gl_MATH_H): Likewise.
53755         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
53756         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
53757         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
53758         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
53759         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
53760         * m4/regex.m4 (gl_REGEX): Likewise.
53761         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
53762         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
53763         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53764         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
53765         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
53766         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53767         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53768         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
53769
53770 2008-04-14  Jim Meyering  <meyering@redhat.com>
53771
53772         test-strtod: fix typos: s/abs/fabs/
53773         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
53774
53775 2008-04-13  Bruno Haible  <bruno@clisp.org>
53776
53777         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
53778         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
53779         module is also used and while not building the reloc-wrapper.
53780
53781 2008-04-13  Bruno Haible  <bruno@clisp.org>
53782
53783         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
53784
53785 2008-04-13  Bruno Haible  <bruno@clisp.org>
53786
53787         Fix AIX compilation failure introduced on 2008-04-02.
53788         * tests/test-frexp.c (exp): Undefine before redefining.
53789         * tests/test-frexpl.c (exp): Likewise.
53790
53791 2008-04-13  Bruno Haible  <bruno@clisp.org>
53792
53793         Work around a HP-UX stdio bug.
53794         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
53795         * tests/test-ftello.c (main): Likewise.
53796         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
53797         * doc/posix-functions/ftello.texi: Likewise.
53798
53799 2008-04-13  Bruno Haible  <bruno@clisp.org>
53800
53801         Make test-signbit pass on HP-UX/hppa.
53802         * tests/test-signbit.c (minus_zerol): New variable.
53803         (test_signbitl): Use it.
53804
53805 2008-04-13  Bruno Haible  <bruno@clisp.org>
53806
53807         Make truncl work on OSF/1 4.0.
53808         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
53809         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
53810         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
53811         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
53812         HAVE_DECL_TRUNCL.
53813         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
53814         HAVE_DECL_TRUNCL.
53815         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
53816
53817 2008-04-13  Bruno Haible  <bruno@clisp.org>
53818
53819         * lib/unictype.h: Remove trailing comma from enumeration definitions.
53820
53821 2008-04-13  Bruno Haible  <bruno@clisp.org>
53822
53823         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
53824         expression, so as to avoid HP-UX 11 cc compiler bug.
53825
53826 2008-04-13  Bruno Haible  <bruno@clisp.org>
53827
53828         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
53829
53830 2008-04-13  Bruno Haible  <bruno@clisp.org>
53831
53832         * lib/git-merge-changelog.c: Remove empty declaration outside of
53833         functions.
53834
53835 2008-04-13  Bruno Haible  <bruno@clisp.org>
53836
53837         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
53838
53839 2008-04-13  Bruno Haible  <bruno@clisp.org>
53840
53841         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
53842         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
53843         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
53844         also if it exists but lacks definitions of the SHUT_* macros.
53845         * modules/sys_socket (Description): Update.
53846         Reported by Elbert Pol <e.pol@chello.nl>.
53847
53848 2008-04-13  Bruno Haible  <bruno@clisp.org>
53849
53850         * lib/localcharset.c (OS2): Don't redefine if already defined.
53851         Reported by Elbert Pol <e.pol@chello.nl>.
53852
53853 2008-04-13  Bruno Haible  <bruno@clisp.org>
53854
53855         * lib/binary-io.h [__EMX__]: Include <io.h>.
53856         Reported by Elbert Pol <e.pol@chello.nl>.
53857
53858 2008-04-12  Bruno Haible  <bruno@clisp.org>
53859
53860         * lib/fpucw.h: Enable the definitions also for x86_64.
53861         Needed for NetBSD/x86_64.
53862         Reported by Thomas Klausner <tk@giga.or.at>.
53863
53864 2008-04-12  Bruno Haible  <bruno@clisp.org>
53865
53866         * tests/test-strtod.c: Include isnand.h.
53867         (main): Use isnand instead of isnan.
53868         Reported by Jim Meyering.
53869
53870 2008-04-12  Bruno Haible  <bruno@clisp.org>
53871
53872         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
53873         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
53874
53875 2008-04-12  Jim Meyering  <meyering@redhat.com>
53876
53877         * m4/math_h.m4 (gl_MATH_H): Fix typos.
53878
53879 2008-04-12  Bruno Haible  <bruno@clisp.org>
53880
53881         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
53882         Reported by Elbert Pol <e.pol@chello.nl>.
53883
53884 2008-04-12  Eric Blake  <ebb9@byu.net>
53885
53886         Work around Solaris 10 math.h bug.
53887         * m4/math_h.m4 (gl_MATH_H): Check for bug.
53888         (gl_MATH_H_DEFAULTS): Set up default.
53889         * modules/math (Makefile.am): Replace new indicators.
53890         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
53891         * tests/test-math.c (main): Test this.
53892         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
53893         * doc/posix-headers/math.texi (math.h): Mention bug.
53894         Reported by Nelson H. F. Beebe and Jim Meyering.
53895
53896 2008-04-11  Bruno Haible  <bruno@clisp.org>
53897
53898         Adapt to future versions of Apple GCC.
53899         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
53900         Reported by Peter O'Gorman <peter@pogma.com>.
53901
53902 2008-04-11  Bruno Haible  <bruno@clisp.org>
53903
53904         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
53905
53906 2008-04-11  Bruno Haible  <bruno@clisp.org>
53907
53908         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
53909
53910         * modules/getaddrinfo-tests (Makefile.am): Define
53911         test_getaddrinfo_LDADD.
53912
53913 2008-04-11  Bruno Haible  <bruno@clisp.org>
53914
53915         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
53916         (init): Fix syntax error.
53917         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
53918         is declared.
53919
53920 2008-04-11  Bruno Haible  <bruno@clisp.org>
53921
53922         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
53923         * modules/glob (Depends-on): Add stdbool.
53924
53925 2008-04-11  Bruno Haible  <bruno@clisp.org>
53926
53927         * lib/trim.c: Include <string.h>.
53928
53929 2008-04-11  Eric Blake  <ebb9@byu.net>
53930
53931         Avoid compile failure on OS/2.
53932         * lib/regex_internal.h (internal_function): Disable optimization
53933         on OS/2 (__EMX__), where it caused compiler error.
53934         Reported by Elbert Pol.
53935
53936 2008-04-11  Bruno Haible  <bruno@clisp.org>
53937
53938         Flush the standard error stream before aborting. Needed on mingw.
53939         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
53940         * tests/test-array_list.c (ASSERT): Likewise.
53941         * tests/test-array_oset.c (ASSERT): Likewise.
53942         * tests/test-avltree_list.c (ASSERT): Likewise.
53943         * tests/test-avltree_oset.c (ASSERT): Likewise.
53944         * tests/test-avltreehash_list.c (ASSERT): Likewise.
53945         * tests/test-binary-io.c (ASSERT): Likewise.
53946         * tests/test-byteswap.c (ASSERT): Likewise.
53947         * tests/test-c-ctype.c (ASSERT): Likewise.
53948         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
53949         * tests/test-c-strcasestr.c (ASSERT): Likewise.
53950         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
53951         * tests/test-c-strstr.c (ASSERT): Likewise.
53952         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
53953         * tests/test-canonicalize.c (ASSERT): Likewise.
53954         * tests/test-carray_list.c (ASSERT): Likewise.
53955         * tests/test-ceilf1.c (ASSERT): Likewise.
53956         * tests/test-ceilf2.c (ASSERT): Likewise.
53957         * tests/test-ceill.c (ASSERT): Likewise.
53958         * tests/test-count-one-bits.c (ASSERT): Likewise.
53959         * tests/test-fbufmode.c (ASSERT): Likewise.
53960         * tests/test-fflush2.c (ASSERT): Likewise.
53961         * tests/test-floorf1.c (ASSERT): Likewise.
53962         * tests/test-floorf2.c (ASSERT): Likewise.
53963         * tests/test-floorl.c (ASSERT): Likewise.
53964         * tests/test-fopen.c (ASSERT): Likewise.
53965         * tests/test-fpending.c (ASSERT): Likewise.
53966         * tests/test-fprintf-posix.c (ASSERT): Likewise.
53967         * tests/test-fpurge.c (ASSERT): Likewise.
53968         * tests/test-freadable.c (ASSERT): Likewise.
53969         * tests/test-freadahead.c (ASSERT): Likewise.
53970         * tests/test-freading.c (ASSERT): Likewise.
53971         * tests/test-freadptr.c (ASSERT): Likewise.
53972         * tests/test-freadptr2.c (ASSERT): Likewise.
53973         * tests/test-freadseek.c (ASSERT): Likewise.
53974         * tests/test-freopen.c (ASSERT): Likewise.
53975         * tests/test-frexp.c (ASSERT): Likewise.
53976         * tests/test-frexpl.c (ASSERT): Likewise.
53977         * tests/test-fseek.c (ASSERT): Likewise.
53978         * tests/test-fseeko.c (ASSERT): Likewise.
53979         * tests/test-fstrcmp.c (ASSERT): Likewise.
53980         * tests/test-ftell.c (ASSERT): Likewise.
53981         * tests/test-ftello.c (ASSERT): Likewise.
53982         * tests/test-func.c (ASSERT): Likewise.
53983         * tests/test-fwritable.c (ASSERT): Likewise.
53984         * tests/test-fwriting.c (ASSERT): Likewise.
53985         * tests/test-getdelim.c (ASSERT): Likewise.
53986         * tests/test-getline.c (ASSERT): Likewise.
53987         * tests/test-i-ring.c (ASSERT): Likewise.
53988         * tests/test-iconv-utf.c (ASSERT): Likewise.
53989         * tests/test-iconv.c (ASSERT): Likewise.
53990         * tests/test-isfinite.c (ASSERT): Likewise.
53991         * tests/test-isnand.c (ASSERT): Likewise.
53992         * tests/test-isnanf.c (ASSERT): Likewise.
53993         * tests/test-isnanl.h (ASSERT): Likewise.
53994         * tests/test-ldexpl.c (ASSERT): Likewise.
53995         * tests/test-linked_list.c (ASSERT): Likewise.
53996         * tests/test-linkedhash_list.c (ASSERT): Likewise.
53997         * tests/test-localename.c (ASSERT): Likewise.
53998         * tests/test-lseek.c (ASSERT): Likewise.
53999         * tests/test-mbscasecmp.c (ASSERT): Likewise.
54000         * tests/test-mbscasestr1.c (ASSERT): Likewise.
54001         * tests/test-mbscasestr2.c (ASSERT): Likewise.
54002         * tests/test-mbscasestr3.c (ASSERT): Likewise.
54003         * tests/test-mbscasestr4.c (ASSERT): Likewise.
54004         * tests/test-mbschr.c (ASSERT): Likewise.
54005         * tests/test-mbscspn.c (ASSERT): Likewise.
54006         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
54007         * tests/test-mbspbrk.c (ASSERT): Likewise.
54008         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
54009         * tests/test-mbsrchr.c (ASSERT): Likewise.
54010         * tests/test-mbsspn.c (ASSERT): Likewise.
54011         * tests/test-mbsstr1.c (ASSERT): Likewise.
54012         * tests/test-mbsstr2.c (ASSERT): Likewise.
54013         * tests/test-mbsstr3.c (ASSERT): Likewise.
54014         * tests/test-memchr2.c (ASSERT): Likewise.
54015         * tests/test-memmem.c (ASSERT): Likewise.
54016         * tests/test-open.c (ASSERT): Likewise.
54017         * tests/test-printf-frexp.c (ASSERT): Likewise.
54018         * tests/test-printf-frexpl.c (ASSERT): Likewise.
54019         * tests/test-printf-posix.c (ASSERT): Likewise.
54020         * tests/test-quotearg.c (ASSERT): Likewise.
54021         * tests/test-rbtree_list.c (ASSERT): Likewise.
54022         * tests/test-rbtree_oset.c (ASSERT): Likewise.
54023         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
54024         * tests/test-round1.c (ASSERT): Likewise.
54025         * tests/test-roundf1.c (ASSERT): Likewise.
54026         * tests/test-roundl.c (ASSERT): Likewise.
54027         * tests/test-signbit.c (ASSERT): Likewise.
54028         * tests/test-sleep.c (ASSERT): Likewise.
54029         * tests/test-snprintf-posix.c (ASSERT): Likewise.
54030         * tests/test-snprintf.c (ASSERT): Likewise.
54031         * tests/test-sprintf-posix.c (ASSERT): Likewise.
54032         * tests/test-stat-time.c (ASSERT): Likewise.
54033         * tests/test-strcasestr.c (ASSERT): Likewise.
54034         * tests/test-strerror.c (ASSERT): Likewise.
54035         * tests/test-striconv.c (ASSERT): Likewise.
54036         * tests/test-striconveh.c (ASSERT): Likewise.
54037         * tests/test-striconveha.c (ASSERT): Likewise.
54038         * tests/test-strsignal.c (ASSERT): Likewise.
54039         * tests/test-strstr.c (ASSERT): Likewise.
54040         * tests/test-strtod.c (ASSERT): Likewise.
54041         * tests/test-trunc1.c (ASSERT): Likewise.
54042         * tests/test-trunc2.c (ASSERT): Likewise.
54043         * tests/test-truncf1.c (ASSERT): Likewise.
54044         * tests/test-truncf2.c (ASSERT): Likewise.
54045         * tests/test-truncl.c (ASSERT): Likewise.
54046         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
54047         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
54048         * tests/test-vasnprintf.c (ASSERT): Likewise.
54049         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
54050         * tests/test-vasprintf.c (ASSERT): Likewise.
54051         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
54052         * tests/test-vprintf-posix.c (ASSERT): Likewise.
54053         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
54054         * tests/test-vsnprintf.c (ASSERT): Likewise.
54055         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
54056         * tests/test-wcwidth.c (ASSERT): Likewise.
54057         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
54058         * tests/test-xprintf-posix.c (ASSERT): Likewise.
54059         * tests/test-xvasprintf.c (ASSERT): Likewise.
54060         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
54061         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
54062         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
54063         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
54064         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
54065         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
54066         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
54067         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
54068         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
54069         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
54070         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
54071         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
54072         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
54073         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
54074         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
54075         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
54076         * tests/unictype/test-block_list.c (ASSERT): Likewise.
54077         * tests/unictype/test-block_of.c (ASSERT): Likewise.
54078         * tests/unictype/test-block_test.c (ASSERT): Likewise.
54079         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
54080         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
54081         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
54082         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
54083         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
54084         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
54085         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
54086         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
54087         * tests/unictype/test-combining.c (ASSERT): Likewise.
54088         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
54089         * tests/unictype/test-digit.c (ASSERT): Likewise.
54090         * tests/unictype/test-mirror.c (ASSERT): Likewise.
54091         * tests/unictype/test-numeric.c (ASSERT): Likewise.
54092         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
54093         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
54094         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
54095         * tests/unictype/test-scripts.c (ASSERT): Likewise.
54096         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
54097         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
54098         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
54099         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
54100         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
54101         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
54102         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
54103         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
54104         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
54105         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
54106         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
54107         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
54108         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
54109         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
54110         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
54111         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
54112         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
54113         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
54114         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
54115         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
54116         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
54117         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
54118         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
54119         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
54120         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
54121         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
54122         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
54123         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
54124         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
54125         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
54126         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
54127         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
54128         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
54129         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
54130         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
54131         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
54132         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
54133         Reported by Eric Blake.
54134
54135 2008-04-11  Bruno Haible  <bruno@clisp.org>
54136
54137         * lib/wchar.in.h: Tweak comment.
54138
54139 2008-04-11  Bruno Haible  <bruno@clisp.org>
54140
54141         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
54142         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
54143         gl_COMMON.
54144         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
54145
54146 2008-04-11  Bruno Haible  <bruno@clisp.org>
54147
54148         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
54149
54150 2008-04-11  Simon Josefsson  <simon@josefsson.org>
54151
54152         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
54153         of attempting to use non-existing /dev/*random.  Based on patch
54154         from Adam Strzelecki <ono@java.pl> in
54155         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
54156
54157 2008-04-08  Bruno Haible  <bruno@clisp.org>
54158
54159         Add tentative support for emx+gcc.
54160         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
54161         * lib/fpurge.c (fpurge): Likewise.
54162         * lib/freadable.c (freadable): Likewise.
54163         * lib/freadahead.c (freadahead): Likewise.
54164         * lib/freading.c (freading): Likewise.
54165         * lib/freadptr.c (freadptr): Likewise.
54166         * lib/freadseek.c (freadptrinc): Likewise.
54167         * lib/fseeko.c (rpl_fseeko): Likewise.
54168         * lib/fseterr.c (fseterr): Likewise.
54169         * lib/fwritable.c (fwritable): Likewise.
54170         * lib/fwriting.c (fwriting): Likewise.
54171         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
54172
54173 2008-04-09  Eric Blake  <ebb9@byu.net>
54174
54175         Avoid some autoconf warnings.
54176         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
54177         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
54178         * m4/afs.m4 (gl_AFS): Likewise.
54179         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
54180         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
54181         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54182         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
54183         (gl_INTEGER_TYPE_SUFFIX): Likewise.
54184         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
54185         (AC_CHECK_DECLS_ONCE): Likewise.
54186         Rename file...
54187         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
54188         gnulib-tool requires autoconf 2.59 or better.
54189         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
54190
54191 2008-04-08  Eric Blake  <ebb9@byu.net>
54192
54193         Use 'git describe --match' if present (added in git 1.5.5).
54194         * build-aux/git-version-gen: Limit result to tags that match 'v*'
54195         if possible.
54196
54197 2008-04-08  Bruno Haible  <bruno@clisp.org>
54198
54199         Add tentative support for OpenServer.
54200         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
54201         _ptr, _cnt.
54202         * lib/fpurge.c (fpurge): Likewise.
54203         * lib/freadable.c (freadable): Likewise.
54204         * lib/freadahead.c (freadahead): Likewise.
54205         * lib/freading.c (freading): Likewise.
54206         * lib/freadptr.c (freadptr): Likewise.
54207         * lib/freadseek.c (freadptrinc): Likewise.
54208         * lib/fseeko.c (rpl_fseeko): Likewise.
54209         * lib/fseterr.c (fseterr): Likewise.
54210         * lib/fwritable.c (fwritable): Likewise.
54211         * lib/fwriting.c (fwriting): Likewise.
54212         Reported by Roger Cornelius <rac@tenzing.org> and
54213         Brian K. White <brian@aljex.com>.
54214
54215 2008-04-06  Jim Meyering  <meyering@redhat.com>
54216
54217         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
54218
54219 2008-04-06  Bruno Haible  <bruno@clisp.org>
54220
54221         Avoid possible error with non-ASCII bytes in UTF-8 locales.
54222         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
54223         * tests/test-printf-posix.sh: Likewise.
54224         * tests/test-vfprintf-posix.sh: Likewise.
54225         * tests/test-vprintf-posix.sh: Likewise.
54226         * tests/test-xprintf-posix.sh: Likewise.
54227
54228 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54229
54230         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
54231         hide error from 'ls', needed on OS/2.
54232         Report by Elbert Pol <elbert.pol@gmail.com>.
54233
54234 2008-04-04  Eric Blake  <ebb9@byu.net>
54235
54236         Make test-fseeko.c failures meaningful.
54237         * tests/test-fseeko.c: Print line number on failure.
54238         * tests/test-fseek.c: Likewise.
54239         Reported by Nelson H. F. Beebe.
54240
54241         Improve strtod bug detection check.
54242         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
54243         required for Solaris 10.
54244         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
54245
54246 2008-04-04  Bruno Haible  <bruno@clisp.org>
54247
54248         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
54249         by m4/setenv.m4.
54250
54251 2008-04-03  Eric Blake  <ebb9@byu.net>
54252
54253         Ensure sane .version contents.
54254         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
54255         version string.
54256         * build-aux/git-version-gen: Improve documentation.
54257
54258         Make GNU make output nicer.
54259         * top/GNUmakefile [!_have-Makefile]: Add dependency on
54260         MAKECMDGOALS to enforce message for all command line targets.  Set
54261         srcdir for use in maint.mk.
54262
54263         Another maintainer tweak.
54264         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
54265         a target that regenerates version.
54266
54267 2008-04-03  Jim Meyering  <meyering@redhat.com>
54268
54269         vc-list-files: don't cause coreutils "make po-check" failure
54270         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
54271
54272 2008-04-03  Eric Blake  <ebb9@byu.net>
54273
54274         Allow VPATH usage of vc-list-files.
54275         * build-aux/vc-list-files (scriptversion): Add timestamp.
54276         (options): Add --help, --version, -C.
54277         (CVS): Support installed cvsu.
54278
54279 2008-04-02  Bruno Haible  <bruno@clisp.org>
54280
54281         Avoid some "statement with no effect" warnings from gcc.
54282         * tests/test-wctype.c (main): Explicitly ignore unused values.
54283         Reported by Jim Meyering.
54284
54285 2008-04-02  Jim Meyering  <meyering@redhat.com>
54286
54287         Avoid some warnings from "gcc -Wshadow".
54288         * tests/test-frexp.c (exp): Define to a different identifier.
54289         * tests/test-frexpl.c (exp): Likewise.
54290
54291 2008-04-03  Jim Meyering  <meyering@redhat.com>
54292
54293         bootstrap: remove dangling *.[ch] symlinks from lib
54294         * build-aux/bootstrap [dangling symlink removal]: Move find's
54295         -depth option to precede all others, to avoid a warning.
54296         Remove *.[ch] files too, and from "$source_base" (usually lib/).
54297
54298 2008-04-02  Bruno Haible  <bruno@clisp.org>
54299
54300         Avoid some warnings from "gcc -Wshadow".
54301         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
54302         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
54303         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
54304         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
54305         Reported by Jim Meyering.
54306
54307 2008-04-01  Bruno Haible  <bruno@clisp.org>
54308
54309         Fix test to work on IRIX 6.5 with cc.
54310         * tests/test-math.c (numeric_equal): New function.
54311         (main): Use it.
54312
54313 2008-04-01  Bruno Haible  <bruno@clisp.org>
54314
54315         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
54316
54317 2008-04-01  Bruno Haible  <bruno@clisp.org>
54318
54319         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
54320         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54321         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
54322         (Depends-on): Remove math.
54323
54324         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
54325         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54326         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
54327         (Depends-on): Remove math.
54328
54329         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
54330         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54331         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
54332         (Depends-on): Remove math.
54333         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
54334         (Depends-on): Remove math.
54335
54336         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
54337         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54338         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
54339         (Depends-on): Remove math.
54340         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
54341         (Depends-on): Remove math.
54342
54343         * tests/test-round1.c: Include nan.h.
54344         (main): Use NaNd instead of NAN.
54345         * modules/round-tests (Files): Add tests/nan.h.
54346
54347         * tests/test-trunc1.c: Include nan.h.
54348         (main): Use NaNd instead of NAN.
54349         * modules/trunc-tests (Files): Add tests/nan.h.
54350
54351         * tests/test-roundf1.c: Include nan.h.
54352         (main): Use NaNf instead of NAN.
54353         * modules/roundf-tests (Files): Add tests/nan.h.
54354
54355         * tests/test-truncf1.c: Include nan.h.
54356         (main): Use NaNf instead of NAN.
54357         * modules/truncf-tests (Files): Add tests/nan.h.
54358
54359         * tests/test-ceilf1.c: Include nan.h.
54360         (main): Use NaNf instead of NAN.
54361         * modules/ceilf-tests (Files): Add tests/nan.h.
54362
54363         * tests/test-floorf1.c: Include nan.h.
54364         (main): Use NaNf instead of NAN.
54365         * modules/floorf-tests (Files): Add tests/nan.h.
54366
54367         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
54368         (main): Use NaNf instead of NAN.
54369         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
54370
54371         * tests/test-isnand.c: Include nan.h instead of <math.h>.
54372         (main): Use NaNd instead of NAN.
54373         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
54374
54375         * tests/test-frexp.c: Include nan.h.
54376         (main): Use NaNd instead of NAN.
54377         * modules/frexp-tests (Files): Add tests/nan.h.
54378
54379         * lib/isnan.c: Don't include <math.h>.
54380         (FUNC): Don't use NAN macro.
54381         * modules/isnand-nolibm (Depends-on): Remove math.
54382         * modules/isnanf-nolibm (Depends-on): Remove math.
54383         * modules/isnanl (Depends-on): Remove math.
54384         * modules/isnanl-nolibm (Depends-on): Remove math.
54385
54386         * tests/nan.h: New file.
54387
54388 2008-04-01  Eric Blake  <ebb9@byu.net>
54389
54390         Fix typos.
54391         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
54392         values to be the right type.
54393
54394         For now, cater to gnulib strtod inaccuracies.
54395         * tests/test-strtod.c (main): Allow 1-ulp error on expected
54396         fractional results.  While not as nice from a QoI perspective, it
54397         is a quicker patch than correctly implementing decimal to binary
54398         rounding.
54399
54400 2008-03-31  Eric Blake  <ebb9@byu.net>
54401
54402         Guarantee a definition of NAN.
54403         * lib/math.in.h (NAN): Define if missing.
54404         * tests/test-math.c (main): Test it.
54405         * doc/posix-headers/math.texi (math.h): Document this.
54406         * lib/isnan.c (rpl_isnand): Use it.
54407         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
54408         * tests/test-floorf1.c (NaN): Likewise.
54409         * tests/test-frexp.c (NaN): Likewise.
54410         * tests/test-isnand.c (NaN): Likewise.
54411         * tests/test-isnanf.c (NaN): Likewise.
54412         * tests/test-round1.c (NaN): Likewise.
54413         * tests/test-roundf1.c (NaN): Likewise.
54414         * tests/test-snprintf-posix.h (NaN): Likewise.
54415         * tests/test-sprintf-posix.h (NaN): Likewise.
54416         * tests/test-trunc1.c (NaN): Likewise.
54417         * tests/test-truncf1.c (NaN): Likewise.
54418         * tests/test-vasnprintf-posix.c (NaN): Likewise.
54419         * tests/test-vasprintf-posix.c (NaN): Likewise.
54420         * modules/isnand-nolibm (Depends-on): Add math.
54421         * modules/isnanf-nolibm (Depends-on): Likewise.
54422         * modules/isnanl (Depends-on): Likewise.
54423         * modules/isnanl-nolibm (Depends-on): Likewise.
54424         * modules/snprintf-posix-tests (Depends-on): Likewise.
54425         * modules/sprintf-posix-tests (Depends-on): Likewise.
54426         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
54427         * modules/vsprintf-posix-tests (Depends-on): Likewise.
54428         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
54429         * modules/vasprintf-posix-tests (Depends-on): Likewise.
54430
54431 2008-03-31  Bruno Haible  <bruno@clisp.org>
54432
54433         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
54434         * doc/posix-functions/strtod.texi: Likewise.
54435
54436 2008-03-31  Bruno Haible  <bruno@clisp.org>
54437
54438         * tests/test-strtod.c (main): Don't use C99 syntax.
54439
54440 2008-03-31  Bruno Haible  <bruno@clisp.org>
54441
54442         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
54443         Reported by Eric Blake.
54444
54445 2008-03-31  Jim Meyering  <meyering@redhat.com>
54446
54447         Don't compare actual signbit return values.
54448         * tests/test-strtod.c (main): Rather, compare only their
54449         zero/non-zero nature.
54450
54451 2008-03-31  Eric Blake  <ebb9@byu.net>
54452
54453         More strtod documentation.
54454         * doc/posix-functions/strtod.texi (strtod): Interpret more test
54455         failures as distinct bugs.
54456
54457 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
54458
54459         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
54460         Problem reported by Erik Benada in
54461         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
54462
54463 2008-03-30  Bruno Haible  <bruno@clisp.org>
54464
54465         * tests/test-strtod.c: Add comments about which assertion fails on which
54466         platform.
54467         * doc/posix-functions/strtod.texi: Add info about many more platforms.
54468
54469 2008-03-30  Eric Blake  <ebb9@byu.net>
54470
54471         Test signbit behavior on zeros.
54472         * tests/test-signbit.c (test_signbitf): Add tests for zero.
54473         (test_signbitd, test_signbitl): Likewise.
54474
54475         More strtod touchups.
54476         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
54477         sign of negative underflow, for now.  Use .5, not .1.
54478         * doc/posix-functions/strtod.texi (strtod): Mention these
54479         limitations.
54480         Reported by Jim Meyering.
54481
54482 2008-03-30  Bruno Haible  <bruno@clisp.org>
54483
54484         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
54485         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
54486
54487 2008-03-30  Bruno Haible  <bruno@clisp.org>
54488
54489         Avoid failure when attempting to return empty iconv results on some
54490         platforms.
54491         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
54492         allocation, don't report ENOMEM when the resulting string is empty.
54493
54494 2008-03-30  Bruno Haible  <bruno@clisp.org>
54495
54496         Fix buffer overrun.
54497         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
54498         Don't consider the width for tmp_length. Check count against tmp_length
54499         before doing the padding. Ensure enough allocation during padding.
54500
54501 2008-03-30  Eric Blake  <ebb9@byu.net>
54502
54503         strtod touchups.
54504         * lib/strtod.c (strtod): Avoid compiler warnings.
54505         Reported by Jim Meyering.
54506
54507 2008-03-30  Bruno Haible  <bruno@clisp.org>
54508
54509         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
54510         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
54511         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
54512         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
54513         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
54514         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
54515         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
54516         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
54517
54518         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
54519         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
54520         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
54521         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
54522         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
54523         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
54524         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
54525         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
54526
54527         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
54528         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
54529         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
54530         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
54531         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
54532         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
54533         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
54534         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
54535
54536         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
54537         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
54538
54539         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
54540         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
54541
54542         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
54543         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
54544
54545         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
54546         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
54547         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
54548
54549         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
54550         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
54551         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
54552
54553         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
54554         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
54555         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
54556
54557         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
54558         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
54559         * modules/vasprintf (Depends-on): Add EOVERFLOW.
54560
54561         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
54562         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
54563         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
54564         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
54565         (Depends-on): Add EOVERFLOW.
54566         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
54567         (Depends-on): Add EOVERFLOW.
54568         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
54569         (Depends-on): Add EOVERFLOW.
54570         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
54571         (Depends-on): Add EOVERFLOW.
54572         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
54573         (Depends-on): Add EOVERFLOW.
54574         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
54575         (Depends-on): Add EOVERFLOW.
54576         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
54577         (Depends-on): Add EOVERFLOW.
54578         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
54579         (Depends-on): Add EOVERFLOW.
54580
54581         * lib/sprintf.c (EOVERFLOW): Remove fallback.
54582         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
54583         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
54584
54585         * lib/snprintf.c (EOVERFLOW): Remove fallback.
54586         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
54587         * modules/snprintf (Depends-on): Add EOVERFLOW.
54588
54589         * lib/poll.c (EOVERFLOW): Remove fallback.
54590         * modules/poll (Depends-on): Add EOVERFLOW.
54591
54592         * lib/getugroups.c (EOVERFLOW): Remove fallback.
54593         * modules/getugroups (Depends-on): Add EOVERFLOW.
54594
54595         * lib/getdelim.c (EOVERFLOW): Remove fallback.
54596         * modules/getdelim (Depends-on): Add EOVERFLOW.
54597
54598         * lib/ftell.c (EOVERFLOW): Remove fallback.
54599         * modules/ftell (Depends-on): Add EOVERFLOW.
54600
54601         * lib/fprintf.c (EOVERFLOW): Remove fallback.
54602         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
54603         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
54604
54605         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
54606
54607         * modules/EOVERFLOW-tests: New file.
54608         * tests/test-EOVERFLOW.c: New file.
54609
54610         * modules/EOVERFLOW: New file.
54611         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
54612
54613 2008-03-30  Bruno Haible  <bruno@clisp.org>
54614
54615         Fix bug introduced on 2007-06-10.
54616         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
54617         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
54618
54619 2008-03-30  Bruno Haible  <bruno@clisp.org>
54620
54621         Improve freadseek's efficiency after ungetc.
54622         * lib/freadseek.c: Include freadahead.h.
54623         (freadptrinc): New function, extracted from freadseek.
54624         (freadseek): Use it in a loop. Use freadahead to determine the number
54625         of loop iterations.
54626         * modules/freadseek (Depends-on): Add freadahead.
54627         (configure.ac): Require AC_C_INLINE.
54628
54629 2008-03-30  Bruno Haible  <bruno@clisp.org>
54630
54631         * lib/freadseek.c (freadseek): Don't ignore the return value of
54632         freadptr.
54633
54634 2008-03-29  Eric Blake  <ebb9@byu.net>
54635
54636         Add hex float support.
54637         * modules/strtod (Depends-on): Add c-ctype.
54638         (Link): Mention POW_LIB.
54639         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
54640         whitespace between 'e' and exponent.
54641         * tests/test-strtod.c (main): Enable hex float tests.
54642         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
54643         now provides.
54644
54645         Document various strtod bugs, with some fixes.
54646         * doc/posix-functions/strtod.texi (strtod): Document bugs with
54647         "-0x", "inf", "nan", and hex constants.
54648         * doc/posix-functions/atof.texi (atof): Likewise.
54649         * modules/stdlib (Makefile.am): Support strtod.
54650         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
54651         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
54652         detect additional strtod bugs.
54653         * lib/stdlib.in.h (rpl_strtod): Add declarations.
54654         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
54655         bool where appropriate.  Parse 'inf' and 'nan'.
54656         * tests/test-strtod.c: New file.
54657         * modules/strtod (Depends-on): Add stdbool, stdlib.
54658         (configure.ac): Turn on module indicator.
54659         * modules/strtod-tests: New module.
54660
54661 2008-03-29  Eric Blake  <ebb9@byu.net>
54662
54663         Fix ftell on mingw.
54664         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
54665         * modules/ftell-tests (Depends-on): Add binary-io.
54666         * modules/ftello-tests (Depends-on): Likewise.
54667         * tests/test-ftell.c (main): Enhance test to cover behavior after
54668         ungetc.  Enforce binary mode.
54669         * tests/test-ftello.c (main): Likewise.
54670
54671         Pass test-freadseek on cygwin.
54672         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
54673         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
54674         ungetc buffer.
54675
54676         * tests/test-fflush2.c (main): Fix typo.
54677
54678 2008-03-29  Bruno Haible  <bruno@clisp.org>
54679
54680         * tests/test-fflush2.c (main): Temporarily disable the contents of
54681         this test.
54682         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
54683         Reported by Eric Blake.
54684
54685 2008-03-28  Simon Josefsson  <simon@josefsson.org>
54686
54687         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
54688         (GC_SHA224_DIGEST_SIZE): Add.
54689
54690         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
54691         (gc_hash_digest_length): Likewise.
54692         (gc_hash_buffer): Likewise.
54693
54694 2008-03-25  Bruno Haible  <bruno@clisp.org>
54695
54696         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
54697         detail which gettext release to use.
54698         Reported by Simon Josefsson.
54699
54700 2008-03-26  Jim Meyering  <meyering@redhat.com>
54701
54702         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
54703         * modules/gnumakefile (clean-GNUmakefile): Also, use
54704         test ... && ... || : syntax rather than if-then ... fi.
54705
54706         gnumakefile: Don't double-quote-expand $(VPATH) value.
54707         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
54708
54709 2008-03-24  Eric Blake  <ebb9@byu.net>
54710
54711         Alter GNUmakefile to install into top directory.
54712         * modules/maintainer-makefile: Split, and add dependency...
54713         * modules/gnumakefile: to this new module.
54714         * build-aux/GNUmakefile: Move...
54715         * top/GNUmakefile: ...here.
54716         * build-aux/maint.mk: Move...
54717         * top/maint.mk: ...here.
54718         * MODULES.html.sh (Support for maintaining...): Document new
54719         module.
54720
54721 2008-03-23  Bruno Haible  <bruno@clisp.org>
54722
54723         * gnulib-tool: New options --vc-files, --no-vc-files.
54724         (func_usage): Document them.
54725         (vc_files): New variable.
54726         (func_import): Consider vc_files.
54727         (func_create_testdir): Set vc_files to empty.
54728         Suggested by Jim Meyering and Karl Berry.
54729
54730 2008-03-23  Bruno Haible  <bruno@clisp.org>
54731
54732         Fix regex compilation error on HP-UX 11.
54733         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
54734         * modules/regex (Files): Add m4/mbstate_t.m4.
54735         Reported by Ton Voon <ton.voon@altinity.com>.
54736
54737 2008-03-23  Bruno Haible  <bruno@clisp.org>
54738
54739         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
54740
54741 2008-03-23  Eric Blake  <ebb9@byu.net>
54742             Bruno Haible  <bruno@clisp.org>
54743
54744         Install files from top/ in the destination directory.
54745         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
54746         augmentation also for the files from top/.
54747         (func_import, func_create_testdir): Rewrite file names:
54748         top/filename -> filename.
54749
54750 2008-03-23  Bruno Haible  <bruno@clisp.org>
54751
54752         Tweak "gnulib --version" output.
54753         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
54754
54755 2008-03-23  Bruno Haible  <bruno@clisp.org>
54756
54757         Tweak "gnulib --version" output.
54758         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
54759         rather than contents of ChangeLog, when possible.
54760
54761 2008-03-21  Eric Blake  <ebb9@byu.net>
54762
54763         More --version tweaks.
54764         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
54765         date of last ChangeLog entry.
54766
54767 2008-03-21  Jim Meyering  <meyering@redhat.com>
54768
54769         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
54770
54771 2008-03-20  Eric Blake  <ebb9@byu.net>
54772
54773         VPATH fix.
54774         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
54775
54776 2008-03-20  Simon Josefsson  <simon@josefsson.org>
54777
54778         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
54779         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
54780
54781 2008-03-20  Eric Blake  <ebb9@byu.net>
54782
54783         Sync GNUmakefile with coreutils.
54784         * build-aux/GNUmakefile (have-Makefile): Rename...
54785         (_have-Makefile): ...to this, for namespace consideration.
54786         (GNUmakefile.cfg): Include, if present.
54787         (_autoreconf): Define a default.
54788         (_is-dist-target): New rule for rebuilds to pick up intra-release
54789         version.
54790         (maint-cfg.mk): Rename...
54791         (cfg.mk): ...to this.
54792
54793 2008-03-18  Jim Meyering  <meyering@redhat.com>
54794
54795         New script and module: mktempd
54796         * MODULES.html.sh (maint+release support): Add mktempd.
54797         * build-aux/mktempd: New file.
54798         * modules/mktempd: New file.
54799
54800 2008-03-15  Jim Meyering  <meyering@redhat.com>
54801
54802         Undo last change.
54803         * lib/sha1.c, lib/md5.c: 63 != ~63.
54804         Reported by Andreas Schwab.
54805
54806         sha1.c, md5.c: Hoist a redundant expression.
54807         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
54808         "ctx->buflen" only once, before calling *_process_block.
54809         * lib/md5.c (md5_process_bytes): Likewise.
54810
54811 2008-03-14  Eric Blake  <ebb9@byu.net>
54812
54813         Bump copyright year in files generated by gnulib-tool.
54814         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
54815         gnulib-tool, rather than hard-coding it.
54816
54817         Fix 'gnulib-tool --version' output to work with git.
54818         * gnulib-tool (func_gnulib_dir): New function, extracted from...
54819         (startup): ...here.
54820         (func_version): Use it to invoke git-version-gen, rather than
54821         relying on CVS keyword expansion.  Modernize wording.
54822         (cvsdatestamp, last_checkin_date, version): Kill unused
54823         variables.
54824
54825 2008-03-12  Jim Meyering  <meyering@redhat.com>
54826
54827         Recognize optional cast of the argument to free.
54828         * build-aux/useless-if-before-free: Update regexps.
54829
54830         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
54831
54832 2008-03-11  Bruno Haible  <bruno@clisp.org>
54833
54834         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
54835         by a single package.
54836         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
54837         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
54838         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
54839         Reported by Sam Steingold <sds@gnu.org>.
54840
54841 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
54842
54843         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
54844         repositories.
54845
54846 2008-03-11  Bruno Haible  <bruno@clisp.org>
54847
54848         Avoid conflicts between local macro definitions.
54849         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
54850         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
54851
54852 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
54853             Bruno Haible  <bruno@clisp.org>
54854
54855         Make va_copy work with some version of xlc on AIX 5.1.
54856         * lib/stdarg.in.h: New file.
54857         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
54858         On AIX, use a <stdarg.h> file substitute.
54859         * modules/stdarg (Files): Add lib/stdarg.in.h.
54860         (Depends-on): Add include_next.
54861         (Makefile.am): Build a stdarg.h substitute if requested.
54862         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
54863
54864 2008-03-10  Bruno Haible  <bruno@clisp.org>
54865
54866         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
54867         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54868         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
54869
54870 2008-03-10  Bruno Haible  <bruno@clisp.org>
54871
54872         * modules/stdlib (Depends-on): Add include_next, remove
54873         absolute-header.
54874
54875 2008-03-09  Bruno Haible  <bruno@clisp.org>
54876
54877         * lib/freadahead.h (freadahead): Document more precisely.
54878         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
54879         the sum of both buffer sizes.
54880         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
54881         * NEWS: Document the change.
54882
54883 2008-03-09  Bruno Haible  <bruno@clisp.org>
54884
54885         Extend freadptr to return also the buffer size.
54886         * lib/freadptr.h (freadptr): Add sizep argument.
54887         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
54888         (freadptr): Add sizep argument. Determine buffer size like freadahead
54889         does.
54890         * tests/test-freadptr.c: Don't include freadahead.h.
54891         (main): Adapt for new calling convention of freadptr.
54892         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
54893         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
54894         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
54895         tests/test-freadptr2.sh.
54896         (Depends): Remove freadahead.
54897         (TESTS): Add test-freadptr2.sh.
54898         (check_PROGRAMS): Add test-freadptr2.
54899
54900 2008-03-09  Bruno Haible  <bruno@clisp.org>
54901
54902         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
54903         Report and solution by Simon Josefsson.
54904
54905 2008-03-06  Bruno Haible  <bruno@clisp.org>
54906
54907         Make fflush after ungetc work on BSD platforms.
54908         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
54909         * tests/test-fflush2.c: New file.
54910         * tests/test-fflush2.sh: New file.
54911         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
54912         tests/test-fflush2.c.
54913         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
54914         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
54915
54916 2008-03-06  Eric Blake  <ebb9@byu.net>
54917
54918         Likewise for ftello.
54919         * modules/ftello (Dependencies): Add extensions.
54920         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
54921
54922 2008-03-06  Bruno Haible  <bruno@clisp.org>
54923
54924         * modules/fseeko (Dependencies): Add extensions.
54925         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
54926         Needed on glibc systems.
54927
54928 2008-03-06  Bruno Haible  <bruno@clisp.org>
54929
54930         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
54931         email address.
54932         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
54933
54934 2008-03-06  Bruno Haible  <bruno@clisp.org>
54935
54936         * users.txt: Add libgnupdf.
54937
54938 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
54939
54940         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
54941         (Header File Substitutes, Function Substitutes,
54942         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
54943         (Build robot for gnulib): Fix typo.
54944
54945 2008-03-06  Bruno Haible  <bruno@clisp.org>
54946
54947         * doc/gnulib-tool.texi (VCS Issues): Small updates.
54948         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
54949
54950 2008-03-06  Bruno Haible  <bruno@clisp.org>
54951
54952         * doc/func.texi: New file, extracted from doc/gnulib.texi.
54953         * doc/gnulib.texi: Include it.
54954
54955 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54956
54957         * modules/func (License): Change license to unlimited; there was
54958         no LGPL parts in the module anyway.
54959
54960 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54961
54962         * modules/__func__: Renamed to modules/func.
54963         * modules/__func__-tests: Renamed to modules/func-tests.
54964         * tests/test-__func__.c: Renamed to tests/test-func.c.
54965         * m4/__func__.m4: Renamed to m4/func.m4.
54966         * doc/gnulib.texi (__func__): Section renamed to func.
54967         Suggested by Eric Blake <ebb9@byu.net>.
54968
54969 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54970
54971         * doc/gnulib.texi (__func__): Use C99 terminology when talking
54972         about __func__.  Make example self-contained.  Suggested by Eric
54973         Blake <ebb9@byu.net>.
54974
54975         * tests/test-__func__.c (main): Avoid extraneous () around __func.
54976         Suggested by Eric Blake <ebb9@byu.net>.
54977
54978 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54979
54980         * modules/__func__: New file.
54981         * modules/__func__-tests: New file.
54982         * tests/test-__func__.c: New file.
54983         * m4/__func__.m4: New file.
54984         * doc/gnulib.texi (__func__): Document __func__ module.
54985
54986 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54987
54988         * modules/byteswap (License): Re-license as LGPLv2+.
54989
54990 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54991
54992         * doc/Makefile: Add pdf target.
54993
54994 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54995
54996         * modules/inline (License): Use 'unlimited', since there are only
54997         *.m4 files in this module.
54998
54999 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55000             Bruno Haible  <bruno@clisp.org>
55001
55002         Add support for HP C 7.1 on OpenVMS 8.3.
55003         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
55004
55005 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55006
55007         Update VMS specifics.
55008         * lib/getopt.c [VMS]: Remove include of unixlib.h.
55009
55010 2008-03-02  Jim Meyering  <meyering@redhat.com>
55011
55012         Remove the last dependency on the "free" module.
55013         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
55014         Reported by Bob Proulx.
55015
55016         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
55017
55018         Remove useless "if" tests before free.  Deprecate "free" module.
55019         * doc/posix-functions/free.texi: Mention that this
55020         module is no longer useful.
55021         * modules/free (Notice): Say this module is obsolete.
55022         * modules/readutmp (Depends-on): Remove free.
55023         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
55024         * lib/putenv.c (putenv): Likewise.
55025         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
55026         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
55027         * tests/test-c-strcasestr.c (main): Likewise.
55028         * tests/test-c-strstr.c (main): Likewise.
55029         * tests/test-mbscasestr1.c (main): Likewise.
55030         * tests/test-mbscasestr2.c (main): Likewise.
55031         * tests/test-mbsstr1.c (main): Likewise.
55032         * tests/test-mbsstr2.c (main): Likewise.
55033         * tests/test-memmem.c (main): Likewise.
55034         * tests/test-strcasestr.c (main): Likewise.
55035         * tests/test-striconv.c (main): Likewise.
55036         * tests/test-striconveh.c (main): Likewise.
55037         * tests/test-striconveha.c (main): Likewise.
55038         * tests/test-strstr.c (main): Likewise.
55039
55040         * build-aux/git-version-gen: Adjust a comment and the Usage string.
55041
55042         bootstrap: sync from coreutils again
55043         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
55044
55045 2008-03-01  Jim Meyering  <meyering@redhat.com>
55046
55047         bootstrap: sync from coreutils
55048         * build-aux/bootstrap (update_po_files): Copy a .po file into place
55049         also when the target doesn't exist.
55050
55051 2008-03-01  Eric Blake  <ebb9@byu.net>
55052
55053         Fix bugs in last patch.
55054         * lib/memchr2.c (memchr2): Fix typo.
55055         * tests/test-memchr2.c: Test previous bug, and don't use GNU
55056         extension.
55057         Reported by Bruce Korb.
55058
55059         New module 'memchr2'.
55060         * modules/memchr2: New file.
55061         * modules/memchr2-tests: Likewise.
55062         * lib/memchr2.h: Likewise.
55063         * lib/memchr2.c: Likewise, based on memchr.c.
55064         * tests/test-memchr2.c: New test.
55065         * MODULES.html.sh (String handling): Add memchr2.
55066
55067 2008-02-29  Bruno Haible  <bruno@clisp.org>
55068
55069         * modules/freadseek-tests: New file.
55070         * tests/test-freadseek.sh: New file.
55071         * tests/test-freadseek.c: New file.
55072
55073         New module 'freadseek'.
55074         * modules/freadseek: New file.
55075         * lib/freadseek.h: New file.
55076         * lib/freadseek.c: New file.
55077         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
55078
55079 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
55080
55081         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
55082         wydawca.
55083
55084         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
55085         program_invocation_name and program_invocation_short_name are
55086         present.
55087
55088 2008-02-28  Bruno Haible  <bruno@clisp.org>
55089
55090         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
55091         * tests/test-freadptr.sh: Also test non-seekable stdin.
55092
55093 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
55094
55095         * build-aux/bootstrap (source_base, m4_base)
55096         (doc_base, tests_base): New variables.
55097         (gnulib_tool_options): Do not hardcode base directories, use
55098         the above variables instead.
55099
55100 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
55101
55102         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
55103
55104 2008-02-28  Bruno Haible  <bruno@clisp.org>
55105
55106         * modules/freadptr-tests: New file.
55107         * tests/test-freadptr.sh: New file.
55108         * tests/test-freadptr.c: New file.
55109
55110         New module 'freadptr'.
55111         * modules/freadptr: New file.
55112         * lib/freadptr.h: New file.
55113         * lib/freadptr.c: New file.
55114         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
55115
55116 2008-02-26  Karl Berry  <karl@freefriends.org>
55117
55118         Sync from Libtool:
55119         * libltdl/argz.c (argz_add, argz_count): New functions.
55120         * libltdl/argz.in.h: Declare them.
55121         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
55122
55123 2008-02-22  Bruno Haible  <bruno@clisp.org>
55124
55125         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
55126         is a pointer type.  Needed for HP-UX 10.
55127         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
55128         * doc/posix-functions/gmtime_r.texi: Likewise.
55129         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55130
55131 2008-02-24  Bruno Haible  <bruno@clisp.org>
55132
55133         * modules/environ-tests: New file.
55134         * tests/test-environ.c: New file.
55135
55136         New module 'environ'.
55137         * modules/environ: New file.
55138         * lib/unistd.in.h (environ): New declaration.
55139         * m4/environ.m4: New file.
55140         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
55141         after use.
55142         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
55143         HAVE_DECL_ENVIRON.
55144         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
55145         HAVE_DECL_ENVIRON.
55146         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
55147         wrong claim that 'environ' is missing on some systems.
55148         * modules/execute (Depends-on): Add environ.
55149         * lib/execute.c (environ): Remove fallback declaration.
55150         * modules/pipe (Depends-on): Add environ.
55151         * lib/pipe.c (environ): Remove fallback declaration.
55152         * modules/setenv (Depends-on): Add environ.
55153         * lib/setenv.c (environ): Remove fallback declaration.
55154         * modules/unsetenv (Depends-on): Add environ.
55155         * lib/unsetenv.c (environ): Remove fallback declaration.
55156         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
55157         m4/environ.m4.
55158         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
55159         (gl_PREREQ_UNSETENV): Likewise.
55160
55161 2008-02-24  Bruno Haible  <bruno@clisp.org>
55162
55163         * doc/posix-functions/environ.texi: Document the MacOS X problem.
55164
55165 2008-02-20  Bob Proulx  <bob@proulx.com>
55166
55167         Enable use of older two part flavor 'git describe'.
55168         * build-aux/git-version-gen: If using the older two part flavor of
55169         git version then recreate the third part now present in the
55170         newer three part flavor of git describe.
55171
55172 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
55173
55174         * lib/fts.c (fts_build): Typo correction to comment.
55175
55176 2008-02-17  Bruno Haible  <bruno@clisp.org>
55177
55178         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
55179         generating no-op conflicts.
55180
55181 2008-02-17  Bruno Haible  <bruno@clisp.org>
55182
55183         Speed up by 10%.
55184         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
55185         result_entries, rather than an index-based loop.
55186
55187 2008-02-17  Bruno Haible  <bruno@clisp.org>
55188
55189         Speed up by 25%.
55190         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
55191         'hashcode_cached'.
55192         (entry_create): New function.
55193         (entry_hashcode): Use the cached hashcode if possible.
55194         (read_changelog_file, try_split_merged_entry): Use entry_create.
55195
55196 2008-02-17  Bruno Haible  <bruno@clisp.org>
55197
55198         Speed up from O(n^2) to O(n) for long ChangeLog files.
55199         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
55200         (read_changelog_file): Change implementation of entries_reversed list
55201         to rbtreehash.
55202         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
55203
55204 2008-02-17  Bruno Haible  <bruno@clisp.org>
55205
55206         New option --split-merged-entry.
55207         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
55208         (find_paragraph_end, try_split_merged_entry): New functions.
55209         (long_options): Add option --split-merged-entry.
55210         (usage): Document option --split-merged-entry.
55211         (main): Implement option --split-merged-entry.
55212         Reported by Eric Blake.
55213
55214 2008-02-17  Bruno Haible  <bruno@clisp.org>
55215
55216         * lib/git-merge-changelog.c: Include c-strstr.h.
55217         (main): Support the "git pull --rebase" situation.
55218         * modules/git-merge-changelog (Depends-on): Add c-strstr.
55219         Reported by Eric Blake.
55220
55221 2008-02-16  Eric Blake  <ebb9@byu.net>
55222
55223         Avoid doubling \ in common case of "c-maybe" quoting style.
55224         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
55225         eliding outer quotes.
55226         * lib/quotearg.h: Document this.
55227         * tests/test-quotearg.c (result_strings, inputs, results_g)
55228         (flag_results, locale_results): Test it by adding a new string to
55229         each test group.
55230         (compare_strings): Test new string.
55231
55232 2008-02-13  Eric Blake  <ebb9@byu.net>
55233
55234         Avoid trigraph quoting in default output.
55235         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
55236         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
55237         unless explicitly requested.
55238         * tests/test-quotearg.c (flag_results, main): Add additional tests.
55239
55240 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
55241
55242         Don't rely on signed integer overflowing to negative value.
55243         * lib/getugroups.c (getugroups): Include <limits.h>.
55244         Instead, compare against INT_MAX, and increment only if the test passes.
55245
55246 2008-02-13  Jim Meyering  <meyering@redhat.com>
55247         and Eric Blake  <ebb9@byu.net>
55248
55249         Avoid shadowing warning and compile errors on Linux.
55250         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
55251         forwarding macros on Linux.
55252         (dcgettext): Define a stub, for Linux.
55253         (results_g, main): Avoid warnings.
55254
55255 2008-02-12  Eric Blake  <ebb9@byu.net>
55256
55257         Silence warning in last patch.
55258         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
55259
55260         Quotearg part 4: add tests, fix c-maybe colon quoting.
55261         * lib/quotearg.h: Improve documentation.
55262         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
55263         escapes when adding outer quotes.  When quoting trigraphs, use
55264         valid C notation.  When quoting NUL, omit extra characters if next
55265         character is not digit.  Alter prototype.
55266         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
55267         callers.
55268         * modules/quotearg-tests: New module.
55269         * tests/test-quotearg.c: New test.
55270
55271 2008-02-07  Eric Blake  <ebb9@byu.net>
55272
55273         Quotearg part 3: add flag to control outer quote elision.
55274         * lib/quotearg.h (c_maybe_quoting_style): New style.
55275         (enum quoting_flags): Better documentation of flags.
55276         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
55277         c-maybe style.
55278         (quotearg_buffer_restyled): Handle new flag to elide outer
55279         quotes.
55280
55281         Quotearg part 2: add flag that can control NUL elision.
55282         * lib/quotearg.h (set_quoting_flags): New prototype.
55283         * lib/quotearg.c (struct quoting_options): Add flag field.
55284         (set_quoting_flags): New function.
55285         (quotearg_buffer_restyled): Add flags parameter.
55286         (quotearg_alloc_mem): Set the flag if length cannot be returned.
55287         (quotearg_n_options): Set the flag, since length cannot be
55288         returned.
55289         (quoting_options_from_style): Default flags correctly.
55290
55291         Quotearg part 1: more wrappers, restore quotearg_char state.
55292         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
55293         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
55294         (quotearg_colon_mem): New wrappers.
55295         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
55296         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
55297         functions.
55298         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
55299         (quotearg_colon_mem): New functions.
55300
55301 2008-02-11  Bruno Haible  <bruno@clisp.org>
55302
55303         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
55304         library in the current directory: it does not work with parallel make.
55305         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55306
55307 2008-02-11  Bruno Haible  <bruno@clisp.org>
55308
55309         * .gitattributes: New file.
55310
55311 2008-02-11  Jim Meyering  <meyering@redhat.com>
55312
55313         useless-if-before-free: Fix reversed exit values.
55314         * build-aux/useless-if-before-free: Use correct values
55315         for EXIT_MATCH and EXIT_NO_MATCH.
55316
55317         * build-aux/useless-if-before-free: Close stdout carefully.
55318
55319 2008-02-10  Bruno Haible  <bruno@clisp.org>
55320
55321         New module 'git-merge-changelog'.
55322         * modules/git-merge-changelog: New file.
55323         * lib/git-merge-changelog.c: New file.
55324
55325 2008-02-10  Jim Meyering  <meyering@redhat.com>
55326
55327         useless-if-before-free: New option: --list (-l).
55328
55329         useless-if-before-free: Don't exit immediately upon open failure.
55330         * build-aux/useless-if-before-free: Exit 2 for errors.
55331         Upon failure to open a file, don't exit immediately.
55332         Rather, just warn and continue with any remaining files.
55333
55334 2008-02-10  Bruno Haible  <bruno@clisp.org>
55335
55336         New abstract list operation 'node_set_value'.
55337         * lib/gl_list.h (gl_list_node_set_value): New function.
55338         (struct gl_list_implementation): New field node_set_value.
55339         * lib/gl_list.c (gl_list_node_set_value): New function.
55340         * lib/gl_array_list.c (gl_array_node_set_value): New function.
55341         (gl_array_list_implementation): Update.
55342         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
55343         (gl_carray_list_implementation): Update.
55344         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
55345         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
55346         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
55347         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
55348         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
55349         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
55350         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
55351         Update.
55352         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
55353         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
55354         (gl_sublist_list_implementation): Update.
55355
55356 2008-02-10  Bruno Haible  <bruno@clisp.org>
55357
55358         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
55359         Needed when ELEMENT is #defined to 'some_type *'.
55360
55361 2008-02-10  Jim Meyering  <meyering@redhat.com>
55362
55363         New script and module: useless-if-before-free
55364         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
55365         * build-aux/useless-if-before-free: New file.
55366         * modules/useless-if-before-free: New file.
55367
55368         * build-aux/gitlog-to-changelog: Use committer date, not author date.
55369
55370         xstrtol_error: Fix typo.
55371         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
55372         s/exit_failure/exit_status/.
55373
55374 2008-02-09  Jim Meyering  <meyering@redhat.com>
55375
55376         New script and module: gitlog-to-changelog
55377         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
55378         * modules/gitlog-to-changelog: New file.
55379         * build-aux/gitlog-to-changelog: New file.
55380
55381 2008-02-08  Jim Meyering  <meyering@redhat.com>
55382
55383         Avoid two "parameter unused" warnings.
55384         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
55385         Mark "st" as used.
55386
55387         Use "git COMMAND", not "git-COMMAND".
55388         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
55389         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
55390         * build-aux/git-version-gen: Use "git status", not "git-status".
55391
55392 2008-02-07  Bruno Haible  <bruno@clisp.org>
55393
55394         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
55395         Avoids a crash on Windows Vista.
55396         Reported by Adam Strzelecki <ono@java.pl> via
55397         Simon Josefsson <simon@josefsson.org>.
55398
55399 2008-02-06  Bruno Haible  <bruno@clisp.org>
55400
55401         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
55402         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
55403         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
55404         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
55405         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
55406         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55407         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
55408         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
55409         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
55410         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55411         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55412         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55413         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55414         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55415         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55416         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
55417         left-adjust flag.
55418         * tests/test-snprintf-posix.h (test_function): Likewise.
55419         * tests/test-sprintf-posix.h (test_function): Likewise.
55420         * tests/test-vasprintf-posix.c (test_function): Likewise.
55421         * doc/posix-functions/fprintf.texi: Update.
55422         * doc/posix-functions/printf.texi: Update.
55423         * doc/posix-functions/snprintf.texi: Update.
55424         * doc/posix-functions/sprintf.texi: Update.
55425         * doc/posix-functions/vfprintf.texi: Update.
55426         * doc/posix-functions/vprintf.texi: Update.
55427         * doc/posix-functions/vsnprintf.texi: Update.
55428         * doc/posix-functions/vsprintf.texi: Update.
55429         Reported by Peter Fales <psfales@alcatel-lucent.com>.
55430
55431 2008-02-06  Bruno Haible  <bruno@clisp.org>
55432
55433         Fix bug introduced on 2008-01-26.
55434         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
55435
55436 2008-02-06  Bruno Haible  <bruno@clisp.org>
55437
55438         Fix bug introduced on 2007-06-10.
55439         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
55440         !NEED_PRINTF_FLAG_ZERO.
55441
55442 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
55443
55444         getloadavg: use libperfstat on AIX5
55445         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
55446
55447 2008-02-03  Bruno Haible  <bruno@clisp.org>
55448
55449         * lib/diffseq.h: Add comments about required #includes.
55450         Reported by Michael Biggs <gnulib@doubleplum.net>.
55451
55452 2008-02-01  Bruno Haible  <bruno@clisp.org>
55453
55454         * users.txt: Add gnuit.
55455
55456 2008-01-31  Bruno Haible  <bruno@clisp.org>
55457
55458         * lib/md4.c (set_uint32): Mark as inline.
55459         * lib/md5.c (set_uint32): Likewise.
55460         * lib/sha1.c (set_uint32): Likewise.
55461         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
55462         * m4/md5.m4 (gl_MD5): Likewise.
55463         * m4/sha1.m4 (gl_SHA1): Likewise.
55464
55465 2008-01-31  Jim Meyering  <meyering@redhat.com>
55466
55467         Use "sizeof VAR", rather than a literal "4".
55468         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
55469         * lib/md4.c (md4_read_ctx): Likewise.
55470         * lib/sha1.c (sha1_read_ctx): Likewise.
55471
55472 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55473
55474         * tests/test-sha1.c: New file, based on test-md5.c.
55475
55476         * modules/crypto/sha1-tests: New file.
55477
55478 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55479
55480         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
55481
55482 2008-01-31  Jim Meyering  <meyering@redhat.com>
55483
55484         Prefer "sizeof v" over the equivalent "4".
55485         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
55486         * lib/md5.c (set_uint32): Likewise.
55487         * lib/sha1.c (set_uint32): Likewise.
55488
55489 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55490
55491         * lib/sha1.c (set_uint32): Mark function as static.
55492
55493 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55494
55495         md2: clarify comments to say that alignment is not required.
55496         * lib/md2.h: Remove warning about alignment in comment.
55497         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
55498         never been required.
55499
55500 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55501
55502         md4: adapt alignment constraint fix from sha1.
55503         * lib/md4.c (set_uint32): New function, from sha1.c
55504         (md4_read_ctx): Use it.
55505         (md4_finish_ctx): Doc fix.
55506         * lib/md4.h: Doc fix.
55507
55508 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55509
55510         md5: adapt alignment constraint fix from sha1.
55511         * lib/md5.c (set_uint32): New function, from sha1.c
55512         (md5_read_ctx): Use it.
55513         (md5_finish_ctx): Doc fix.
55514         * lib/md5.h: Doc fix.
55515
55516 2008-01-30  Peter Palfrader  <weasel@debian.org>
55517
55518         sha1: remove the result buffer alignment constraint
55519         * lib/sha1.c (set_uint32): New function.
55520         (sha1_read_ctx): Rewrite to remove the result buffer alignment
55521         constraint.
55522         (sha1_finish_ctx): Remove comment warning about alignment constraint.
55523         * lib/sha1.h: Likewise.
55524
55525 2008-01-30  Andreas Schwab  <schwab@suse.de>
55526             Bruno Haible  <bruno@clisp.org>
55527
55528         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
55529         correct definition of LDBL_MIN_EXP.
55530
55531 2008-01-30  Karl Berry  <karl@gnu.org>
55532
55533         * config/srclist-update: try to preserve x bit on updates.
55534         * config/srclistvars.sh: update for karl.
55535
55536 2008-01-29  Jim Meyering  <meyering@redhat.com>
55537
55538         vasnprintf.c: Avoid warning about unused label
55539         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
55540         "overflow" label definition and associated code with the
55541         same cpp condition that guards the sole use of that label.
55542
55543 2008-01-26  Bruno Haible  <bruno@clisp.org>
55544
55545         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
55546         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
55547         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
55548         * lib/isnanl-nolibm.h (isnanl): Likewise.
55549         Reported by Paul Eggert <eggert@cs.ucla.edu>.
55550
55551 2008-01-26  Bruno Haible  <bruno@clisp.org>
55552
55553         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
55554         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
55555
55556 2008-01-26  Bruno Haible  <bruno@clisp.org>
55557
55558         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
55559         GCC >= 4.0 built-in.
55560         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
55561
55562 2008-01-26  Bruno Haible  <bruno@clisp.org>
55563
55564         Rename isnan, applicable to 'double' only, to isnand.
55565         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
55566         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
55567         (configure.ac): Update.
55568         (Include): Replace "isnan.h" with "isnand.h".
55569         * m4/isnand.m4: Renamed from m4/isnan.m4.
55570         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
55571         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
55572         instead of isnan.c.
55573         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
55574         instead of HAVE_ISNAN_IN_LIBC.
55575         (isnand): Renamed from isnan.
55576         * lib/isnand.c: New file.
55577         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
55578         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
55579         (Makefile.am): Update.
55580         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
55581         Include isnand.h instead of isnan.h.
55582         (main): Test isnand instead of isnan.
55583         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
55584         isnan-nolibm.
55585         * modules/frexp (Depends-on): Likewise.
55586         * modules/frexp-tests (Depends-on): Likewise.
55587         * modules/frexp-nolibm (Depends-on): Likewise.
55588         * modules/frexp-nolibm-tests (Depends-on): Likewise.
55589         * modules/isfinite (Depends-on): Likewise.
55590         * modules/round-tests (Depends-on): Likewise.
55591         * modules/signbit (Depends-on): Likewise.
55592         * modules/signbit-tests (Depends-on): Likewise.
55593         * modules/snprintf-posix (Depends-on): Likewise.
55594         * modules/sprintf-posix (Depends-on): Likewise.
55595         * modules/trunc-tests (Depends-on): Likewise.
55596         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
55597         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
55598         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
55599         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
55600         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
55601         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
55602         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
55603         * modules/vasnprintf-posix (Depends-on): Likewise.
55604         * modules/vasprintf-posix (Depends-on): Likewise.
55605         * modules/vfprintf-posix (Depends-on): Likewise.
55606         * modules/vsnprintf-posix (Depends-on): Likewise.
55607         * modules/vsprintf-posix (Depends-on): Likewise.
55608         * lib/frexp.c: Include isnand.h instead of isnan.h.
55609         (ISNAN): Set to isnand instead of isnan.
55610         * lib/isfinite.c: Include isnand.h instead of isnan.h.
55611         (gl_isfinited): Use isnand instead of isnan.
55612         * lib/signbitd.c: Include isnand.h instead of isnan.h.
55613         (gl_signbitd): Use isnand instead of isnan.
55614         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
55615         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
55616         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
55617         (main): Use isnand instead of isnan.
55618         * tests/test-round1.c: Include isnand.h.
55619         (main): Use isnand instead of isnan.
55620         * tests/test-round2.c: Include isnand.h instead of isnan.h.
55621         (ISNAN): Set to isnand instead of isnan.
55622         * tests/test-trunc1.c: Include isnand.h.
55623         (main): Use isnand instead of isnan.
55624         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
55625         (equal): Use isnand instead of isnan.
55626         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
55627         isnand-nolibm.
55628         * NEWS: Mention the change.
55629
55630 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
55631             Bruno Haible  <bruno@clisp.org>
55632
55633         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
55634         the GCC builtins for signbits are present and set
55635         REPLACE_SIGNBIT_USING_GCC if so.
55636         * lib/math.in.h (signbit): Define using GCC builtins if
55637         REPLACE_SIGNBIT_USING_GCC is set.
55638         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
55639         REPLACE_SIGNBIT_USING_GCC.
55640         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
55641
55642 2008-01-25  Jim Meyering  <meyering@redhat.com>
55643
55644         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
55645         * lib/poll.c: Include <config.h>, not "config.h".
55646         * tests/test-getaddrinfo.c: Likewise.
55647
55648 2008-01-25  Simon Josefsson  <simon@josefsson.org>
55649
55650         * modules/sockets-tests: New file.
55651
55652 2008-01-24  Simon Josefsson  <simon@josefsson.org>
55653
55654         * modules/sockets: New module, can be used to call WSA_Startup and
55655         WSA_Cleanup when needed.
55656
55657         * lib/sockets.h, lib/sockets.c: New files.
55658
55659         * m4/sockets.m4: New file.
55660
55661         * tests/test-sockets.c: New file.
55662
55663 2008-01-19  Bruno Haible  <bruno@clisp.org>
55664
55665         * doc/posix-headers: Renamed from doc/headers.
55666         * doc/posix-functions: Renamed from doc/functions.
55667         * doc/gnulib.texi: Update.
55668
55669 2008-01-19  Bruno Haible  <bruno@clisp.org>
55670
55671         * doc/glibc-functions/strcasestr.texi: Include contents of
55672         doc/functions/strcasestr.texi, fixing the list of platforms.
55673         * doc/functions/strcasestr.texi: Remove file.
55674
55675 2008-01-19  Bruno Haible  <bruno@clisp.org>
55676
55677         * doc/glibc-functions/memmem.texi: Include contents of
55678         doc/functions/memmem.texi.
55679         * doc/functions/memmem.texi: Remove file.
55680
55681 2008-01-18  Bruno Haible  <bruno@clisp.org>
55682
55683         * doc/glibc-functions/*.texi: New files.
55684         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
55685         to use the new files.
55686
55687 2008-01-17  Bruno Haible  <bruno@clisp.org>
55688
55689         * tests/test-gethostname.c (main): Fix printf statement.
55690
55691 2008-01-17  Simon Josefsson  <simon@josefsson.org>
55692
55693         * modules/gethostname-tests: New file.
55694
55695         * tests/test-gethostname.c: New file.
55696
55697 2008-01-17  Simon Josefsson  <simon@josefsson.org>
55698
55699         * lib/gethostname.c: Include string.h unconditionally, strncpy is
55700         used by the UNAME case.  Reported by Bruno Haible
55701         <bruno@clisp.org>.
55702
55703 2008-01-17  Eric Blake  <ebb9@byu.net>
55704
55705         Convert c-strcasestr to be more efficient.
55706         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
55707         (Depends-on): Add c-strcase, remove malloca, strnlen.
55708         * tests/test-c-strcasestr.c (main): Enhance test.
55709         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
55710
55711 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
55712
55713         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
55714         Use it in creating po/Makevars.
55715
55716 2008-01-15  Simon Josefsson  <simon@josefsson.org>
55717
55718         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
55719         Applications that requires it should initialize libgcrypt
55720         manually.
55721
55722 2008-01-16  Simon Josefsson  <simon@josefsson.org>
55723
55724         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
55725
55726 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
55727
55728         Fix problem with getdate on mingw32 reported by Simon Josefsson
55729         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
55730         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
55731         tzname", when deciding whether to declare tzname.
55732         * lib/strftime.c (tzname): Likewise.
55733
55734 2008-01-15  Bruno Haible  <bruno@clisp.org>
55735
55736         Work around a MacOS X 10.5 bug in frexpl().
55737         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
55738         * doc/functions/frexpl.texi: Document the bug.
55739         Reported by Elias Pipping <pipping@gentoo.org>.
55740
55741 2008-01-14  Eric Blake  <ebb9@byu.net>
55742
55743         Touch up previous patch.
55744         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
55745         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
55746
55747         Convert strcasestr module to use Two-Way algorithm.
55748         * modules/strcasestr-simple: New module, based on the old
55749         strcasestr, but with Two-Way rather than KMP.
55750         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
55751         * lib/string.in.h (rpl_strcasestr): Declare.
55752         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
55753         performance.
55754         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
55755         * modules/string (Makefile.am): Support strcasestr.
55756         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
55757         * modules/strcasestr-tests (Depends-on): Check for alarm.
55758         * tests/test-strcasestr.c: Augment test.
55759         * lib/str-two-way.h: Clean up stray macro.
55760         * NEWS: Document new module.
55761         * MODULES.html.sh (string handling): Likewise.
55762         * doc/functions/strcasestr.texi: New file.
55763         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
55764         here, since it is not a POSIX function.
55765
55766 2008-01-14  Colin Watson  <cjwatson@debian.org>
55767             Bruno Haible  <bruno@clisp.org>
55768
55769         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
55770         works fine; if not, set REPLACE_STRSIGNAL.
55771         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
55772         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55773         REPLACE_STRSIGNAL.
55774         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
55775         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
55776         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
55777
55778 2008-01-14  Bruno Haible  <bruno@clisp.org>
55779
55780         * modules/strsignal (Include): Change to <string.h>.
55781
55782 2008-01-14  Colin Watson  <cjwatson@debian.org>
55783
55784         * modules/argp (Notice): Add a notice recommending to change
55785         XGETTEXT_OPTIONS.
55786         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
55787
55788 2008-01-13  Colin Watson  <cjwatson@debian.org>
55789
55790         * modules/strsignal-tests: New file.
55791         * tests/test-strsignal.c: New file.
55792
55793         * lib/strsignal.c: New file, from glibc with modifications.
55794         * lib/siglist.h: New file, from glibc with modifications.
55795         * lib/string.in.h (strsignal): New declaration.
55796         * m4/strsignal.m4: New file.
55797         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55798         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
55799         * modules/strsignal: New file.
55800         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
55801         HAVE_DECL_STRSIGNAL.
55802
55803 2008-01-13  Bruno Haible  <bruno@clisp.org>
55804
55805         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
55806         locale encoding is not ASCII. Needed for OpenBSD 4.0.
55807         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
55808         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
55809
55810 2008-01-13  Bruno Haible  <bruno@clisp.org>
55811
55812         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
55813         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
55814         * lib/argp.h (__attribute__): Likewise.
55815         * lib/c-stack.c (__attribute__): Likewise.
55816         * lib/error.h (__attribute__): Likewise.
55817         * lib/fts.c (__attribute__): Likewise.
55818         * lib/openat.h (__attribute__): Likewise.
55819         * lib/stdio.in.h (__attribute__): Likewise.
55820         * lib/string.in.h (__attribute__): Likewise.
55821         * lib/utimens.c (__attribute__): Likewise.
55822         * lib/vasnprintf.h (__attribute__): Likewise.
55823         * lib/xalloc.h (__attribute__): Likewise.
55824         * lib/xprintf.h (__attribute__): Likewise.
55825         * lib/xstrtol.h (__attribute__): Likewise.
55826         * lib/xvasprintf.h (__attribute__): Likewise.
55827
55828 2008-01-12  Bruno Haible  <bruno@clisp.org>
55829
55830         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
55831         * doc/glibc-headers/a.out.texi: New file.
55832         * doc/glibc-headers/aliases.texi: New file.
55833         * doc/glibc-headers/alloca.texi: New file.
55834         * doc/glibc-headers/ar.texi: New file.
55835         * doc/glibc-headers/argp.texi: New file.
55836         * doc/glibc-headers/argz.texi: New file.
55837         * doc/glibc-headers/byteswap.texi: New file.
55838         * doc/glibc-headers/crypt.texi: New file.
55839         * doc/glibc-headers/endian.texi: New file.
55840         * doc/glibc-headers/envz.texi: New file.
55841         * doc/glibc-headers/err.texi: New file.
55842         * doc/glibc-headers/error.texi: New file.
55843         * doc/glibc-headers/execinfo.texi: New file.
55844         * doc/glibc-headers/fpu_control.texi: New file.
55845         * doc/glibc-headers/fstab.texi: New file.
55846         * doc/glibc-headers/fts.texi: New file.
55847         * doc/glibc-headers/getopt.texi: New file.
55848         * doc/glibc-headers/ieee754.texi: New file.
55849         * doc/glibc-headers/ifaddrs.texi: New file.
55850         * doc/glibc-headers/libintl.texi: New file.
55851         * doc/glibc-headers/mcheck.texi: New file.
55852         * doc/glibc-headers/mntent.texi: New file.
55853         * doc/glibc-headers/obstack.texi: New file.
55854         * doc/glibc-headers/paths.texi: New file.
55855         * doc/glibc-headers/printf.texi: New file.
55856         * doc/glibc-headers/pty.texi: New file.
55857         * doc/glibc-headers/resolv.texi: New file.
55858         * doc/glibc-headers/shadow.texi: New file.
55859         * doc/glibc-headers/sysexits.texi: New file.
55860         * doc/glibc-headers/ttyent.texi: New file.
55861
55862 2008-01-12  Jim Meyering  <meyering@redhat.com>
55863
55864         announce-gen: emit Gnulib's git-based version string.
55865         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
55866         New option --gnulib-version=V, where V is expected to be
55867         the output of running git describe in the gnulib directory.
55868         (get_tool_versions): Request feedback on xdelta.  I suspect it's
55869         not useful, and plan to stop publishing an xdelta file with each
55870         coreutils release.
55871
55872         * build-aux/announce-gen: Also check for lzma-compressed files.
55873
55874 2008-01-11  Bruno Haible  <bruno@clisp.org>
55875
55876         * tests/test-memmem.c (main): Increase maximum allowed time.
55877         * tests/test-strstr.c (main): Likewise.
55878
55879 2008-01-11  Bruno Haible  <bruno@clisp.org>
55880
55881         * doc/functions/memmem.texi: Add more precisions about platforms.
55882         * doc/functions/strstr.texi: Likewise.
55883
55884 2008-01-10  Eric Blake  <ebb9@byu.net>
55885
55886         * m4/strstr.m4: Delete cruft from copy-n-paste.
55887         Reported by Bruno Haible.
55888
55889 2008-01-10  Bruno Haible  <bruno@clisp.org>
55890
55891         Make c-strstr rely on strstr.
55892         * lib/c-strstr.c: Don't include str-kmp.h.
55893         (c_strstr): Define in terms of strstr.
55894         * modules/c-strstr (Files): Remove lib/str-kmp.h.
55895         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
55896
55897 2008-01-10  Bruno Haible  <bruno@clisp.org>
55898
55899         * doc/gnulib.texi (String Functions in C Locale): New section.
55900         * doc/c-ctype.texi: New file.
55901         * doc/c-strcase.texi: New file.
55902         * doc/c-strcaseeq.texi: New file.
55903         * doc/c-strcasestr.texi: New file.
55904         * doc/c-strstr.texi: New file.
55905         * doc/c-strtod.texi: New file.
55906         * doc/c-strtold.texi: New file.
55907
55908 2008-01-10  Eric Blake  <ebb9@byu.net>
55909
55910         * lib/relocatable.h: Fix a comment.
55911
55912 2008-01-10  Eric Blake  <ebb9@byu.net>
55913
55914         Share two-way algorithm.
55915         * lib/str-two-way.h: New file, merged from...
55916         * lib/memmem.c: ...here...
55917         * lib/strstr.c: ...and here.
55918         * modules/memmem (Files): Use it.
55919         * modules/strstr (Files): Likewise.
55920
55921         Avoid quadratic strstr implementations.
55922         * lib/strstr.c: New file.
55923         * m4/strstr.m4: Likewise.
55924         * modules/strstr: Likewise.
55925         * modules/strstr-tests: Likewise.
55926         * tests/test-strstr.c: Likewise.
55927         * lib/string.in.h (rpl_strstr): Declare.
55928         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
55929         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
55930         * modules/string (Makefile.am): Likewise.
55931         * MODULES.html.sh (string handling): Mention new module.
55932         * doc/functions/strstr.texi (strstr): Document the bug.
55933
55934 2008-01-10  Bruno Haible  <bruno@clisp.org>
55935
55936         * lib/relocatable.h (relocate): State whether result is freshly
55937         allocated or not.
55938         * lib/relocatable.c (relocate): Return a freshly allocated string
55939         instead of a pointer to a privately held string.
55940         Reported by Sylvain Beucler <beuc@gnu.org>.
55941
55942 2008-01-10  Colin Watson  <cjwatson@debian.org>
55943
55944         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
55945         s/S_ISNLK/S_ISLNK/.
55946
55947 2008-01-09  Bruno Haible  <bruno@clisp.org>
55948
55949         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
55950         and other files.
55951         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
55952         if it's only a guess.
55953         * modules/memmem: Simplify by depending on memmem-simple.
55954
55955 2008-01-09  Bruno Haible  <bruno@clisp.org>
55956
55957         Work around OpenBSD 4.0 tdelete() bug.
55958         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
55959         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
55960         macros and don't redefine the enum values.
55961         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
55962         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
55963         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
55964
55965 2008-01-09  Bruno Haible  <bruno@clisp.org>
55966
55967         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
55968         (main): Don't perform the tests if setlocale did not install a UTF-8
55969         locale. Needed on OpenBSD 4.0.
55970         * modules/wcwidth-tests (Depends-on): Add localcharset.
55971
55972 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
55973
55974         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
55975         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
55976         * NEWS: announce this.
55977         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
55978
55979 2008-01-09  Simon Josefsson  <simon@josefsson.org>
55980         and Eric Blake  <ebb9@byu.net>
55981
55982         Add memmem-simple module.
55983         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
55984         (gl_FUNC_MEMMEM): Separate performance from presence checks.
55985         * modules/memmem-simple: New file.
55986         * modules/memmem (Description): Tweak.
55987         * MODULES.html.sh (string handling): Mention new module.
55988         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
55989         addressed by memmem-simple.
55990         * NEWS: Document the difference.
55991
55992 2008-01-09  Eric Blake  <ebb9@byu.net>
55993
55994         Give gcc some memmem optimization hints.
55995         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
55996         (strcasestr): Declare as pure.
55997         * modules/memmem (Maintainer): Claim my implementation.
55998
55999 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56000
56001         Support AIX 6.1 and higher.
56002         * build-aux/config.libpath: Likewise.
56003         * build-aux/config.rpath: Likewise.
56004
56005 2008-01-08  Jim Meyering  <meyering@redhat.com>
56006             Bruno Haible  <bruno@clisp.org>
56007
56008         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
56009         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
56010         Reported by Peter Fales in
56011         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
56012
56013 2008-01-08  Bruno Haible  <bruno@clisp.org>
56014
56015         * modules/unictype/category-of (Depends-on): Add
56016         unictype/category-none.
56017         * modules/unictype/category-and-tests (Depends-on): Add
56018         unictype/category-{L,N,Lu,Nd}.
56019         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
56020         * modules/unictype/category-or-tests (Depends-on): Add
56021         unictype/category-{L,N}.
56022         * modules/unictype/category-name-tests (Depends-on): Add
56023         unictype/category-{Z,Nl}.
56024         Reported by Simon Josefsson.
56025
56026 2008-01-08  Bruno Haible  <bruno@clisp.org>
56027
56028         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
56029         convention better.
56030         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
56031         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
56032         Reported by Peter Miller <millerp@canb.auug.org.au>.
56033
56034 2008-01-08  Eric Blake  <ebb9@byu.net>
56035
56036         Rewrite memmem to guarantee linear complexity without malloc.
56037         * lib/memmem.c (memmem): Use Two-Way rather than
56038         Knuth-Morris-Pratt, to allow O(1) space usage.
56039         (critical_factorization, two_way_short_needle)
56040         (two_way_long_needle): New functions.
56041         (knuth_morris_pratt): Delete.
56042         * modules/memmem (Depends-on): No longer need malloca or stdbool.
56043         Add stdint.
56044         * tests/test-memmem.c (main): Add tests for periodic needle and
56045         sublinear performance.
56046         * doc/functions/memmem.texi (memmem): Document other deficiencies
56047         in cygwin and older glibc.
56048
56049 2008-01-08  Bruno Haible  <bruno@clisp.org>
56050
56051         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
56052         augmentation.
56053
56054 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
56055
56056         Add a configure time option: --disable-acl.
56057         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
56058         AC_ARG_ENABLE(acl).
56059
56060 2008-01-06  Simon Josefsson  <simon@josefsson.org>
56061
56062         * tests/test-localename.c: Don't include obsolete "setenv.h".
56063
56064         * modules/localename-tests (Depends-on): Need unsetenv.
56065
56066 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56067
56068         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
56069
56070 2008-01-06  Colin Watson  <cjwatson@debian.org>
56071
56072         * users.txt: Add man-db.
56073
56074 2008-01-07  Bruno Haible  <bruno@clisp.org>
56075
56076         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
56077         previous section name.
56078
56079 2008-01-07  Bruno Haible  <bruno@clisp.org>
56080
56081         * lib/progname.c (set_program_name): Don't strip off a leading
56082         "lt-" prefix outside a .libs directory.
56083         Suggested by Paul Eggert.
56084
56085 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
56086             Bruno Haible  <bruno@clisp.org>
56087
56088         Improve memory cleanup in 'relocatable' module.
56089         * lib/relocatable.h (compute_curr_prefix): Change return type to
56090         'char *'.
56091         * lib/relocatable.c (compute_curr_prefix): Change return type to
56092         'char *'. Free curr_installdir after use.
56093         (relocate): Free curr_prefix_better after use.
56094         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
56095
56096 2008-01-01  Bruno Haible  <bruno@clisp.org>
56097
56098         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
56099         failure on older glibc systems.
56100         Reported by Peter Fales <psfales@alcatel-lucent.com>.
56101
56102 2008-01-05  Eric Blake  <ebb9@byu.net>
56103
56104         Avoid quadratic system memmem.
56105         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
56106         Reported by Ralf Wildenhues.
56107
56108         Fix memmem test for mingw.
56109         * modules/memmem-tests (configure.ac): Check for alarm.
56110         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
56111         it.
56112         * doc/functions/memmem.texi: New file.
56113         * doc/gnulib.texi (Function Substitutes): Add memmem.
56114         Reported by Bruno Haible.
56115
56116 2008-01-04  Bruno Haible  <bruno@clisp.org>
56117
56118         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
56119         Require gl_HEADER_STRINGS_H_DEFAULTS, not
56120         gl_HEADER_STRING_H_DEFAULTS.
56121
56122 2008-01-04  Eric Blake  <ebb9@byu.net>
56123
56124         Shorten duration of memmem test.
56125         * tests/test-memmem.c (main): Use alarm to declare failure if test
56126         is taking too long.
56127         Reported by Ralf Wildenhues.
56128
56129 2007-12-21  Simon Josefsson  <simon@josefsson.org>
56130
56131         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
56132         string, needed by strerror.
56133
56134 2008-01-03  Colin Watson  <cjwatson@debian.org>
56135             Bruno Haible  <bruno@clisp.org>
56136
56137         * doc/gnulib-tool.texi (Localization): New section.
56138
56139 2008-01-02  Bruno Haible  <bruno@clisp.org>
56140
56141         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
56142         variables to 'unsigned char *' type.
56143         Reported by Paul Eggert.
56144
56145 2008-01-02  Jim Meyering  <jim@meyering.net>
56146
56147         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
56148
56149 2007-12-31  Jim Meyering  <jim@meyering.net>
56150
56151         Avoid use of private FTS type name.
56152         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
56153
56154 2007-12-30  Karl Berry  <karl@gnu.org>
56155
56156         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
56157         work around defect in Texinfo and/or the standalone Info browser.
56158
56159 2007-12-30  Bruno Haible  <bruno@clisp.org>
56160
56161         Unify 5 copies of the KMP code.
56162         * lib/str-kmp.h: New file.
56163         * lib/c-strcasestr.c: Include str-kmp.h.
56164         (knuth_morris_pratt): Remove function.
56165         (c_strcasestr): Update.
56166         * lib/c-strstr.c: Include str-kmp.h.
56167         (knuth_morris_pratt): Remove function.
56168         (c_strcasestr): Update.
56169         * lib/mbscasestr.c: Include str-kmp.h.
56170         (knuth_morris_pratt_unibyte): Remove function.
56171         * lib/mbsstr.c: Include str-kmp.h.
56172         (knuth_morris_pratt_unibyte): Remove function.
56173         * lib/strcasestr.c: Include str-kmp.h.
56174         (knuth_morris_pratt): Remove function.
56175         (strcasestr): Update.
56176         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
56177         * modules/c-strstr (Files): Likewise.
56178         * modules/mbscasestr (Files): Likewise.
56179         * modules/mbsstr (Files): Likewise.
56180         * modules/strcasestr (Files): Likewise.
56181         Suggested by Paul Eggert.
56182
56183 2007-12-30  Bruno Haible  <bruno@clisp.org>
56184
56185         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
56186         defined.
56187
56188 2007-12-30  Bruno Haible  <bruno@clisp.org>
56189
56190         * lib/xmalloca.h: Include xalloc.h.
56191         (xnmalloca): New macro.
56192
56193 2007-12-30  Bruno Haible  <bruno@clisp.org>
56194
56195         * lib/malloca.h (nmalloca): New macro.
56196         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
56197         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
56198         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
56199         knuth_morris_pratt_multibyte): Likewise.
56200         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
56201         knuth_morris_pratt_multibyte): Likewise.
56202         * lib/memmem.c (knuth_morris_pratt): Likewise.
56203         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
56204
56205 2007-12-25  Bruno Haible  <bruno@clisp.org>
56206
56207         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
56208         * lib/glob.c: Don't include openat.h.
56209         (link_exists2_p): Add back the code that deals with the
56210         !GLOB_ALTDIRFUNC case.
56211         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
56212         let it do the filename concatenation.
56213         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
56214         * modules/glob (Depends-on): Remove openat.
56215
56216 2007-12-31  Bruno Haible  <bruno@clisp.org>
56217
56218         * modules/dirfd (License): Change to LGPLv2+.
56219         Approved by Jim Meyering.
56220
56221 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
56222
56223         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
56224         when multiplying M by sizeof (size_t).
56225
56226 2007-12-10  Martin Lambers  <marlam@marlam.de>
56227
56228         Override getpagesize on mingw.
56229         * lib/getpagesize.c: New file.
56230         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
56231         * modules/getpagesize (Files): Add lib/getpagesize.c.
56232         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
56233         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56234         REPLACE_GETPAGESIZE.
56235         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
56236
56237 2007-12-25  Bruno Haible  <bruno@clisp.org>
56238
56239         * modules/localcharset (Notice): New field.
56240         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
56241         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
56242
56243 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
56244             Bruno Haible  <bruno@clisp.org>
56245
56246         Avoid using the syntax symbol() in formatted documentation.
56247         * MODULES.html.sh (func_module): When replacing symbol() with a
56248         hyperlink, remove the parentheses. Show an error if some remain.
56249         Recognize and render the '...' syntax.
56250         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
56251         Rework. Add paragraph about GCC's inlining.
56252         * doc/alloca.texi: Likewise.
56253         * doc/error.texi: Remove parentheses from symbol reference.
56254         * doc/gnulib-intro.texi: Likewise.
56255         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
56256         * modules/fnmatch (Description): Reword to say "the ... function".
56257         * modules/full-read (Description): Likewise.
56258         * modules/full-write (Description): Likewise.
56259         * modules/safe-read (Description): Likewise.
56260         * modules/safe-write (Description): Likewise.
56261         * modules/strchrnul (Description): Likewise.
56262         * modules/trim (Description): Likewise.
56263         * modules/error (Description): Remove parentheses from symbol
56264         references.
56265         * modules/verror (Description): Likewise.
56266         Reported by Karl Berry.
56267
56268 2007-12-25  Bruno Haible  <bruno@clisp.org>
56269
56270         Fixup after 2007-10-16 commit.
56271         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
56272
56273 2007-12-24  Bruno Haible  <bruno@clisp.org>
56274
56275         Make --enable-relocatable work with DESTDIR.
56276         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
56277         to compute installdir from destprog.
56278         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
56279         also set the RELOC_DESTDIR variable.
56280         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56281
56282 2007-12-24  Bruno Haible  <bruno@clisp.org>
56283
56284         Fix link error due to xalloc_die().
56285         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
56286         of xreadlink.
56287         * lib/relocwrapper.c: Update comments.
56288         * build-aux/install-reloc: Remove xreadlink.c from file list.
56289         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
56290         xreadlink.c.
56291         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56292
56293 2007-12-24  Bruno Haible  <bruno@clisp.org>
56294
56295         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
56296         * lib/setenv.h: Remove file.
56297         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
56298         lib/setenv.h.
56299         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
56300         (Depends-on): Add stdlib.
56301         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
56302         gl_FUNC_UNSETENV.
56303         (Include): Replace setenv.h with <stdlib.h>.
56304         * modules/unsetenv: New file.
56305         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
56306         * lib/unsetenv.c: Include <stdlib.h> first.
56307         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
56308         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
56309         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
56310         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
56311         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
56312         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
56313         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
56314         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
56315         * doc/functions/unsetenv.texi: Update.
56316         * modules/xsetenv (Depends-on): Add unsetenv.
56317         * modules/getdate (Depends-on): Likewise.
56318         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
56319         * lib/xsetenv.c: Don't include setenv.h.
56320         * lib/getdate.y: Likewise.
56321         * lib/relocwrapper.c: Likewise.
56322         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
56323         (Depends-on): Add stdlib.
56324         * NEWS: Mention the changes.
56325         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56326
56327 2007-12-23  Bruno Haible  <bruno@clisp.org>
56328
56329         * lib/memmem.c (memmem): Use lowercase variable names. Tab
56330         indentation.
56331
56332 2007-12-23  Bruno Haible  <bruno@clisp.org>
56333
56334         * lib/c-strcasestr.c: Add more comments.
56335         * lib/c-strstr.c: Likewise.
56336         * lib/mbscasestr.c: Likewise.
56337         * lib/mbsstr.c: Likewise.
56338         * lib/strcasestr.c: Likewise.
56339         * lib/memmem.c: Likewise.
56340
56341 2007-12-23  Bruno Haible  <bruno@clisp.org>
56342
56343         * tests/test-memmem.c: Include <string.h> first.
56344
56345 2007-12-22  Bruno Haible  <bruno@clisp.org>
56346
56347         * gnulib-tool (func_create_testdir): Change $auxdir while generating
56348         the contents of $testsbase.
56349         Reported by Ralf Wildenhues.
56350
56351 2007-12-22  Bruno Haible  <bruno@clisp.org>
56352
56353         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
56354         two variables local_ldadd_before, local_ldadd_last.
56355
56356 2007-12-20  Eric Blake  <ebb9@byu.net>
56357
56358         Work around circular library issue when cross-compiling.
56359         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
56360         that progname.o does not need to pull in rpl_memcmp.
56361
56362 2007-12-19  Eric Blake  <ebb9@byu.net>
56363
56364         Fix memmem to avoid O(n^2) worst-case complexity.
56365         * lib/memmem.c (knuth_morris_pratt): New function.
56366         (memmem): Use it if first few naive iterations fail.
56367         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
56368         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
56369         * modules/memchr (License): Likewise.
56370         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
56371         malloca.
56372         * tests/test-memmem.c: Rewrite, borrowing ideas from
56373         test-mbsstr1.c; the old version wouldn't even compile!
56374         * modules/memmem-tests: New file.
56375         * lib/string.in.h (rpl_memmem): Add declaration.
56376         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
56377         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
56378         REPLACE_MEMMEM.
56379
56380 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
56381
56382         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
56383         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
56384         before any system include files, and undef after them all.  This
56385         should fix a problem on VMS reported by John E. Malmberg in
56386         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
56387
56388 2007-12-17  Eric Blake  <ebb9@byu.net>
56389
56390         Revert addition of verify, for BSD/OS.
56391         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
56392         can't handle large files, for the sake of obsolete platforms.
56393         * modules/fseeko (Depends-on): Remove verify.
56394         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
56395         * doc/functions/ftello.texi (ftello): Likewise.
56396         * doc/functions/fgetpos.texi (fgetpos): Likewise.
56397         Reported by Larry Jones.
56398
56399 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
56400
56401         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
56402         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
56403
56404 2007-12-17  Jim Meyering  <meyering@redhat.com>
56405
56406         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
56407         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
56408         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
56409         * modules/getcwd (Depends-on): Add openat.
56410         Reported by Petr Salinger.
56411
56412 2007-12-17  Bruno Haible  <bruno@clisp.org>
56413
56414         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
56415         avoid a segmentation fault of the configure test on x86_64 systems.
56416
56417 2007-12-15  Jim Meyering  <meyering@redhat.com>
56418
56419         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
56420
56421 2007-12-13  Eric Blake  <ebb9@byu.net>
56422
56423         Another fseek test.
56424         * tests/test-fseek.c (main): Also test ungetc handling.
56425         * tests/test-fseeko.c (main): Likewise.
56426         * modules/fseeko (Depends-on): Add verify.
56427         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
56428         large.
56429         Reported by Larry Jones.
56430
56431         Fix fseeko on mingw.
56432         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
56433         seek.
56434
56435         Beef up fseek tests.
56436         * tests/test-fseek.c (main): Also test eof handling.
56437         * tests/test-fseeko.c (main): Likewise.
56438         Reported by Larry Jones.
56439
56440 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
56441
56442         Fix fseeko on BSD-based platforms.
56443         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
56444         successful seek.
56445
56446 2007-12-12  Eric Blake  <ebb9@byu.net>
56447
56448         Allow circular dependency of separate libtests.a
56449         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
56450         when use_libtests.
56451
56452 2007-12-11  Eric Blake  <ebb9@byu.net>
56453
56454         Fix bug with -0.0L in previous patch.
56455         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
56456         * tests/test-isnan.c (main): Also test on zeroes.
56457         * tests/test-isnanf.c (main): Likewise.
56458         * tests/test-isnanl.h (main): Likewise.
56459
56460         Detect pseudo-denormals on x86 even when cross-compiling.
56461         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
56462         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
56463         invalid bit patterns that happen to satisfy ==.
56464
56465         Avoid link failures with separate libtests.a.
56466         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
56467         last, to satisfy circular dependencies.
56468
56469 2007-12-11  Eric Blake  <ebb9@byu.net>
56470         and Bruno Haible  <bruno@clisp.org>
56471
56472         Fix OpenBSD 4.0 <float.h> handling of long double.
56473         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
56474         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
56475         * doc/headers/float.texi (float.h): Document OpenBSD bug.
56476
56477 2007-12-11  Jim Meyering  <meyering@redhat.com>
56478
56479         * users.txt: Add libvirt.
56480
56481         Support versions of autoconf prior to 2.59c.
56482         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
56483         if it is not already defined.
56484
56485 2007-12-09  Bruno Haible  <bruno@clisp.org>
56486
56487         Let 'gnulib-tool --import' collect sources needed for the tests in
56488         tests/ rather than in lib/.
56489         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
56490         argument. If true, add rules to generate libtests.a, and put libtests.a
56491         into $(LDADD). Consider source files in subdirectories and set
56492         uses_subdirs.
56493         (func_emit_initmacro_start, func_emit_initmacro_end,
56494         func_emit_initmacro_done): Pass all arguments explicitly.
56495         (func_import): Determine two module lists main_modules,
56496         testsrelated_modules. Determine use_libtests. Determine two variables
56497         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
56498         instead of just sed_transform_lib_file. Determine two variables
56499         main_files and testsrelated_files. Compute 'files' as the union of
56500         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
56501         func_add_or_update. In the generated gnulib-comp.m4, collect the
56502         object files for tests/ in different variables than those for lib/.
56503         Substitute LIBTESTS_LIBDEPS.
56504         (func_create_testdir): Combine the uses_subdirs results from
56505         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
56506
56507 2007-12-09  Bruno Haible  <bruno@clisp.org>
56508
56509         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
56510         the build-aux directory.
56511
56512 2007-12-09  Bruno Haible  <bruno@clisp.org>
56513
56514         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
56515         introduced on 2006-09-09.
56516
56517 2007-12-07  Jim Meyering  <meyering@redhat.com>
56518
56519         Let these macros work also with autoconf-2.59.
56520         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
56521         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
56522         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
56523
56524 2007-12-06  Jim Meyering  <meyering@redhat.com>
56525
56526         Avoid a configure-time syntax error in gl_FUNC_ACL.
56527         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
56528         function in each branch, before testing the cache variable.
56529
56530 2007-12-04  Eric Blake  <ebb9@byu.net>
56531
56532         Make scripts executable.
56533         * build-aux/config.guess: Add execute permissions.
56534         * build-aux/config.sub: Likewise.
56535         * build-aux/gendocs.sh: Likewise.
56536
56537         Fix frexp on mingw.
56538         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
56539         cross-compiling.
56540         * doc/functions/frexp.texi (frexp): Document the bug.
56541
56542         Make cygwin fseeko check more reliable.
56543         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
56544         version numbers, rather than unrelated feature check.
56545         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
56546         * doc/functions/ftello.texi (ftello): Likewise.
56547         Reported by Bruno Haible.
56548
56549         * m4/strerror.m4: Bump version number.
56550
56551 2007-12-03  Bruno Haible  <bruno@clisp.org>
56552
56553         * doc/functions/mprotect.texi: Mention the mingw problem.
56554
56555 2007-12-03  Eric Blake  <ebb9@byu.net>
56556
56557         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
56558         REPLACE_STRERROR is initialized before this macro.
56559
56560 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
56561
56562         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
56563         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
56564         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
56565         put -lsec in even for programs other than 'ls'.  This fixes a problem
56566         for gettext reported by Bruno Haible in
56567         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
56568         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
56569         Add support for Solaris 10.  This isn't efficient, but should get the
56570         job done for now.
56571
56572 2007-12-03  James Youngman  <jay@gnu.org>
56573
56574         * doc/regexprops-generic.texi: change "an close-group" to "a
56575         close-group" and "illegal" to "not allowed".
56576
56577 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56578
56579         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
56580         pr_byname.h. Needed for the rare case when the maintainer has done
56581         "make maintainer-clean" in the source directory and then attempts a
56582         build outside the source directory.
56583         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
56584         scripts_byname.h.
56585
56586 2007-12-02  Martin Lambers <marlam@marlam.de>
56587             Bruno Haible  <bruno@clisp.org>
56588
56589         * lib/getpagesize.h: Remove file.
56590         * lib/unistd.in.h: Include declaration of getpagesize here.
56591         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
56592         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
56593         HAVE_SYS_PARAM_H.
56594         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
56595         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
56596         * modules/getpagesize (Files): Remove lib/getpagesize.h.
56597         (Depends-on): Add unistd.
56598         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56599         (Include): Use <unistd.h> instead of getpagesize.h.
56600         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
56601         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
56602         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
56603         gl_GETPAGESIZE invocation, already handled by module dependency.
56604         * lib/pagealign_alloc.c: Don't include getpagesize.h.
56605
56606 2007-12-02  Bruno Haible  <bruno@clisp.org>
56607
56608         * modules/strings-tests: New file.
56609         * tests/test-strings.c: New file.
56610
56611         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
56612         * lib/strings.in.h: New file.
56613         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
56614         * m4/strings_h.m4: New file.
56615         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
56616         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
56617         * modules/strings: New file.
56618         * modules/string (Makefile.am): Update.
56619         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
56620         Reported by Karl Berry.
56621
56622 2007-12-01  Eric Blake  <ebb9@byu.net>
56623
56624         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
56625         accomodate fix in cygwin 1.5.25.
56626
56627 2007-12-01  Jim Meyering  <meyering@redhat.com>
56628
56629         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
56630         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
56631         that would inhibit utf8-optimization of a regexp containing line-
56632         or buffer-anchors, e.g., `^', `$'.
56633
56634 2007-11-30  Bruno Haible  <bruno@clisp.org>
56635
56636         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
56637         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
56638         glthread_recursive_lock_init.
56639         * lib/lock.c (glthread_recursive_lock_init)
56640         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
56641         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56642
56643 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
56644
56645         New function qset_acl, like set_acl but with syscall semantics.
56646         * lib/acl.h (qset_acl): New decl.
56647         * lib/acl.c (qset_acl): New function.
56648         (set_acl): Use new function.  Use more-consistent diagnostics.
56649
56650 2007-11-28  Jim Meyering  <meyering@redhat.com>
56651
56652         * modules/physmem (License): Change from GPL to LGPLv2+.
56653
56654 2007-11-26  Bruno Haible  <bruno@clisp.org>
56655
56656         * lib/vasnprintf.c (decode_long_double): Don't abort if the
56657         'long double' type has excess precision.
56658         Reported by Jim Meyering in
56659         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
56660
56661 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56662
56663         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
56664         Sync from <http://gnu.org/licenses>.
56665         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
56666         with license text from same location.
56667         * doc/maintain.texi, doc/standards.texi:  Sync from
56668         <http://savannah.gnu.org/projects/gnustandards>.
56669
56670 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
56671         and Jim Meyering  <meyering@redhat.com>
56672
56673         Adjust getdate' grammar to accept a slightly more regular language.
56674         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
56675         Before, the former was rejected.
56676         * lib/getdate.y (digits_to_date_time): New function, factored
56677         out of ...
56678         (number): ...here.  Just call digits_to_date_time.
56679         (hybrid): New non-terminal to handle an <unsigned number,
56680         signed relative offset> sequence consistently.
56681
56682 2007-11-18  Jim Meyering  <meyering@redhat.com>
56683
56684         Pull my changes from coreutils:
56685         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
56686         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
56687         use of $gnulib_tool_option_extras, so that it's separated from the
56688         preceding argument.
56689
56690         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
56691         * build-aux/bootstrap (cp_mark_as_generated): Create any required
56692         parent destination directories before copying a file into place.
56693
56694 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
56695
56696         bootstrap: work also with 4-argument variant of AC_INIT
56697         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
56698
56699 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56700
56701         Port test-getaddrinfo to Solaris.
56702         Problem reported by Bruno Haible in
56703         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
56704         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
56705         explanation of setting 'hints'.
56706         Don't reject an implementation merely because it returns EAI_SERVICE.
56707         (EAI_SERVICE): Define to 0 if not defined.
56708
56709 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
56710
56711         The license of gnu-make and posix-shell is now "GPLed build tool".
56712         * modules/gnu-make (License): Likewise.
56713         * modules/posix-shell (License): Likewise.
56714
56715         New module posix-shell, for determining a POSIX shell
56716         or perhaps something that is close enough to a POSIX shell.
56717         * m4/posix-shell.m4: New file.
56718         * modules/posix-shell: New file.
56719
56720         * MODULES.html.sh: Mention new module.
56721
56722         New module gnu-make, for determining whether we're using GNU Make.
56723         * m4/gnu-make.m4: New file.
56724         * modules/gnu-make: New file.
56725         * MODULES.html.sh: Mention new module.
56726
56727 2007-11-14  Jim Meyering  <meyering@redhat.com>
56728
56729         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
56730         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
56731         use this macro to create a function _definition_.
56732         Remove useless "#undef ARGMATCH_DIE".
56733
56734 2007-11-14  Bruno Haible  <bruno@clisp.org>
56735
56736         * lib/config.charset: Update for OpenBSD 4.1.
56737         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
56738
56739 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
56740
56741         Document 64-bit #if problems in stdint.texi.
56742         * doc/headers/stdint.texi (stdint.h): Mention problems with
56743         64-bit-#if, and how to work around them.
56744
56745         Don't insist on 'long long int' support in the preprocessor.  It
56746         breaks too many things.  For example, PRIdMAX still uses a 'long
56747         long int' format with the latest Sun compiler, even though
56748         HAVE_LONG_LONG_INT isn't defined due to that compiler's
56749         preprocessor problem.  This causes the latest coreutils to dump
56750         core on Solaris 10 sparc with the Sun C compiler.
56751         Instead, fix the 2007-10-16 problem in a different way, by evaluating
56752         the troublesome expressions at configure-time, not at #if-time.
56753         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
56754         preprocessor.
56755         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
56756         compile-time C checks, done at 'configure'-time.
56757         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
56758         * modules/inttypes (Makefile): Substitute the new symbols that
56759         gl_INTTYPES_H now generates.
56760         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
56761
56762 2007-11-12  Bruno Haible  <bruno@clisp.org>
56763
56764         Tests for Unicode character classification functions.
56765
56766         * modules/unictype/bidicategory-byname-tests: New file.
56767         * modules/unictype/bidicategory-name-tests: New file.
56768         * modules/unictype/bidicategory-of-tests: New file.
56769         * modules/unictype/bidicategory-test-tests: New file.
56770         * modules/unictype/block-list-tests: New file.
56771         * modules/unictype/block-of-tests: New file.
56772         * modules/unictype/block-test-tests: New file.
56773         * modules/unictype/category-C-tests: New file.
56774         * modules/unictype/category-Cc-tests: New file.
56775         * modules/unictype/category-Cf-tests: New file.
56776         * modules/unictype/category-Cn-tests: New file.
56777         * modules/unictype/category-Co-tests: New file.
56778         * modules/unictype/category-Cs-tests: New file.
56779         * modules/unictype/category-L-tests: New file.
56780         * modules/unictype/category-Ll-tests: New file.
56781         * modules/unictype/category-Lm-tests: New file.
56782         * modules/unictype/category-Lo-tests: New file.
56783         * modules/unictype/category-Lt-tests: New file.
56784         * modules/unictype/category-Lu-tests: New file.
56785         * modules/unictype/category-M-tests: New file.
56786         * modules/unictype/category-Mc-tests: New file.
56787         * modules/unictype/category-Me-tests: New file.
56788         * modules/unictype/category-Mn-tests: New file.
56789         * modules/unictype/category-N-tests: New file.
56790         * modules/unictype/category-Nd-tests: New file.
56791         * modules/unictype/category-Nl-tests: New file.
56792         * modules/unictype/category-No-tests: New file.
56793         * modules/unictype/category-P-tests: New file.
56794         * modules/unictype/category-Pc-tests: New file.
56795         * modules/unictype/category-Pd-tests: New file.
56796         * modules/unictype/category-Pe-tests: New file.
56797         * modules/unictype/category-Pf-tests: New file.
56798         * modules/unictype/category-Pi-tests: New file.
56799         * modules/unictype/category-Po-tests: New file.
56800         * modules/unictype/category-Ps-tests: New file.
56801         * modules/unictype/category-S-tests: New file.
56802         * modules/unictype/category-Sc-tests: New file.
56803         * modules/unictype/category-Sk-tests: New file.
56804         * modules/unictype/category-Sm-tests: New file.
56805         * modules/unictype/category-So-tests: New file.
56806         * modules/unictype/category-Z-tests: New file.
56807         * modules/unictype/category-Zl-tests: New file.
56808         * modules/unictype/category-Zp-tests: New file.
56809         * modules/unictype/category-Zs-tests: New file.
56810         * modules/unictype/category-and-not-tests: New file.
56811         * modules/unictype/category-and-tests: New file.
56812         * modules/unictype/category-byname-tests: New file.
56813         * modules/unictype/category-name-tests: New file.
56814         * modules/unictype/category-none-tests: New file.
56815         * modules/unictype/category-of-tests: New file.
56816         * modules/unictype/category-or-tests: New file.
56817         * modules/unictype/category-test-withtable-tests: New file.
56818         * modules/unictype/combining-class-tests: New file.
56819         * modules/unictype/ctype-alnum-tests: New file.
56820         * modules/unictype/ctype-alpha-tests: New file.
56821         * modules/unictype/ctype-blank-tests: New file.
56822         * modules/unictype/ctype-cntrl-tests: New file.
56823         * modules/unictype/ctype-digit-tests: New file.
56824         * modules/unictype/ctype-graph-tests: New file.
56825         * modules/unictype/ctype-lower-tests: New file.
56826         * modules/unictype/ctype-print-tests: New file.
56827         * modules/unictype/ctype-punct-tests: New file.
56828         * modules/unictype/ctype-space-tests: New file.
56829         * modules/unictype/ctype-upper-tests: New file.
56830         * modules/unictype/ctype-xdigit-tests: New file.
56831         * modules/unictype/decimal-digit-tests: New file.
56832         * modules/unictype/digit-tests: New file.
56833         * modules/unictype/mirror-tests: New file.
56834         * modules/unictype/numeric-tests: New file.
56835         * modules/unictype/property-alphabetic-tests: New file.
56836         * modules/unictype/property-ascii-hex-digit-tests: New file.
56837         * modules/unictype/property-bidi-arabic-digit-tests: New file.
56838         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
56839         * modules/unictype/property-bidi-block-separator-tests: New file.
56840         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
56841         * modules/unictype/property-bidi-common-separator-tests: New file.
56842         * modules/unictype/property-bidi-control-tests: New file.
56843         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
56844         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
56845         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
56846         * modules/unictype/property-bidi-european-digit-tests: New file.
56847         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
56848         * modules/unictype/property-bidi-left-to-right-tests: New file.
56849         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
56850         * modules/unictype/property-bidi-other-neutral-tests: New file.
56851         * modules/unictype/property-bidi-pdf-tests: New file.
56852         * modules/unictype/property-bidi-segment-separator-tests: New file.
56853         * modules/unictype/property-bidi-whitespace-tests: New file.
56854         * modules/unictype/property-byname-tests: New file.
56855         * modules/unictype/property-combining-tests: New file.
56856         * modules/unictype/property-composite-tests: New file.
56857         * modules/unictype/property-currency-symbol-tests: New file.
56858         * modules/unictype/property-dash-tests: New file.
56859         * modules/unictype/property-decimal-digit-tests: New file.
56860         * modules/unictype/property-default-ignorable-code-point-tests: New file.
56861         * modules/unictype/property-deprecated-tests: New file.
56862         * modules/unictype/property-diacritic-tests: New file.
56863         * modules/unictype/property-extender-tests: New file.
56864         * modules/unictype/property-format-control-tests: New file.
56865         * modules/unictype/property-grapheme-base-tests: New file.
56866         * modules/unictype/property-grapheme-extend-tests: New file.
56867         * modules/unictype/property-grapheme-link-tests: New file.
56868         * modules/unictype/property-hex-digit-tests: New file.
56869         * modules/unictype/property-hyphen-tests: New file.
56870         * modules/unictype/property-id-continue-tests: New file.
56871         * modules/unictype/property-id-start-tests: New file.
56872         * modules/unictype/property-ideographic-tests: New file.
56873         * modules/unictype/property-ids-binary-operator-tests: New file.
56874         * modules/unictype/property-ids-trinary-operator-tests: New file.
56875         * modules/unictype/property-ignorable-control-tests: New file.
56876         * modules/unictype/property-iso-control-tests: New file.
56877         * modules/unictype/property-join-control-tests: New file.
56878         * modules/unictype/property-left-of-pair-tests: New file.
56879         * modules/unictype/property-line-separator-tests: New file.
56880         * modules/unictype/property-logical-order-exception-tests: New file.
56881         * modules/unictype/property-lowercase-tests: New file.
56882         * modules/unictype/property-math-tests: New file.
56883         * modules/unictype/property-non-break-tests: New file.
56884         * modules/unictype/property-not-a-character-tests: New file.
56885         * modules/unictype/property-numeric-tests: New file.
56886         * modules/unictype/property-other-alphabetic-tests: New file.
56887         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
56888         * modules/unictype/property-other-grapheme-extend-tests: New file.
56889         * modules/unictype/property-other-id-continue-tests: New file.
56890         * modules/unictype/property-other-id-start-tests: New file.
56891         * modules/unictype/property-other-lowercase-tests: New file.
56892         * modules/unictype/property-other-math-tests: New file.
56893         * modules/unictype/property-other-uppercase-tests: New file.
56894         * modules/unictype/property-paired-punctuation-tests: New file.
56895         * modules/unictype/property-paragraph-separator-tests: New file.
56896         * modules/unictype/property-pattern-syntax-tests: New file.
56897         * modules/unictype/property-pattern-white-space-tests: New file.
56898         * modules/unictype/property-private-use-tests: New file.
56899         * modules/unictype/property-punctuation-tests: New file.
56900         * modules/unictype/property-quotation-mark-tests: New file.
56901         * modules/unictype/property-radical-tests: New file.
56902         * modules/unictype/property-sentence-terminal-tests: New file.
56903         * modules/unictype/property-soft-dotted-tests: New file.
56904         * modules/unictype/property-space-tests: New file.
56905         * modules/unictype/property-terminal-punctuation-tests: New file.
56906         * modules/unictype/property-test-tests: New file.
56907         * modules/unictype/property-titlecase-tests: New file.
56908         * modules/unictype/property-unassigned-code-value-tests: New file.
56909         * modules/unictype/property-unified-ideograph-tests: New file.
56910         * modules/unictype/property-uppercase-tests: New file.
56911         * modules/unictype/property-variation-selector-tests: New file.
56912         * modules/unictype/property-white-space-tests: New file.
56913         * modules/unictype/property-xid-continue-tests: New file.
56914         * modules/unictype/property-xid-start-tests: New file.
56915         * modules/unictype/property-zero-width-tests: New file.
56916         * modules/unictype/scripts-tests: New file.
56917         * modules/unictype/syntax-c-ident-tests: New file.
56918         * modules/unictype/syntax-c-whitespace-tests: New file.
56919         * modules/unictype/syntax-java-ident-tests: New file.
56920         * modules/unictype/syntax-java-whitespace-tests: New file.
56921         * tests/unictype/test-bidi_byname.c: New file.
56922         * tests/unictype/test-bidi_name.c: New file.
56923         * tests/unictype/test-bidi_of.c: New file.
56924         * tests/unictype/test-bidi_test.c: New file.
56925         * tests/unictype/test-block_list.c: New file.
56926         * tests/unictype/test-block_of.c: New file.
56927         * tests/unictype/test-block_test.c: New file.
56928         * tests/unictype/test-categ_and.c: New file.
56929         * tests/unictype/test-categ_and_not.c: New file.
56930         * tests/unictype/test-categ_byname.c: New file.
56931         * tests/unictype/test-categ_name.c: New file.
56932         * tests/unictype/test-categ_none.c: New file.
56933         * tests/unictype/test-categ_of.c: New file.
56934         * tests/unictype/test-categ_or.c: New file.
56935         * tests/unictype/test-categ_test_withtable.c: New file.
56936         * tests/unictype/test-combining.c: New file.
56937         * tests/unictype/test-decdigit.c: New file.
56938         * tests/unictype/test-digit.c: New file.
56939         * tests/unictype/test-mirror.c: New file.
56940         * tests/unictype/test-numeric.c: New file.
56941         * tests/unictype/test-pr_byname.c: New file.
56942         * tests/unictype/test-pr_test.c: New file.
56943         * tests/unictype/test-predicate-part1.h: New file.
56944         * tests/unictype/test-predicate-part2.h: New file.
56945         * tests/unictype/test-scripts.c: New file.
56946         * tests/unictype/test-sy_c_ident.c: New file.
56947         * tests/unictype/test-sy_java_ident.c: New file.
56948
56949         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
56950         for Unicode 5.0.0.
56951         * tests/unictype/test-categ_Cc.c: Likewise.
56952         * tests/unictype/test-categ_Cf.c: Likewise.
56953         * tests/unictype/test-categ_Cn.c: Likewise.
56954         * tests/unictype/test-categ_Co.c: Likewise.
56955         * tests/unictype/test-categ_Cs.c: Likewise.
56956         * tests/unictype/test-categ_L.c: Likewise.
56957         * tests/unictype/test-categ_Ll.c: Likewise.
56958         * tests/unictype/test-categ_Lm.c: Likewise.
56959         * tests/unictype/test-categ_Lo.c: Likewise.
56960         * tests/unictype/test-categ_Lt.c: Likewise.
56961         * tests/unictype/test-categ_Lu.c: Likewise.
56962         * tests/unictype/test-categ_M.c: Likewise.
56963         * tests/unictype/test-categ_Mc.c: Likewise.
56964         * tests/unictype/test-categ_Me.c: Likewise.
56965         * tests/unictype/test-categ_Mn.c: Likewise.
56966         * tests/unictype/test-categ_N.c: Likewise.
56967         * tests/unictype/test-categ_Nd.c: Likewise.
56968         * tests/unictype/test-categ_Nl.c: Likewise.
56969         * tests/unictype/test-categ_No.c: Likewise.
56970         * tests/unictype/test-categ_P.c: Likewise.
56971         * tests/unictype/test-categ_Pc.c: Likewise.
56972         * tests/unictype/test-categ_Pd.c: Likewise.
56973         * tests/unictype/test-categ_Pe.c: Likewise.
56974         * tests/unictype/test-categ_Pf.c: Likewise.
56975         * tests/unictype/test-categ_Pi.c: Likewise.
56976         * tests/unictype/test-categ_Po.c: Likewise.
56977         * tests/unictype/test-categ_Ps.c: Likewise.
56978         * tests/unictype/test-categ_S.c: Likewise.
56979         * tests/unictype/test-categ_Sc.c: Likewise.
56980         * tests/unictype/test-categ_Sk.c: Likewise.
56981         * tests/unictype/test-categ_Sm.c: Likewise.
56982         * tests/unictype/test-categ_So.c: Likewise.
56983         * tests/unictype/test-categ_Z.c: Likewise.
56984         * tests/unictype/test-categ_Zl.c: Likewise.
56985         * tests/unictype/test-categ_Zp.c: Likewise.
56986         * tests/unictype/test-categ_Zs.c: Likewise.
56987         * tests/unictype/test-ctype_alnum.c: Likewise.
56988         * tests/unictype/test-ctype_alpha.c: Likewise.
56989         * tests/unictype/test-ctype_blank.c: Likewise.
56990         * tests/unictype/test-ctype_cntrl.c: Likewise.
56991         * tests/unictype/test-ctype_digit.c: Likewise.
56992         * tests/unictype/test-ctype_graph.c: Likewise.
56993         * tests/unictype/test-ctype_lower.c: Likewise.
56994         * tests/unictype/test-ctype_print.c: Likewise.
56995         * tests/unictype/test-ctype_punct.c: Likewise.
56996         * tests/unictype/test-ctype_space.c: Likewise.
56997         * tests/unictype/test-ctype_upper.c: Likewise.
56998         * tests/unictype/test-ctype_xdigit.c: Likewise.
56999         * tests/unictype/test-decdigit.h: Likewise.
57000         * tests/unictype/test-digit.h: Likewise.
57001         * tests/unictype/test-numeric.h: Likewise.
57002         * tests/unictype/test-pr_alphabetic.c: Likewise.
57003         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
57004         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
57005         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
57006         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
57007         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
57008         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
57009         * tests/unictype/test-pr_bidi_control.c: Likewise.
57010         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
57011         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
57012         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
57013         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
57014         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
57015         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
57016         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
57017         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
57018         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
57019         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
57020         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
57021         * tests/unictype/test-pr_combining.c: Likewise.
57022         * tests/unictype/test-pr_composite.c: Likewise.
57023         * tests/unictype/test-pr_currency_symbol.c: Likewise.
57024         * tests/unictype/test-pr_dash.c: Likewise.
57025         * tests/unictype/test-pr_decimal_digit.c: Likewise.
57026         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
57027         * tests/unictype/test-pr_deprecated.c: Likewise.
57028         * tests/unictype/test-pr_diacritic.c: Likewise.
57029         * tests/unictype/test-pr_extender.c: Likewise.
57030         * tests/unictype/test-pr_format_control.c: Likewise.
57031         * tests/unictype/test-pr_grapheme_base.c: Likewise.
57032         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
57033         * tests/unictype/test-pr_grapheme_link.c: Likewise.
57034         * tests/unictype/test-pr_hex_digit.c: Likewise.
57035         * tests/unictype/test-pr_hyphen.c: Likewise.
57036         * tests/unictype/test-pr_id_continue.c: Likewise.
57037         * tests/unictype/test-pr_id_start.c: Likewise.
57038         * tests/unictype/test-pr_ideographic.c: Likewise.
57039         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
57040         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
57041         * tests/unictype/test-pr_ignorable_control.c: Likewise.
57042         * tests/unictype/test-pr_iso_control.c: Likewise.
57043         * tests/unictype/test-pr_join_control.c: Likewise.
57044         * tests/unictype/test-pr_left_of_pair.c: Likewise.
57045         * tests/unictype/test-pr_line_separator.c: Likewise.
57046         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
57047         * tests/unictype/test-pr_lowercase.c: Likewise.
57048         * tests/unictype/test-pr_math.c: Likewise.
57049         * tests/unictype/test-pr_non_break.c: Likewise.
57050         * tests/unictype/test-pr_not_a_character.c: Likewise.
57051         * tests/unictype/test-pr_numeric.c: Likewise.
57052         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
57053         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
57054         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
57055         * tests/unictype/test-pr_other_id_continue.c: Likewise.
57056         * tests/unictype/test-pr_other_id_start.c: Likewise.
57057         * tests/unictype/test-pr_other_lowercase.c: Likewise.
57058         * tests/unictype/test-pr_other_math.c: Likewise.
57059         * tests/unictype/test-pr_other_uppercase.c: Likewise.
57060         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
57061         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
57062         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
57063         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
57064         * tests/unictype/test-pr_private_use.c: Likewise.
57065         * tests/unictype/test-pr_punctuation.c: Likewise.
57066         * tests/unictype/test-pr_quotation_mark.c: Likewise.
57067         * tests/unictype/test-pr_radical.c: Likewise.
57068         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
57069         * tests/unictype/test-pr_soft_dotted.c: Likewise.
57070         * tests/unictype/test-pr_space.c: Likewise.
57071         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
57072         * tests/unictype/test-pr_titlecase.c: Likewise.
57073         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
57074         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
57075         * tests/unictype/test-pr_uppercase.c: Likewise.
57076         * tests/unictype/test-pr_variation_selector.c: Likewise.
57077         * tests/unictype/test-pr_white_space.c: Likewise.
57078         * tests/unictype/test-pr_xid_continue.c: Likewise.
57079         * tests/unictype/test-pr_xid_start.c: Likewise.
57080         * tests/unictype/test-pr_zero_width.c: Likewise.
57081         * tests/unictype/test-sy_c_whitespace.c: Likewise.
57082         * tests/unictype/test-sy_java_whitespace.c: Likewise.
57083
57084 2007-11-12  Bruno Haible  <bruno@clisp.org>
57085
57086         Unicode character classification functions.
57087         * lib/unictype.h: New file.
57088         * modules/unictype/base: New file.
57089         * modules/unictype/category-L: New file.
57090         * modules/unictype/category-Lu: New file.
57091         * modules/unictype/category-Ll: New file.
57092         * modules/unictype/category-Lt: New file.
57093         * modules/unictype/category-Lm: New file.
57094         * modules/unictype/category-Lo: New file.
57095         * modules/unictype/category-M: New file.
57096         * modules/unictype/category-Mn: New file.
57097         * modules/unictype/category-Mc: New file.
57098         * modules/unictype/category-Me: New file.
57099         * modules/unictype/category-N: New file.
57100         * modules/unictype/category-Nd: New file.
57101         * modules/unictype/category-Nl: New file.
57102         * modules/unictype/category-No: New file.
57103         * modules/unictype/category-P: New file.
57104         * modules/unictype/category-Pc: New file.
57105         * modules/unictype/category-Pd: New file.
57106         * modules/unictype/category-Ps: New file.
57107         * modules/unictype/category-Pe: New file.
57108         * modules/unictype/category-Pi: New file.
57109         * modules/unictype/category-Pf: New file.
57110         * modules/unictype/category-Po: New file.
57111         * modules/unictype/category-S: New file.
57112         * modules/unictype/category-Sm: New file.
57113         * modules/unictype/category-Sc: New file.
57114         * modules/unictype/category-Sk: New file.
57115         * modules/unictype/category-So: New file.
57116         * modules/unictype/category-Z: New file.
57117         * modules/unictype/category-Zs: New file.
57118         * modules/unictype/category-Zl: New file.
57119         * modules/unictype/category-Zp: New file.
57120         * modules/unictype/category-C: New file.
57121         * modules/unictype/category-Cc: New file.
57122         * modules/unictype/category-Cf: New file.
57123         * modules/unictype/category-Cs: New file.
57124         * modules/unictype/category-Co: New file.
57125         * modules/unictype/category-Cn: New file.
57126         * modules/unictype/category-or: New file.
57127         * modules/unictype/category-of: New file.
57128         * modules/unictype/category-test: New file.
57129         * modules/unictype/category-test-withtable: New file.
57130         * modules/unictype/category-byname: New file.
57131         * modules/unictype/category-none: New file.
57132         * modules/unictype/category-and: New file.
57133         * modules/unictype/category-and-not: New file.
57134         * modules/unictype/category-name: New file.
57135         * modules/unictype/combining-class: New file.
57136         * modules/unictype/category-all: New file.
57137         * modules/unictype/bidicategory-all: New file.
57138         * modules/unictype/bidicategory-byname: New file.
57139         * modules/unictype/bidicategory-name: New file.
57140         * modules/unictype/bidicategory-of: New file.
57141         * modules/unictype/bidicategory-test: New file.
57142         * modules/unictype/decimal-digit: New file.
57143         * modules/unictype/digit: New file.
57144         * modules/unictype/numeric: New file.
57145         * modules/unictype/mirror: New file.
57146         * modules/unictype/property-white-space: New file.
57147         * modules/unictype/property-alphabetic: New file.
57148         * modules/unictype/property-other-alphabetic: New file.
57149         * modules/unictype/property-not-a-character: New file.
57150         * modules/unictype/property-default-ignorable-code-point: New file.
57151         * modules/unictype/property-other-default-ignorable-code-point: New
57152         file.
57153         * modules/unictype/property-deprecated: New file.
57154         * modules/unictype/property-logical-order-exception: New file.
57155         * modules/unictype/property-variation-selector: New file.
57156         * modules/unictype/property-private-use: New file.
57157         * modules/unictype/property-unassigned-code-value: New file.
57158         * modules/unictype/property-uppercase: New file.
57159         * modules/unictype/property-other-uppercase: New file.
57160         * modules/unictype/property-lowercase: New file.
57161         * modules/unictype/property-other-lowercase: New file.
57162         * modules/unictype/property-titlecase: New file.
57163         * modules/unictype/property-soft-dotted: New file.
57164         * modules/unictype/property-id-start: New file.
57165         * modules/unictype/property-other-id-start: New file.
57166         * modules/unictype/property-id-continue: New file.
57167         * modules/unictype/property-other-id-continue: New file.
57168         * modules/unictype/property-xid-start: New file.
57169         * modules/unictype/property-xid-continue: New file.
57170         * modules/unictype/property-pattern-white-space: New file.
57171         * modules/unictype/property-pattern-syntax: New file.
57172         * modules/unictype/property-join-control: New file.
57173         * modules/unictype/property-grapheme-base: New file.
57174         * modules/unictype/property-grapheme-extend: New file.
57175         * modules/unictype/property-other-grapheme-extend: New file.
57176         * modules/unictype/property-grapheme-link: New file.
57177         * modules/unictype/property-bidi-control: New file.
57178         * modules/unictype/property-bidi-left-to-right: New file.
57179         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
57180         * modules/unictype/property-bidi-arabic-right-to-left: New file.
57181         * modules/unictype/property-bidi-european-digit: New file.
57182         * modules/unictype/property-bidi-eur-num-separator: New file.
57183         * modules/unictype/property-bidi-eur-num-terminator: New file.
57184         * modules/unictype/property-bidi-arabic-digit: New file.
57185         * modules/unictype/property-bidi-common-separator: New file.
57186         * modules/unictype/property-bidi-block-separator: New file.
57187         * modules/unictype/property-bidi-segment-separator: New file.
57188         * modules/unictype/property-bidi-whitespace: New file.
57189         * modules/unictype/property-bidi-non-spacing-mark: New file.
57190         * modules/unictype/property-bidi-boundary-neutral: New file.
57191         * modules/unictype/property-bidi-pdf: New file.
57192         * modules/unictype/property-bidi-embedding-or-override: New file.
57193         * modules/unictype/property-bidi-other-neutral: New file.
57194         * modules/unictype/property-hex-digit: New file.
57195         * modules/unictype/property-ascii-hex-digit: New file.
57196         * modules/unictype/property-ideographic: New file.
57197         * modules/unictype/property-unified-ideograph: New file.
57198         * modules/unictype/property-radical: New file.
57199         * modules/unictype/property-ids-binary-operator: New file.
57200         * modules/unictype/property-ids-trinary-operator: New file.
57201         * modules/unictype/property-zero-width: New file.
57202         * modules/unictype/property-space: New file.
57203         * modules/unictype/property-non-break: New file.
57204         * modules/unictype/property-iso-control: New file.
57205         * modules/unictype/property-format-control: New file.
57206         * modules/unictype/property-dash: New file.
57207         * modules/unictype/property-hyphen: New file.
57208         * modules/unictype/property-punctuation: New file.
57209         * modules/unictype/property-line-separator: New file.
57210         * modules/unictype/property-paragraph-separator: New file.
57211         * modules/unictype/property-quotation-mark: New file.
57212         * modules/unictype/property-sentence-terminal: New file.
57213         * modules/unictype/property-terminal-punctuation: New file.
57214         * modules/unictype/property-currency-symbol: New file.
57215         * modules/unictype/property-math: New file.
57216         * modules/unictype/property-other-math: New file.
57217         * modules/unictype/property-paired-punctuation: New file.
57218         * modules/unictype/property-left-of-pair: New file.
57219         * modules/unictype/property-combining: New file.
57220         * modules/unictype/property-composite: New file.
57221         * modules/unictype/property-decimal-digit: New file.
57222         * modules/unictype/property-numeric: New file.
57223         * modules/unictype/property-diacritic: New file.
57224         * modules/unictype/property-extender: New file.
57225         * modules/unictype/property-ignorable-control: New file.
57226         * modules/unictype/property-test: New file.
57227         * modules/unictype/property-byname: New file.
57228         * modules/unictype/property-all: New file.
57229         * modules/unictype/scripts: New file.
57230         * modules/unictype/scripts-all: New file.
57231         * modules/unictype/block-of: New file.
57232         * modules/unictype/block-test: New file.
57233         * modules/unictype/block-list: New file.
57234         * modules/unictype/block-all: New file.
57235         * modules/unictype/syntax-c-whitespace: New file.
57236         * modules/unictype/syntax-java-whitespace: New file.
57237         * modules/unictype/syntax-c-ident: New file.
57238         * modules/unictype/syntax-java-ident: New file.
57239         * modules/unictype/ctype-alnum: New file.
57240         * modules/unictype/ctype-alpha: New file.
57241         * modules/unictype/ctype-cntrl: New file.
57242         * modules/unictype/ctype-digit: New file.
57243         * modules/unictype/ctype-graph: New file.
57244         * modules/unictype/ctype-lower: New file.
57245         * modules/unictype/ctype-print: New file.
57246         * modules/unictype/ctype-punct: New file.
57247         * modules/unictype/ctype-space: New file.
57248         * modules/unictype/ctype-upper: New file.
57249         * modules/unictype/ctype-xdigit: New file.
57250         * modules/unictype/ctype-blank: New file.
57251         * lib/unictype/bidi_byname.c: New file.
57252         * lib/unictype/bidi_name.c: New file.
57253         * lib/unictype/bidi_of.c: New file.
57254         * lib/unictype/bidi_test.c: New file.
57255         * lib/unictype/bitmap.h: New file.
57256         * lib/unictype/block_test.c: New file.
57257         * lib/unictype/blocks.c: New file.
57258         * lib/unictype/categ_C.c: New file.
57259         * lib/unictype/categ_Cc.c: New file.
57260         * lib/unictype/categ_Cf.c: New file.
57261         * lib/unictype/categ_Cn.c: New file.
57262         * lib/unictype/categ_Co.c: New file.
57263         * lib/unictype/categ_Cs.c: New file.
57264         * lib/unictype/categ_L.c: New file.
57265         * lib/unictype/categ_Ll.c: New file.
57266         * lib/unictype/categ_Lm.c: New file.
57267         * lib/unictype/categ_Lo.c: New file.
57268         * lib/unictype/categ_Lt.c: New file.
57269         * lib/unictype/categ_Lu.c: New file.
57270         * lib/unictype/categ_M.c: New file.
57271         * lib/unictype/categ_Mc.c: New file.
57272         * lib/unictype/categ_Me.c: New file.
57273         * lib/unictype/categ_Mn.c: New file.
57274         * lib/unictype/categ_N.c: New file.
57275         * lib/unictype/categ_Nd.c: New file.
57276         * lib/unictype/categ_Nl.c: New file.
57277         * lib/unictype/categ_No.c: New file.
57278         * lib/unictype/categ_P.c: New file.
57279         * lib/unictype/categ_Pc.c: New file.
57280         * lib/unictype/categ_Pd.c: New file.
57281         * lib/unictype/categ_Pe.c: New file.
57282         * lib/unictype/categ_Pf.c: New file.
57283         * lib/unictype/categ_Pi.c: New file.
57284         * lib/unictype/categ_Po.c: New file.
57285         * lib/unictype/categ_Ps.c: New file.
57286         * lib/unictype/categ_S.c: New file.
57287         * lib/unictype/categ_Sc.c: New file.
57288         * lib/unictype/categ_Sk.c: New file.
57289         * lib/unictype/categ_Sm.c: New file.
57290         * lib/unictype/categ_So.c: New file.
57291         * lib/unictype/categ_Z.c: New file.
57292         * lib/unictype/categ_Zl.c: New file.
57293         * lib/unictype/categ_Zp.c: New file.
57294         * lib/unictype/categ_Zs.c: New file.
57295         * lib/unictype/categ_and.c: New file.
57296         * lib/unictype/categ_and_not.c: New file.
57297         * lib/unictype/categ_byname.c: New file.
57298         * lib/unictype/categ_name.c: New file.
57299         * lib/unictype/categ_none.c: New file.
57300         * lib/unictype/categ_of.c: New file.
57301         * lib/unictype/categ_or.c: New file.
57302         * lib/unictype/categ_test.c: New file.
57303         * lib/unictype/combining.c: New file.
57304         * lib/unictype/ctype_alnum.c: New file.
57305         * lib/unictype/ctype_alpha.c: New file.
57306         * lib/unictype/ctype_blank.c: New file.
57307         * lib/unictype/ctype_cntrl.c: New file.
57308         * lib/unictype/ctype_digit.c: New file.
57309         * lib/unictype/ctype_graph.c: New file.
57310         * lib/unictype/ctype_lower.c: New file.
57311         * lib/unictype/ctype_print.c: New file.
57312         * lib/unictype/ctype_punct.c: New file.
57313         * lib/unictype/ctype_space.c: New file.
57314         * lib/unictype/ctype_upper.c: New file.
57315         * lib/unictype/ctype_xdigit.c: New file.
57316         * lib/unictype/decdigit.c: New file.
57317         * lib/unictype/digit.c: New file.
57318         * lib/unictype/identsyntaxmap.h: New file.
57319         * lib/unictype/mirror.c: New file.
57320         * lib/unictype/numeric.c: New file.
57321         * lib/unictype/pr_alphabetic.c: New file.
57322         * lib/unictype/pr_ascii_hex_digit.c: New file.
57323         * lib/unictype/pr_bidi_arabic_digit.c: New file.
57324         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
57325         * lib/unictype/pr_bidi_block_separator.c: New file.
57326         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
57327         * lib/unictype/pr_bidi_common_separator.c: New file.
57328         * lib/unictype/pr_bidi_control.c: New file.
57329         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
57330         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
57331         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
57332         * lib/unictype/pr_bidi_european_digit.c: New file.
57333         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
57334         * lib/unictype/pr_bidi_left_to_right.c: New file.
57335         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
57336         * lib/unictype/pr_bidi_other_neutral.c: New file.
57337         * lib/unictype/pr_bidi_pdf.c: New file.
57338         * lib/unictype/pr_bidi_segment_separator.c: New file.
57339         * lib/unictype/pr_bidi_whitespace.c: New file.
57340         * lib/unictype/pr_byname.c: New file.
57341         * lib/unictype/pr_byname.gperf: New file.
57342         * lib/unictype/pr_combining.c: New file.
57343         * lib/unictype/pr_composite.c: New file.
57344         * lib/unictype/pr_currency_symbol.c: New file.
57345         * lib/unictype/pr_dash.c: New file.
57346         * lib/unictype/pr_decimal_digit.c: New file.
57347         * lib/unictype/pr_default_ignorable_code_point.c: New file.
57348         * lib/unictype/pr_deprecated.c: New file.
57349         * lib/unictype/pr_diacritic.c: New file.
57350         * lib/unictype/pr_extender.c: New file.
57351         * lib/unictype/pr_format_control.c: New file.
57352         * lib/unictype/pr_grapheme_base.c: New file.
57353         * lib/unictype/pr_grapheme_extend.c: New file.
57354         * lib/unictype/pr_grapheme_link.c: New file.
57355         * lib/unictype/pr_hex_digit.c: New file.
57356         * lib/unictype/pr_hyphen.c: New file.
57357         * lib/unictype/pr_id_continue.c: New file.
57358         * lib/unictype/pr_id_start.c: New file.
57359         * lib/unictype/pr_ideographic.c: New file.
57360         * lib/unictype/pr_ids_binary_operator.c: New file.
57361         * lib/unictype/pr_ids_trinary_operator.c: New file.
57362         * lib/unictype/pr_ignorable_control.c: New file.
57363         * lib/unictype/pr_iso_control.c: New file.
57364         * lib/unictype/pr_join_control.c: New file.
57365         * lib/unictype/pr_left_of_pair.c: New file.
57366         * lib/unictype/pr_line_separator.c: New file.
57367         * lib/unictype/pr_logical_order_exception.c: New file.
57368         * lib/unictype/pr_lowercase.c: New file.
57369         * lib/unictype/pr_math.c: New file.
57370         * lib/unictype/pr_non_break.c: New file.
57371         * lib/unictype/pr_not_a_character.c: New file.
57372         * lib/unictype/pr_numeric.c: New file.
57373         * lib/unictype/pr_other_alphabetic.c: New file.
57374         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
57375         * lib/unictype/pr_other_grapheme_extend.c: New file.
57376         * lib/unictype/pr_other_id_continue.c: New file.
57377         * lib/unictype/pr_other_id_start.c: New file.
57378         * lib/unictype/pr_other_lowercase.c: New file.
57379         * lib/unictype/pr_other_math.c: New file.
57380         * lib/unictype/pr_other_uppercase.c: New file.
57381         * lib/unictype/pr_paired_punctuation.c: New file.
57382         * lib/unictype/pr_paragraph_separator.c: New file.
57383         * lib/unictype/pr_pattern_syntax.c: New file.
57384         * lib/unictype/pr_pattern_white_space.c: New file.
57385         * lib/unictype/pr_private_use.c: New file.
57386         * lib/unictype/pr_punctuation.c: New file.
57387         * lib/unictype/pr_quotation_mark.c: New file.
57388         * lib/unictype/pr_radical.c: New file.
57389         * lib/unictype/pr_sentence_terminal.c: New file.
57390         * lib/unictype/pr_soft_dotted.c: New file.
57391         * lib/unictype/pr_space.c: New file.
57392         * lib/unictype/pr_terminal_punctuation.c: New file.
57393         * lib/unictype/pr_test.c: New file.
57394         * lib/unictype/pr_titlecase.c: New file.
57395         * lib/unictype/pr_unassigned_code_value.c: New file.
57396         * lib/unictype/pr_unified_ideograph.c: New file.
57397         * lib/unictype/pr_uppercase.c: New file.
57398         * lib/unictype/pr_variation_selector.c: New file.
57399         * lib/unictype/pr_white_space.c: New file.
57400         * lib/unictype/pr_xid_continue.c: New file.
57401         * lib/unictype/pr_xid_start.c: New file.
57402         * lib/unictype/pr_zero_width.c: New file.
57403         * lib/unictype/scripts.c: New file.
57404         * lib/unictype/sy_c_ident.c: New file.
57405         * lib/unictype/sy_c_whitespace.c: New file.
57406         * lib/unictype/sy_java_ident.c: New file.
57407         * lib/unictype/sy_java_whitespace.c: New file.
57408
57409         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
57410         Unicode 5.0.0.
57411         * lib/unictype/blocks.h: Likewise.
57412         * lib/unictype/categ_C.h: Likewise.
57413         * lib/unictype/categ_Cc.h: Likewise.
57414         * lib/unictype/categ_Cf.h: Likewise.
57415         * lib/unictype/categ_Cn.h: Likewise.
57416         * lib/unictype/categ_Co.h: Likewise.
57417         * lib/unictype/categ_Cs.h: Likewise.
57418         * lib/unictype/categ_L.h: Likewise.
57419         * lib/unictype/categ_Ll.h: Likewise.
57420         * lib/unictype/categ_Lm.h: Likewise.
57421         * lib/unictype/categ_Lo.h: Likewise.
57422         * lib/unictype/categ_Lt.h: Likewise.
57423         * lib/unictype/categ_Lu.h: Likewise.
57424         * lib/unictype/categ_M.h: Likewise.
57425         * lib/unictype/categ_Mc.h: Likewise.
57426         * lib/unictype/categ_Me.h: Likewise.
57427         * lib/unictype/categ_Mn.h: Likewise.
57428         * lib/unictype/categ_N.h: Likewise.
57429         * lib/unictype/categ_Nd.h: Likewise.
57430         * lib/unictype/categ_Nl.h: Likewise.
57431         * lib/unictype/categ_No.h: Likewise.
57432         * lib/unictype/categ_P.h: Likewise.
57433         * lib/unictype/categ_Pc.h: Likewise.
57434         * lib/unictype/categ_Pd.h: Likewise.
57435         * lib/unictype/categ_Pe.h: Likewise.
57436         * lib/unictype/categ_Pf.h: Likewise.
57437         * lib/unictype/categ_Pi.h: Likewise.
57438         * lib/unictype/categ_Po.h: Likewise.
57439         * lib/unictype/categ_Ps.h: Likewise.
57440         * lib/unictype/categ_S.h: Likewise.
57441         * lib/unictype/categ_Sc.h: Likewise.
57442         * lib/unictype/categ_Sk.h: Likewise.
57443         * lib/unictype/categ_Sm.h: Likewise.
57444         * lib/unictype/categ_So.h: Likewise.
57445         * lib/unictype/categ_Z.h: Likewise.
57446         * lib/unictype/categ_Zl.h: Likewise.
57447         * lib/unictype/categ_Zp.h: Likewise.
57448         * lib/unictype/categ_Zs.h: Likewise.
57449         * lib/unictype/categ_of.h: Likewise.
57450         * lib/unictype/combining.h: Likewise.
57451         * lib/unictype/ctype_alnum.h: Likewise.
57452         * lib/unictype/ctype_alpha.h: Likewise.
57453         * lib/unictype/ctype_blank.h: Likewise.
57454         * lib/unictype/ctype_cntrl.h: Likewise.
57455         * lib/unictype/ctype_digit.h: Likewise.
57456         * lib/unictype/ctype_graph.h: Likewise.
57457         * lib/unictype/ctype_lower.h: Likewise.
57458         * lib/unictype/ctype_print.h: Likewise.
57459         * lib/unictype/ctype_punct.h: Likewise.
57460         * lib/unictype/ctype_space.h: Likewise.
57461         * lib/unictype/ctype_upper.h: Likewise.
57462         * lib/unictype/ctype_xdigit.h: Likewise.
57463         * lib/unictype/decdigit.h: Likewise.
57464         * lib/unictype/digit.h: Likewise.
57465         * lib/unictype/mirror.h: Likewise.
57466         * lib/unictype/numeric.h: Likewise.
57467         * lib/unictype/pr_alphabetic.h: Likewise.
57468         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
57469         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
57470         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
57471         * lib/unictype/pr_bidi_block_separator.h: Likewise.
57472         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
57473         * lib/unictype/pr_bidi_common_separator.h: Likewise.
57474         * lib/unictype/pr_bidi_control.h: Likewise.
57475         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
57476         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
57477         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
57478         * lib/unictype/pr_bidi_european_digit.h: Likewise.
57479         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
57480         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
57481         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
57482         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
57483         * lib/unictype/pr_bidi_pdf.h: Likewise.
57484         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
57485         * lib/unictype/pr_bidi_whitespace.h: Likewise.
57486         * lib/unictype/pr_combining.h: Likewise.
57487         * lib/unictype/pr_composite.h: Likewise.
57488         * lib/unictype/pr_currency_symbol.h: Likewise.
57489         * lib/unictype/pr_dash.h: Likewise.
57490         * lib/unictype/pr_decimal_digit.h: Likewise.
57491         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
57492         * lib/unictype/pr_deprecated.h: Likewise.
57493         * lib/unictype/pr_diacritic.h: Likewise.
57494         * lib/unictype/pr_extender.h: Likewise.
57495         * lib/unictype/pr_format_control.h: Likewise.
57496         * lib/unictype/pr_grapheme_base.h: Likewise.
57497         * lib/unictype/pr_grapheme_extend.h: Likewise.
57498         * lib/unictype/pr_grapheme_link.h: Likewise.
57499         * lib/unictype/pr_hex_digit.h: Likewise.
57500         * lib/unictype/pr_hyphen.h: Likewise.
57501         * lib/unictype/pr_id_continue.h: Likewise.
57502         * lib/unictype/pr_id_start.h: Likewise.
57503         * lib/unictype/pr_ideographic.h: Likewise.
57504         * lib/unictype/pr_ids_binary_operator.h: Likewise.
57505         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
57506         * lib/unictype/pr_ignorable_control.h: Likewise.
57507         * lib/unictype/pr_iso_control.h: Likewise.
57508         * lib/unictype/pr_join_control.h: Likewise.
57509         * lib/unictype/pr_left_of_pair.h: Likewise.
57510         * lib/unictype/pr_line_separator.h: Likewise.
57511         * lib/unictype/pr_logical_order_exception.h: Likewise.
57512         * lib/unictype/pr_lowercase.h: Likewise.
57513         * lib/unictype/pr_math.h: Likewise.
57514         * lib/unictype/pr_non_break.h: Likewise.
57515         * lib/unictype/pr_not_a_character.h: Likewise.
57516         * lib/unictype/pr_numeric.h: Likewise.
57517         * lib/unictype/pr_other_alphabetic.h: Likewise.
57518         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
57519         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
57520         * lib/unictype/pr_other_id_continue.h: Likewise.
57521         * lib/unictype/pr_other_id_start.h: Likewise.
57522         * lib/unictype/pr_other_lowercase.h: Likewise.
57523         * lib/unictype/pr_other_math.h: Likewise.
57524         * lib/unictype/pr_other_uppercase.h: Likewise.
57525         * lib/unictype/pr_paired_punctuation.h: Likewise.
57526         * lib/unictype/pr_paragraph_separator.h: Likewise.
57527         * lib/unictype/pr_pattern_syntax.h: Likewise.
57528         * lib/unictype/pr_pattern_white_space.h: Likewise.
57529         * lib/unictype/pr_private_use.h: Likewise.
57530         * lib/unictype/pr_punctuation.h: Likewise.
57531         * lib/unictype/pr_quotation_mark.h: Likewise.
57532         * lib/unictype/pr_radical.h: Likewise.
57533         * lib/unictype/pr_sentence_terminal.h: Likewise.
57534         * lib/unictype/pr_soft_dotted.h: Likewise.
57535         * lib/unictype/pr_space.h: Likewise.
57536         * lib/unictype/pr_terminal_punctuation.h: Likewise.
57537         * lib/unictype/pr_titlecase.h: Likewise.
57538         * lib/unictype/pr_unassigned_code_value.h: Likewise.
57539         * lib/unictype/pr_unified_ideograph.h: Likewise.
57540         * lib/unictype/pr_uppercase.h: Likewise.
57541         * lib/unictype/pr_variation_selector.h: Likewise.
57542         * lib/unictype/pr_white_space.h: Likewise.
57543         * lib/unictype/pr_xid_continue.h: Likewise.
57544         * lib/unictype/pr_xid_start.h: Likewise.
57545         * lib/unictype/pr_zero_width.h: Likewise.
57546         * lib/unictype/scripts.h: Likewise.
57547         * lib/unictype/scripts_byname.gperf: Likewise.
57548         * lib/unictype/sy_c_ident.h: Likewise.
57549         * lib/unictype/sy_c_whitespace.h: Likewise.
57550         * lib/unictype/sy_java_ident.h: Likewise.
57551         * lib/unictype/sy_java_whitespace.h: Likewise.
57552
57553         * lib/unictype/Makefile: New file.
57554         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
57555         glibc.
57556         * lib/unictype/3level.h: New file, copied from glibc.
57557         * lib/unictype/3levelbit.h: New file.
57558
57559 2007-11-11  Bruno Haible  <bruno@clisp.org>
57560
57561         * modules/gperf: New file.
57562         * modules/iconv_open (Depends-on): Add it.
57563         (Makefile.am): Remove the GPERF definition.
57564
57565 2007-11-11  Bruno Haible  <bruno@clisp.org>
57566
57567         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
57568         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
57569
57570 2007-11-11  Bruno Haible  <bruno@clisp.org>
57571
57572         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
57573         (usage): Remove function.
57574
57575 2007-11-11  Bruno Haible  <bruno@clisp.org>
57576
57577         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
57578         gl_FUNC_CEILF_LIBS.
57579         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
57580         gl_FUNC_CEIL_LIBS.
57581         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
57582         gl_FUNC_CEILL_LIBS.
57583         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
57584         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
57585         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
57586
57587 2007-11-11  Bruno Haible  <bruno@clisp.org>
57588
57589         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
57590         roundf were declared but do not exist on functions.
57591         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
57592         roundl were declared but do not exist on functions.
57593         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
57594         HAVE_FLOORL_AND_CEILL, respectively.
57595         Needed for Sun C on Solaris 10.
57596
57597 2007-11-11  Bruno Haible  <bruno@clisp.org>
57598
57599         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
57600         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
57601         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
57602         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
57603         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
57604         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
57605         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
57606         HAVE_DECL_ROUNDF.
57607         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
57608         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
57609         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
57610         of HAVE_DECL_ROUND*.
57611         * modules/math (Makefile.am): Update.
57612
57613 2007-11-10  Bruno Haible  <bruno@clisp.org>
57614
57615         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
57616         ptrdiff_t as m4/intl.m4.
57617
57618 2007-11-10  Jim Meyering  <meyering@redhat.com>
57619
57620         Avoid link failure for the argmatch test.
57621         * tests/test-argmatch.c (usage): Define function to avoid a link
57622         failure: argmatch_die requires a usage function.
57623
57624 2007-11-09  Bruno Haible  <bruno@clisp.org>
57625
57626         * doc/functions/snprintf.texi: Mention BeOS deficiency.
57627         * doc/functions/vsnprintf.texi: Likewise.
57628         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
57629         with a size argument < 2.
57630
57631 2007-11-09  Bruno Haible  <bruno@clisp.org>
57632
57633         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
57634         buffer. Fixes an inefficiency introduced on 2007-11-03.
57635
57636 2007-11-09  Bruno Haible  <bruno@clisp.org>
57637
57638         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
57639         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
57640
57641 2007-11-08  Jim Meyering  <meyering@redhat.com>
57642
57643         Change cache variable name prefix "jm_" to "gl_" everywhere.
57644         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
57645         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
57646         * m4/uptime.m4: s/gl_/jm_/
57647
57648 2007-11-07  Bruno Haible  <bruno@clisp.org>
57649
57650         Update to GNU gettext 0.17.
57651         * m4/intl.m4: Update to GNU gettext 0.17.
57652         * m4/po.m4: Likewise.
57653         * modules/gettext (Files): Remove m4/ulonglong.m4.
57654         (configure.ac): Require gettext infrastructure from version 0.17.
57655
57656 2007-11-06  Bruno Haible  <bruno@clisp.org>
57657
57658         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
57659         symbolic values are not defined in a public header.
57660         * lib/freadable.c (freadable) [QNX]: Likewise.
57661         * lib/freadahead.c (freadahead) [QNX]: Likewise.
57662         * lib/freading.c (freading) [QNX]: Likewise.
57663         * lib/fseterr.c (fseterr) [QNX]: Likewise.
57664         * lib/fwritable.c (fwritable) [QNX]: Likewise.
57665         * lib/fwriting.c (fwriting) [QNX]: Likewise.
57666         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
57667         Reported by Alain Magloire.
57668
57669         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
57670
57671 2007-11-05  Bruno Haible  <bruno@clisp.org>
57672
57673         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
57674         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
57675         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
57676         Reported by Eric Blake.
57677
57678 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57679             Bruno Haible  <bruno@clisp.org>
57680
57681         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
57682         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
57683         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
57684         (malloc): Undefine also before including <stdlib.h>.
57685         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
57686         Needed on OSF/1 4.0.
57687
57688 2007-11-05  Jim Meyering  <meyering@redhat.com>
57689
57690         git-version-gen: sync from coreutils.
57691         * build-aux/git-version-gen: Add comments.
57692         Change the first '-' to '.' in the snapshot version string,
57693         e.g., 6.9-377-08144 -> 6.9.377-08144
57694         Remove first parameter.
57695         Don't declare a version "-dirty" merely because a time
57696         stamp has changed.
57697
57698 2007-11-04  Bruno Haible  <bruno@clisp.org>
57699
57700         * lib/lock.h: Protect all macro definitions containing an 'if'
57701         statement through a "do { ... } while (0)".
57702         * lib/tls.h: Likewise.
57703
57704 2007-11-04  Bruno Haible  <bruno@clisp.org>
57705
57706         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
57707
57708 2007-11-04  Bruno Haible  <bruno@clisp.org>
57709
57710         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
57711         * modules/fprintf-posix (Depends-on): Add nocrash.
57712         * modules/snprintf-posix (Depends-on): Likewise.
57713         * modules/sprintf-posix (Depends-on): Likewise.
57714         * modules/vasnprintf-posix (Depends-on): Likewise.
57715         * modules/vasprintf-posix (Depends-on): Likewise.
57716         * modules/vfprintf-posix (Depends-on): Likewise.
57717         * modules/vsnprintf-posix (Depends-on): Likewise.
57718         * modules/vsprintf-posix (Depends-on): Likewise.
57719         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57720         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57721         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57722         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57723         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57724         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57725         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57726
57727 2007-11-04  Bruno Haible  <bruno@clisp.org>
57728
57729         * modules/nocrash: New file.
57730         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
57731         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
57732
57733 2007-11-04  Bruno Haible  <bruno@clisp.org>
57734
57735         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
57736         precision handling.
57737         * tests/test-vasprintf-posix.c (test_function): Likewise.
57738         * tests/test-snprintf-posix.h (test_function): Likewise.
57739         * tests/test-sprintf-posix.h (test_function): Likewise.
57740
57741         Fix *printf behaviour for large precisions on mingw and BeOS.
57742         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
57743         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
57744         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
57745         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57746         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57747         gl_PRINTF_PRECISION and test its result. Invoke
57748         gl_PREREQ_VASNPRINTF_PRECISION.
57749         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57750         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57751         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57752         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57753         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57754         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57755         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57756         * doc/functions/fprintf.texi: Update.
57757         * doc/functions/printf.texi: Update.
57758         * doc/functions/snprintf.texi: Update.
57759         * doc/functions/sprintf.texi: Update.
57760         * doc/functions/vfprintf.texi: Update.
57761         * doc/functions/vprintf.texi: Update.
57762         * doc/functions/vsnprintf.texi: Update.
57763         * doc/functions/vsprintf.texi: Update.
57764
57765 2007-11-04  Bruno Haible  <bruno@clisp.org>
57766
57767         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
57768
57769 2007-11-04  Bruno Haible  <bruno@clisp.org>
57770
57771         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
57772         Reported by Sylvain Beucler <beuc@gnu.org>.
57773
57774 2007-11-03  Bruno Haible  <bruno@clisp.org>
57775
57776         * tests/test-fprintf-posix2.sh: New file.
57777         * tests/test-fprintf-posix2.c: New file.
57778         * modules/fprintf-posix-tests (Files): Add them.
57779         (TESTS): Add test-fprintf-posix2.sh.
57780         (configure.ac): Check for getrlimit and setrlimit.
57781         (check_PROGRAMS): Add test-fprintf-posix2.
57782
57783         * tests/test-printf-posix2.sh: New file.
57784         * tests/test-printf-posix2.c: New file.
57785         * modules/printf-posix-tests (Files): Add them.
57786         (TESTS): Add test-printf-posix2.sh.
57787         (configure.ac): Check for getrlimit and setrlimit.
57788         (check_PROGRAMS): Add test-printf-posix2.
57789
57790         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
57791         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
57792         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
57793         (decode_double): New function, copied from decode_long_double.
57794         (scale10_round_decimal_decoded): New function, extracted from
57795         scale10_round_decimal_long_double.
57796         (scale10_round_decimal_long_double): Use it.
57797         (scale10_round_decimal_double): New function.
57798         (floorlog10): New function.
57799         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
57800         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
57801         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57802         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57803         gl_PRINTF_ENOMEM and test its result. Invoke
57804         gl_PREREQ_VASNPRINTF_ENOMEM.
57805         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57806         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57807         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57808         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57809         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57810         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57811         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57812         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
57813         * modules/snprintf-posix (Depends-on): Likewise.
57814         * modules/sprintf-posix (Depends-on): Likewise.
57815         * modules/vasnprintf-posix (Depends-on): Likewise.
57816         * modules/vasprintf-posix (Depends-on): Likewise.
57817         * modules/vfprintf-posix (Depends-on): Likewise.
57818         * modules/vsnprintf-posix (Depends-on): Likewise.
57819         * modules/vsprintf-posix (Depends-on): Likewise.
57820         * doc/functions/fprintf.texi: Update.
57821         * doc/functions/printf.texi: Update.
57822         * doc/functions/snprintf.texi: Update.
57823         * doc/functions/sprintf.texi: Update.
57824         * doc/functions/vfprintf.texi: Update.
57825         * doc/functions/vprintf.texi: Update.
57826         * doc/functions/vsnprintf.texi: Update.
57827         * doc/functions/vsprintf.texi: Update.
57828
57829 2007-11-03  Bruno Haible  <bruno@clisp.org>
57830
57831         * modules/frexp-nolibm-tests: New file.
57832
57833         * modules/frexp-nolibm: New file.
57834         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
57835
57836 2007-11-03  Bruno Haible  <bruno@clisp.org>
57837
57838         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
57839         value is C99 compliant.
57840         Needed for OSF/1 5.1.
57841
57842 2007-11-03  Bruno Haible  <bruno@clisp.org>
57843
57844         Fix out-of-memory handling of vasnprintf.
57845         * lib/printf-parse.c: Include <errno.h>.
57846         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
57847         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
57848         is already set.
57849
57850 2007-11-02  Eric Blake  <ebb9@byu.net>
57851
57852         Fix tests on cygwin.
57853         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
57854
57855 2007-11-01  Bruno Haible  <bruno@clisp.org>
57856
57857         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
57858         warning.
57859         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
57860         needed for POSIX compatibility.
57861
57862 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
57863
57864         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
57865         for compatibility with GNU.
57866
57867 2007-11-01  Bruno Haible  <bruno@clisp.org>
57868
57869         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
57870         (putenv): Renamed from rpl_putenv. Change argument type from
57871         'const char *' to 'char *'.
57872         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
57873         of defining putenv in config.h, just set REPLACE_PUTENV.
57874         * modules/putenv (Depends-on): Add stdlib.
57875         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
57876         (Include): Use <stdlib.h>.
57877         * lib/stdlib.in.h (putenv): New declaration.
57878         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
57879         REPLACE_PUTENV.
57880         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
57881         REPLACE_PUTENV.
57882         Needed for MacOS X 10.5.0.
57883         Reported by Peter O'Gorman <peter@pogma.com>.
57884
57885 2007-11-01  Jim Meyering  <meyering@redhat.com>
57886
57887         Treat an empty date string exactly like "0".
57888         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
57889         if the remaining date string (to be parsed) is empty, use "0".
57890         Reported by Mischa Molhoek and discussed in this thread:
57891         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
57892
57893 2007-10-31  Bruno Haible  <bruno@clisp.org>
57894
57895         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
57896         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
57897         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
57898         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
57899         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
57900         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
57901
57902 2007-10-31  Bruno Haible  <bruno@clisp.org>
57903
57904         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
57905         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
57906         (AC_TYPE_LONG_LONG_INT): Use it.
57907         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
57908         it as well.
57909         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
57910         to m4/longlong.m4.
57911         * modules/stdint (Files): Remove m4/ulonglong.m4.
57912         * modules/strtoull (Files): Use m4/longlong.m4 instead of
57913         m4/ulonglong.m4.
57914         * modules/strtoumax (Files): Likewise.
57915
57916 2007-10-30  Bruno Haible  <bruno@clisp.org>
57917
57918         * modules/xvasprintf-posix: New file.
57919         Suggested by Eric Blake.
57920
57921 2007-10-30  Bruno Haible  <bruno@clisp.org>
57922
57923         * modules/xprintf-posix-tests: New file.
57924         * tests/test-xprintf-posix.sh: New file.
57925         * tests/test-xprintf-posix.c: New file.
57926         * tests/test-xfprintf-posix.c: New file.
57927
57928         * modules/xprintf-posix: New file.
57929
57930 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57931
57932         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
57933         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
57934         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
57935
57936 2007-10-29  Bruno Haible  <bruno@clisp.org>
57937
57938         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
57939         contain the special marker '_cv_'.
57940         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
57941         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
57942         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
57943         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
57944         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
57945         Reported by Ralf Wildenhues.
57946
57947 2007-10-29  Bruno Haible  <bruno@clisp.org>
57948
57949         * gnulib-tool (func_import): When --lgpl is not specified, set
57950         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
57951         GPLv3.
57952         Reported by Simon Josefsson.
57953
57954 2007-10-28  Bruno Haible  <bruno@clisp.org>
57955
57956         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
57957         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
57958         HAVE_DECL_ISFINITE.
57959         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
57960         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
57961         HAVE_DECL_ISFINITE.
57962
57963 2007-10-28  Bruno Haible  <bruno@clisp.org>
57964
57965         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
57966         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
57967
57968 2007-10-28  Bruno Haible  <bruno@clisp.org>
57969
57970         Fix link errors with Sun C 5.0 on Solaris 10.
57971         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
57972         function is declared but not present in the compiler's libm.
57973         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
57974         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
57975         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
57976         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
57977         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
57978         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
57979         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
57980         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
57981         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
57982         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
57983         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
57984         HAVE_DECL_FLOORL.
57985
57986 2007-10-28  Bruno Haible  <bruno@clisp.org>
57987
57988         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
57989         gl_FUNC_FLOORL. Cache the result.
57990         (gl_FUNC_FLOORL): Use it.
57991         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
57992         gl_FUNC_CEILL. Cache the result.
57993         (gl_FUNC_CEILL): Use it.
57994
57995         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
57996         gl_FUNC_FLOOR. Cache the result.
57997         (gl_FUNC_FLOOR): Use it.
57998         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
57999         gl_FUNC_CEIL. Cache the result.
58000         (gl_FUNC_CEIL): Use it.
58001
58002         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
58003         gl_FUNC_FLOORF. Cache the result.
58004         (gl_FUNC_FLOORF): Use it.
58005         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
58006         gl_FUNC_CEILF. Cache the result.
58007         (gl_FUNC_CEILF): Use it.
58008
58009 2007-10-28  Bruno Haible  <bruno@clisp.org>
58010
58011         * gnulib-tool: Allow specifying the LGPL version number through
58012         --lgpl=2 or --lgpl=3.
58013         (func_usage): Document --lgpl with argument.
58014         Handle --lgpl=... arguments.
58015         (func_import): Recognize also gl_LGPL calls with an argument. When
58016         --lgpl=2 is used and the module's license is just LGPL, report an
58017         error. Set sed_transform_lib_file according to the lgpl variable. In
58018         the generated files, use --lgpl or gl_LGPL invocations with argument,
58019         if necessary.
58020         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
58021         an LGPv2+ license.
58022         * doc/gnulib-tool.texi (Modified imports): Update explanation of
58023         gl_LGPL macro.
58024
58025 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58026             Bruno Haible  <bruno@clisp.org>
58027
58028         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
58029         (u16_uctomb_aux): Likewise.
58030         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
58031         !HAVE_INLINE.
58032         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
58033
58034 2007-10-28  Bruno Haible  <bruno@clisp.org>
58035
58036         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
58037         Invoke AM_GETTEXT_OPTION if it exists.
58038         * modules/vasprintf: Likewise.
58039         * modules/verror: Likewise.
58040         * modules/xprintf: Likewise.
58041         * modules/xvasprintf: Likewise.
58042
58043 2007-10-27  Ben Pfaff  <blp@gnu.org>
58044
58045         * lib/math.in.h: Define isfinite macro and prototypes for
58046         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
58047         implementations.
58048         * m4/math_h.m4: New substitutions for isfinite module.
58049         * lib/isfinite.c: New file.
58050         * m4/isfinite.m4: New file.
58051         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
58052         * modules/isfinite: New file.
58053         * modules/isfinite-tests: New file.
58054         * tests/tests-isfinite.c: New file.
58055         * doc/functions/isfinite.texi: Mention isfinite module.
58056         * MODULES.html.sh: Mention new module.
58057
58058 2007-10-27  Ben Pfaff  <blp@gnu.org>
58059
58060         Ralf Wildenhues reported that Tru64 4.0D declares the round
58061         functions but does not have definitions.
58062         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
58063         cannot be found in any library, set the output variable to
58064         "missing" instead of "".
58065         * m4/round.m4: Also use our substitute if we cannot find round in
58066         any library, even if it is declared.
58067         * m4/roundf.m4: Likewise for roundf.
58068         * m4/roundl.m4: Likewise for roundl.
58069         * lib/math.in.h: Undefine roundf, round, roundl before defining
58070         their replacements, to allow for hypothetical systems where these
58071         may be defined as macros but not available in libraries.
58072
58073 2007-10-27  Bruno Haible  <bruno@clisp.org>
58074
58075         * doc/gnulib.texi: Invoke @firstparagraphindent.
58076         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
58077         changes in gnulib.
58078         (Source changes): New section.
58079
58080 2007-10-26  Bruno Haible  <bruno@clisp.org>
58081
58082         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
58083         borrowed from autoconf.
58084
58085 2007-10-26  Bruno Haible  <bruno@clisp.org>
58086
58087         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
58088         strerror returned the empty string. Needed on HP-UX 11.00.
58089
58090 2007-10-24  Micah Cowan  <micah@cowan.name>
58091
58092         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
58093         * build-aux/bootstrap: Remove support for now-unnecessary option,
58094         --cvs-user, and envvars CVS_USER, CVS_RSH.
58095
58096 2007-10-24  Jim Meyering  <meyering@redhat.com>
58097
58098         Avoid diagnostics from sha1sum when there is no cached checksum.
58099         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
58100         if the po.s1 file hasn't been created yet.
58101
58102         * build-aux/bootstrap: Sync from coreutils:
58103         2007-10-24  Jim Meyering  <meyering@redhat.com>
58104         Get gnulib from the git repository, not from an obsolete cvs one.
58105         * build-aux/bootstrap: Suggestion from Micah Cowan.
58106         2007-10-04  Jim Meyering  <jim@meyering.net>
58107         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
58108         (update_po_files): Work also when there are no .po files in po/.
58109
58110 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58111
58112         * README: Append ".git" to git and cg examples.
58113         Problem reported by Benoit Sigoure.
58114
58115 2007-10-23  Micah Cowan  <micah@cowan.name>
58116
58117         * users.txt: Add wget.
58118
58119 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58120
58121         Fix linking of some unistdio tests on FreeBSD.
58122         * modules/unistdio/u16-vsnprintf-tests
58123         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
58124         * modules/unistdio/u16-vsprintf-tests
58125         (test_u16_vsnprintf1_LDADD): Likewise.
58126         * modules/unistdio/u32-vsnprintf-tests
58127         (test_u32_vsnprintf1_LDADD): Likewise.
58128         * modules/unistdio/u32-vsprintf-tests
58129         (test_u32_vsprintf1_LDADD): Likewise.
58130         * modules/unistdio/u8-vsnprintf-tests
58131         (test_u8_vsnprintf1_LDADD): Likewise.
58132         * modules/unistdio/u8-vsprintf-tests
58133         (test_u8_vsprintf1_LDADD): Likewise.
58134         * modules/unistdio/ulc-vsnprintf-tests
58135         (test_ulc_vsnprintf1_LDADD): Likewise.
58136         * modules/unistdio/ulc-vsprintf-tests
58137         (test_ulc_vsprintf1_LDADD): Likewise.
58138
58139         Fix linking of some uniconv tests on FreeBSD.
58140         * modules/uniconv/u16-conv-from-enc-tests
58141         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
58142         * modules/uniconv/u16-conv-to-enc-tests
58143         (test_u16_conv_to_enc_LDADD): Likewise.
58144         * modules/uniconv/u16-strconv-from-enc-tests
58145         (test_u16_strconv_from_enc_LDADD): Likewise.
58146         * modules/uniconv/u16-strconv-to-enc-tests
58147         (test_u16_strconv_to_enc_LDADD): Likewise.
58148         * modules/uniconv/u32-conv-from-enc-tests
58149         (test_u32_conv_from_enc_LDADD): Likewise.
58150         * modules/uniconv/u32-conv-to-enc-tests
58151         (test_u32_conv_to_enc_LDADD): Likewise.
58152         * modules/uniconv/u32-strconv-from-enc-tests
58153         (test_u32_strconv_from_enc_LDADD): Likewise.
58154         * modules/uniconv/u32-strconv-to-enc-tests
58155         (test_u32_strconv_to_enc_LDADD): Likewise.
58156         * modules/uniconv/u8-conv-from-enc-tests
58157         (test_u8_conv_from_enc_LDADD): Likewise.
58158         * modules/uniconv/u8-conv-to-enc-tests
58159         (test_u8_conv_to_enc_LDADD): Likewise.
58160         * modules/uniconv/u8-strconv-from-enc-tests
58161         (test_u8_strconv_from_enc_LDADD): Likewise.
58162         * modules/uniconv/u8-strconv-to-enc-tests
58163         (test_u8_strconv_to_enc_LDADD): Likewise.
58164
58165 2007-10-22  Bruno Haible  <bruno@clisp.org>
58166
58167         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
58168         size.
58169
58170 2007-10-22  Eric Blake  <ebb9@byu.net>
58171
58172         Tweak x*printf documentation.
58173         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
58174         variable name and comments.
58175         Suggested by Bruno Haible.
58176
58177 2007-10-22  Bruno Haible  <bruno@clisp.org>
58178
58179         * lib/acl.c (copy_acl): Fix file name in comment.
58180
58181 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58182
58183         Fix Tru64 problem with stdbool.h.
58184         * lib/stdbool.in.h (false, true):
58185         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
58186         Don't declare as an enum in this situation; it runs afoul of Tru64.
58187         Problem reported by Steven M. Schweda in
58188         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
58189
58190 2007-10-22  Eric Blake  <ebb9@byu.net>
58191
58192         Also wrap vf?printf.
58193         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
58194         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
58195         (xvprintf, xvfprintf): New functions.
58196
58197 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58198
58199         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
58200         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
58201
58202         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
58203         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
58204
58205 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58206
58207         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
58208         by Bruno Haible.
58209
58210 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58211
58212         * lib/getloadavg.c
58213         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
58214         Undef `sys' after including sys/table.h, for Tru64 4.0D.
58215
58216         * tests/test-i-ring.c: Work for C89.
58217
58218 2007-10-22  Bruno Haible  <bruno@clisp.org>
58219
58220         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
58221         -1u, in preprocessor expression, so that we don't test for the bug
58222         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
58223         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
58224
58225 2007-10-22  Eric Blake  <ebb9@byu.net>
58226
58227         * tests/test-yesno.sh: Silence stderr during test.
58228
58229 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58230
58231         * modules/crypto/gc-camellia: New file.
58232
58233         * m4/gc-camellia.m4: New file.
58234
58235         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
58236
58237         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
58238
58239 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58240
58241         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
58242         --help to stdout.  Reported by sms@antinode.org (Steven
58243         M. Schweda).
58244
58245 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58246
58247         * users.txt: Fix link to libksba.
58248
58249 2007-10-21  Ben Pfaff  <blp@gnu.org>
58250
58251         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
58252         round.c roundf implementation that depends on floorf and ceilf to
58253         be tested unconditionally.
58254
58255 2007-10-21  Ben Pfaff  <blp@gnu.org>
58256
58257         * m4/check-libm-func.m4: Removed.
58258         * m4/check-math-lib.m4: New file.
58259         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
58260         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
58261         definition and lack of AC_LIBOBJ([roundf]).
58262         * m4/roundl.m4: Ditto, and similarly for roundl.
58263         * modules/round: Reference new m4 file.
58264         * modules/roundf: Ditto.
58265         * modules/roundl: Ditto.
58266         * tests/test-round2.c (main): Use ROUND instead of round.
58267         Bug report from Bruno Haible.
58268
58269 2007-10-21  Bruno Haible  <bruno@clisp.org>
58270
58271         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
58272         context.
58273
58274 2007-10-21  Bruno Haible  <bruno@clisp.org>
58275
58276         * tests/test-wcwidth.c (main): Allow negative result for some control
58277         characters.
58278
58279         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
58280         Needed on OSF/1 5.1.
58281
58282 2007-10-21  Bruno Haible  <bruno@clisp.org>
58283
58284         * tests/test-floorf1.c: Include isnanf.h.
58285         (main): Use isnanf() instead of isnan().
58286         * tests/test-ceilf1.c: Include isnanf.h.
58287         (main): Use isnanf() instead of isnan().
58288         * tests/test-truncf1.c: Include isnanf.h.
58289         (main): Use isnanf() instead of isnan().
58290         * tests/test-roundf1.c: Include isnanf.h.
58291         (main): Use isnanf() instead of isnan().
58292
58293 2007-10-21  Eric Blake  <ebb9@byu.net>
58294
58295         * users.txt: Update URL for m4.
58296
58297 2007-10-21  Bruno Haible  <bruno@clisp.org>
58298
58299         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
58300
58301 2007-10-21  Bruno Haible  <bruno@clisp.org>
58302
58303         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
58304         Git's management files if the CVS files are not present.
58305
58306 2007-10-20  Bruno Haible  <bruno@clisp.org>
58307
58308         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
58309         gcc-3.4.x.
58310
58311 2007-10-20  Ben Pfaff  <blp@gnu.org>
58312
58313         * lib/math.in.h: Declare round, roundf, roundl if we are providing
58314         implementations.
58315         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
58316         * lib/round.c: New file.
58317         * lib/roundf.c: New file.
58318         * lib/roundl.c: New file.
58319         * m4/round.m4: New file.
58320         * m4/roundf.m4: New file.
58321         * m4/roundl.m4: New file.
58322         * m4/check-libm-func-m4: New file.
58323         * modules/math: Replace round, roundf, roundl related @VARS@ in
58324         math.in.h.
58325         * modules/round: New file.
58326         * modules/round-tests: New file.
58327         * modules/roundf: New file.
58328         * modules/roundf-tests: New file.
58329         * modules/roundl: New file.
58330         * modules/roundl-tests: New file.
58331         * tests/test-round1.c: New file.
58332         * tests/test-round2.c: New file.
58333         * tests/test-roundf1.c: New file.
58334         * tests/test-roundf2.c: New file.
58335         * tests/test-roundl.c: New file.
58336         * doc/functions/round.texi: Mention round module.
58337         * doc/functions/roundf.texi: Mention roundf module.
58338         * doc/functions/roundl.texi: Mention roundl module.
58339         * MODULES.html.sh: Mention new modules.
58340         Thanks to Bruno Haible for suggestions.
58341
58342 2007-10-20  Jim Meyering  <meyering@redhat.com>
58343
58344         * lib/xprintf.c: Include <config.h> unconditionally.
58345
58346         Change xprintf's license to GPL.
58347         * modules/xprintf (License): s/LGPL/GPL/, since this module
58348         depends on modules (exit and exitfail) which are GPL.
58349         Suggestion from Bruno Haible.
58350
58351         xprintf fixes.
58352         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
58353         Use a clearer diagnostic.
58354         Patch from Bruno Haible.
58355
58356 2007-10-20  Bruno Haible  <bruno@clisp.org>
58357
58358         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
58359         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
58360         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58361
58362 2007-10-20  Bruno Haible  <bruno@clisp.org>
58363
58364         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
58365         precision in the comparison result > x - 1 or similar.
58366         * tests/test-ceilf2.c (correct_result_p): Likewise.
58367         * tests/test-truncf2.c (correct_result_p): Likewise.
58368         * tests/test-trunc2.c (correct_result_p): Likewise.
58369         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58370
58371 2007-10-20  Bruno Haible  <bruno@clisp.org>
58372
58373         * modules/ceil: New file.
58374         * m4/ceil.m4: New file.
58375         * doc/functions/ceil.texi: Mention the 'ceil' module.
58376
58377 2007-10-20  Bruno Haible  <bruno@clisp.org>
58378
58379         * modules/floor: New file.
58380         * m4/floor.m4: New file.
58381         * doc/functions/floor.texi: Mention the 'floor' module.
58382
58383 2007-10-20  Bruno Haible  <bruno@clisp.org>
58384
58385         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
58386         of %a.
58387         * modules/floorf-tests (Depends-on): Likewise.
58388         * modules/truncf-tests (Depends-on): Likewise.
58389         * modules/trunc-tests (Depends-on): Likewise.
58390         Reported by Ben Pfaff.
58391
58392 2007-10-19  Jim Meyering  <meyering@redhat.com>
58393
58394         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
58395         Don't bother testing specific errno values.  Just test ferror.
58396
58397         New module: xprintf
58398         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
58399
58400 2007-10-19  Bruno Haible  <bruno@clisp.org>
58401
58402         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
58403         syntax.
58404         * modules/javaexec (Makefile.am): Likewise.
58405         * modules/relocatable-prog (Makefile.am): Likewise.
58406         Suggested by Jim Meyering.
58407
58408 2007-10-18  Bruno Haible  <bruno@clisp.org>
58409
58410         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
58411         Reported by Jim Meyering.
58412
58413 2007-10-18  Eric Blake  <ebb9@byu.net>
58414
58415         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
58416
58417 2007-10-18  Bruno Haible  <bruno@clisp.org>
58418
58419         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
58420         the format string into writable memory. Needed in Fortify conditions.
58421
58422 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
58423             Bruno Haible  <bruno@clisp.org>
58424
58425         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
58426         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
58427         * modules/trim (Depends-on): Add mbchar.
58428         (configure.ac): Add gl_FUNC_MBRTOWC.
58429         (Makefile.am): Augment lib_SOURCES.
58430
58431 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
58432
58433         Modify glob.c to use fstatat and dirfd, to simplify it.
58434         Suggested by Eric Blake.
58435         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
58436         Don't include <stdbool.h>; not used.
58437         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
58438         (link_exists_p): Simplify implementation, since we can now assume
58439         dirfd and fstatat.
58440         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
58441
58442 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58443
58444         * gnulib-tool (func_get_dependencies): Fix sed script to
58445         match only tests.
58446
58447 2007-10-17  Bruno Haible  <bruno@clisp.org>
58448
58449         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
58450         allow locale names without encoding suffix.
58451         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
58452         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58453
58454 2007-10-16  Bruno Haible  <bruno@clisp.org>
58455
58456         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
58457         * lib/getgroups.c (getgroups): Likewise.
58458         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
58459
58460 2007-10-16  Bruno Haible  <bruno@clisp.org>
58461
58462         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
58463         * modules/malloc-posix (License): Likewise.
58464         * modules/realloc-posix (License): Likewise.
58465         * modules/calloc-posix (License): Likewise.
58466         * modules/intprops (License): Change from GPL to LGPL, with
58467         Paul Eggert's approval.
58468
58469 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
58470
58471         Merge glibc changes into lib/glob.c.
58472
58473         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
58474         2007-10-15 04:59:03 UTC.  Here are the changes:
58475
58476         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
58477
58478         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
58479
58480         * lib/glob.c: Add some branch prediction throughout.
58481
58482         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
58483
58484         [BZ #5103]
58485         * lib/glob.c (glob): Recognize patterns starting \/.
58486
58487         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
58488
58489         [BZ #3996]
58490         * lib/glob.c (attribute_hidden): Define if not defined.
58491         (glob): Unescape dirname, filename or username when needed and not
58492         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
58493         is NULL.  Handle unescaped [ in pattern without closing ].
58494         Don't pass GLOB_CHECK down to recursive glob for directories.
58495         (__glob_pattern_type): New function.
58496         (__glob_pattern_p): Implement using __glob_pattern_type.
58497         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
58498         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
58499         Remove unreachable code.
58500
58501         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
58502
58503         * lib/glob.c (glob_in_dir): Add some comments and asserts to
58504         explain why there are no leaks.
58505
58506         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
58507
58508         [BZ #3253]
58509         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
58510         time, rather allocate increasingly bigger arrays of pointers, if
58511         possible with alloca, if too large with malloc.
58512
58513 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
58514
58515         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
58516         Problem reported by H.Merijn Brand in
58517         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
58518         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
58519         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
58520
58521 2007-10-15  Bruno Haible  <bruno@clisp.org>
58522
58523         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
58524         with explicit rpl_ prefix.
58525         * lib/fopen.c (fopen): Likewise.
58526         * lib/freopen.c (freopen): Likewise.
58527         * lib/iconv.c (iconv): Likewise.
58528         * lib/iconv_close.c (iconv_close): Likewise.
58529
58530 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58531
58532         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
58533
58534 2007-10-15  Bruno Haible  <bruno@clisp.org>
58535
58536         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
58537         <stddef.h> instead of <stdlib.h> since we only need NULL.
58538         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58539
58540 2007-10-15  Bruno Haible  <bruno@clisp.org>
58541
58542         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
58543         Replace paragraph talking about LIBOBJS.
58544         Reported by Colin Watson <cjwatson@debian.org>.
58545
58546 2007-10-15  Bruno Haible  <bruno@clisp.org>
58547
58548         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
58549         <stdlib.h> before using NULL.
58550
58551 2007-10-15  Simon Josefsson  <simon@josefsson.org>
58552
58553         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
58554         Reported by Albert Chin <china@thewrittenword.com>.
58555
58556 2007-10-14  Bruno Haible  <bruno@clisp.org>
58557
58558         * modules/iconv_open-utf-tests: New file.
58559         * tests/test-iconv-utf.c: New file.
58560
58561         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
58562         * modules/iconv_open-utf: New file.
58563         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
58564         (iconv, iconv_close): New declarations.
58565         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
58566         be defined.
58567         (iconv_open): Add special handling of conversion between UTF-8 and
58568         UTF-{16,32}{BE,LE}.
58569         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
58570         * lib/iconv_close.c: New file.
58571         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
58572         gl_FUNC_ICONV_OPEN.
58573         (gl_FUNC_ICONV_OPEN): Use it.
58574         (gl_FUNC_ICONV_OPEN_UTF): New macro.
58575         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
58576         and REPLACE_ICONV_UTF.
58577         * modules/iconv_open (Depends-on): Add c-strcase.
58578         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
58579         ICONV_CONST.
58580         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
58581
58582 2007-10-13  Albert Chin  <china@thewrittenword.com>
58583             Bruno Haible  <bruno@clisp.org>
58584
58585         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
58586         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
58587
58588 2007-10-13  Bruno Haible  <bruno@clisp.org>
58589
58590         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
58591         defined, use the ISO C99 inline semantics.
58592         * lib/argp.h (ARGP_EI): Likewise.
58593
58594 2007-10-13  Bruno Haible  <bruno@clisp.org>
58595
58596         Handle 'inline' change in gcc 4.3.0.
58597         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
58598         argp_fmtstream_write, argp_fmtstream_set_lmargin,
58599         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
58600         argp_fmtstream_point): Disable 'extern' declaration if the function
58601         definition is going to be provided inline.
58602         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
58603         semantics, not the ISO C99 inline semantics.
58604         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
58605         'extern' declaration if the function definition is going to be provided
58606         inline.
58607         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
58608         the GNU C inline semantics, not the ISO C99 inline semantics. With
58609         GCC 4.2, avoid a warning.
58610
58611 2007-10-13  Bruno Haible  <bruno@clisp.org>
58612
58613         * lib/freading.h (freading): Enable the use of __freading for
58614         glibc >= 2.7.
58615         * lib/freading.c (freading): Likewise.
58616
58617 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
58618
58619         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
58620         "warning: C99 inline functions are not supported; using GNU89".
58621
58622 2007-10-12  Bruno Haible  <bruno@clisp.org>
58623
58624         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
58625         of 2.
58626         * tests/test-ceilf2.c: New file.
58627         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
58628
58629         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
58630         * modules/ceilf-tests: Update.
58631
58632 2007-10-12  Bruno Haible  <bruno@clisp.org>
58633
58634         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
58635         of 2.
58636         * tests/test-floorf2.c: New file.
58637         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
58638
58639         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
58640         * modules/floorf-tests: Update.
58641
58642 2007-10-12  Bruno Haible  <bruno@clisp.org>
58643
58644         * tests/test-trunc2.c: New file.
58645         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
58646
58647         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
58648         * modules/trunc-tests: Update.
58649
58650 2007-10-12  Bruno Haible  <bruno@clisp.org>
58651
58652         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
58653         of 2.
58654         * tests/test-truncf2.c: New file.
58655         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
58656
58657         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
58658         * modules/truncf-tests: Update.
58659
58660 2007-10-11  Eric Blake  <ebb9@byu.net>
58661
58662         Don't claim strerror is broken on Interix.
58663         * doc/functions/strerror.texi (strerror): Known broken systems are
58664         now Solaris 8, and not Interix.
58665         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
58666         Interix on cross-compile.
58667         Reported by Martin Koeppe in
58668         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
58669
58670 2007-10-11  Bruno Haible  <bruno@clisp.org>
58671
58672         * modules/i-ring-tests: New file.
58673         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
58674         instead of assert.
58675
58676 2007-10-11  Bruno Haible  <bruno@clisp.org>
58677
58678         * modules/filenamecat-tests: New file.
58679         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
58680         * lib/filenamecat.c: Remove test code.
58681
58682 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
58683
58684         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
58685
58686         * lib/strerror.c: Include <string.h> always, to test interface,
58687         and to remove the need for the dummy.
58688         Include intprops.h to compute width instead of doing it ourselves
58689         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
58690         (strerror): Define it to return NULL if there's no system strerror.
58691         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
58692         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
58693         ancient pre-strerror Unix systems well any more.  Saying "unknown
58694         system error" is enough.
58695         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
58696         simpler strerror.c implementation.
58697         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
58698         Simplify the tests to reflect the simpler strerror implementation.
58699         * modules/strerror (Depends-on): Add intprops.
58700
58701 2007-10-09  Eric Blake  <ebb9@byu.net>
58702
58703         Silence test-fpending.
58704         * modules/fpending-tests (Files): Add wrapper script.
58705         * tests/test-fpending.sh: New file.
58706
58707 2007-10-09  Bruno Haible  <bruno@clisp.org>
58708
58709         * MODULES.html.sh (func_module): Don't create a hyperlink for
58710         function names like 'printf_frexp'.
58711         (Misc): Add crc, memxor.
58712         (Characteristics of floating types): New section.
58713         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
58714         isnanf-nolibm, signbit, trunc, truncf, truncl.
58715         (Enhancements for ISO C 99 functions): New subsection Input/output.
58716         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
58717         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
58718         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
58719         (Compatibility checks for POSIX:2001 functions): Add clock-time.
58720         (Enhancements for POSIX:2001 functions): Add chdir-long.
58721         (File system functions): Add areadlink, chdir-safer, read-file.
58722         Remove cycle-check.
58723         (File system as inode set): New section.
58724         (Date and time): Add gethrxtime.
58725         (Multithreading): Add openmp.
58726         (Internationalization functions): Add localename.
58727         (Unicode string functions): Add unistr/u*-mbsnlen.
58728         (Support for maintaining and releasing projects): Add git-version-gen.
58729         (Lone files): Remove directories.
58730
58731 2007-10-08  Ben Pfaff  <blp@gnu.org>
58732
58733         * lib/xmalloca.h: Fix typo in comment.
58734
58735 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
58736
58737         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
58738         when avoiding problems with integer overflow.  Use a portable test
58739         instead.
58740
58741 2007-10-08  Simon Josefsson  <simon@josefsson.org>
58742
58743         * modules/dummy (License): Change to LGPLv2+.
58744         * modules/float (License): Likewise
58745         * modules/realloc (License): Likewise
58746         * modules/stdlib (License): Likewise
58747
58748 2007-10-07  Bruno Haible  <bruno@clisp.org>
58749
58750         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
58751         * floor.c (TWO_MANT_DIG): Likewise.
58752         * ceil.c (TWO_MANT_DIG): Likewise.
58753         Reported by Ben Pfaff.
58754
58755 2007-10-07  Bruno Haible  <bruno@clisp.org>
58756
58757         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
58758         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
58759         * lib/frexp.c (FUNC): Likewise.
58760         * lib/printf-frexp.h (printf_frexp): Likewise.
58761         * lib/printf-frexpl.h (printf_frexpl): Likewise.
58762         * lib/printf-frexp.c (FUNC): Likewise.
58763         Suggested by Jim Meyering.
58764
58765 2007-10-07  Jim Meyering  <meyering@redhat.com>
58766
58767         Make xnanosleep's integer overflow test more robust.
58768         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
58769         so that gcc-4.3.0 doesn't optimize away this test for overflow.
58770
58771 2007-10-07  Bruno Haible  <bruno@clisp.org>
58772
58773         * NEWS: Mention the license change.
58774
58775         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
58776         abbreviations in the modules files.
58777
58778         Change copyright notice from GPLv2+ to GPLv3+.
58779         * README: Change copyright notice.
58780         * MODULES.html.sh: Likewise.
58781         * build-aux/bootstrap.conf: Likewise.
58782         * build-aux/config.libpath: Likewise.
58783         * build-aux/csharpcomp.sh.in: Likewise.
58784         * build-aux/csharpexec.sh.in: Likewise.
58785         * build-aux/install-reloc: Likewise.
58786         * build-aux/javacomp.sh.in: Likewise.
58787         * build-aux/javaexec.sh.in: Likewise.
58788         * build-aux/ldd.sh.in: Likewise.
58789         * build-aux/reloc-ldflags: Likewise.
58790         * build-aux/relocatable.sh.in: Likewise.
58791         * build-aux/x-to-1.in: Likewise.
58792         * check-module: Likewise.
58793         * config/srclistvars.sh: Likewise.
58794         * gnulib-tool: Likewise.
58795         * lib/acl-internal.h: Likewise.
58796         * lib/acl.c: Likewise.
58797         * lib/acl.h: Likewise.
58798         * lib/acl_entries.c: Likewise.
58799         * lib/areadlink-with-size.c: Likewise.
58800         * lib/areadlink.c: Likewise.
58801         * lib/areadlink.h: Likewise.
58802         * lib/argmatch.c: Likewise.
58803         * lib/argmatch.h: Likewise.
58804         * lib/argp-ba.c: Likewise.
58805         * lib/argp-eexst.c: Likewise.
58806         * lib/argp-fmtstream.c: Likewise.
58807         * lib/argp-fmtstream.h: Likewise.
58808         * lib/argp-fs-xinl.c: Likewise.
58809         * lib/argp-help.c: Likewise.
58810         * lib/argp-namefrob.h: Likewise.
58811         * lib/argp-parse.c: Likewise.
58812         * lib/argp-pin.c: Likewise.
58813         * lib/argp-pv.c: Likewise.
58814         * lib/argp-pvh.c: Likewise.
58815         * lib/argp-xinl.c: Likewise.
58816         * lib/argp.h: Likewise.
58817         * lib/at-func.c: Likewise.
58818         * lib/atanl.c: Likewise.
58819         * lib/backupfile.c: Likewise.
58820         * lib/backupfile.h: Likewise.
58821         * lib/basename.c: Likewise.
58822         * lib/binary-io.h: Likewise.
58823         * lib/byteswap.in.h: Likewise.
58824         * lib/c-stack.c: Likewise.
58825         * lib/c-stack.h: Likewise.
58826         * lib/c-strcasestr.c: Likewise.
58827         * lib/c-strcasestr.h: Likewise.
58828         * lib/c-strstr.c: Likewise.
58829         * lib/c-strstr.h: Likewise.
58830         * lib/c-strtod.c: Likewise.
58831         * lib/calloc.c: Likewise.
58832         * lib/canon-host.c: Likewise.
58833         * lib/canon-host.h: Likewise.
58834         * lib/canonicalize-lgpl.c: Likewise.
58835         * lib/canonicalize.c: Likewise.
58836         * lib/canonicalize.h: Likewise.
58837         * lib/ceil.c: Likewise.
58838         * lib/ceilf.c: Likewise.
58839         * lib/ceill.c: Likewise.
58840         * lib/chdir-long.c: Likewise.
58841         * lib/chdir-long.h: Likewise.
58842         * lib/chdir-safer.c: Likewise.
58843         * lib/chdir-safer.h: Likewise.
58844         * lib/chown.c: Likewise.
58845         * lib/classpath.c: Likewise.
58846         * lib/classpath.h: Likewise.
58847         * lib/clean-temp.c: Likewise.
58848         * lib/clean-temp.h: Likewise.
58849         * lib/cloexec.c: Likewise.
58850         * lib/close-stream.c: Likewise.
58851         * lib/closein.c: Likewise.
58852         * lib/closein.h: Likewise.
58853         * lib/closeout.c: Likewise.
58854         * lib/closeout.h: Likewise.
58855         * lib/concat-filename.c: Likewise.
58856         * lib/copy-file.c: Likewise.
58857         * lib/copy-file.h: Likewise.
58858         * lib/count-one-bits.h: Likewise.
58859         * lib/crc.c: Likewise.
58860         * lib/crc.h: Likewise.
58861         * lib/creat-safer.c: Likewise.
58862         * lib/csharpcomp.c: Likewise.
58863         * lib/csharpcomp.h: Likewise.
58864         * lib/csharpexec.c: Likewise.
58865         * lib/csharpexec.h: Likewise.
58866         * lib/cycle-check.c: Likewise.
58867         * lib/cycle-check.h: Likewise.
58868         * lib/diacrit.c: Likewise.
58869         * lib/diacrit.h: Likewise.
58870         * lib/diffseq.h: Likewise.
58871         * lib/dirchownmod.c: Likewise.
58872         * lib/dirent.in.h: Likewise.
58873         * lib/dirfd.c: Likewise.
58874         * lib/dirfd.h: Likewise.
58875         * lib/dirname.c: Likewise.
58876         * lib/dirname.h: Likewise.
58877         * lib/dummy.c: Likewise.
58878         * lib/dup-safer.c: Likewise.
58879         * lib/dup2.c: Likewise.
58880         * lib/eealloc.h: Likewise.
58881         * lib/error.c: Likewise.
58882         * lib/error.h: Likewise.
58883         * lib/euidaccess.c: Likewise.
58884         * lib/exclude.c: Likewise.
58885         * lib/exclude.h: Likewise.
58886         * lib/execute.c: Likewise.
58887         * lib/execute.h: Likewise.
58888         * lib/exitfail.c: Likewise.
58889         * lib/exitfail.h: Likewise.
58890         * lib/expl.c: Likewise.
58891         * lib/fatal-signal.c: Likewise.
58892         * lib/fatal-signal.h: Likewise.
58893         * lib/fbufmode.c: Likewise.
58894         * lib/fbufmode.h: Likewise.
58895         * lib/fchdir.c: Likewise.
58896         * lib/fchmodat.c: Likewise.
58897         * lib/fchownat.c: Likewise.
58898         * lib/fcntl--.h: Likewise.
58899         * lib/fcntl-safer.h: Likewise.
58900         * lib/fcntl.in.h: Likewise.
58901         * lib/fd-safer.c: Likewise.
58902         * lib/fflush.c: Likewise.
58903         * lib/file-has-acl.c: Likewise.
58904         * lib/file-set.c: Likewise.
58905         * lib/file-type.c: Likewise.
58906         * lib/file-type.h: Likewise.
58907         * lib/fileblocks.c: Likewise.
58908         * lib/filemode.c: Likewise.
58909         * lib/filemode.h: Likewise.
58910         * lib/filename.h: Likewise.
58911         * lib/filenamecat.c: Likewise.
58912         * lib/filenamecat.h: Likewise.
58913         * lib/findprog.c: Likewise.
58914         * lib/findprog.h: Likewise.
58915         * lib/float.in.h: Likewise.
58916         * lib/floor.c: Likewise.
58917         * lib/floorf.c: Likewise.
58918         * lib/floorl.c: Likewise.
58919         * lib/fopen-safer.c: Likewise.
58920         * lib/fopen.c: Likewise.
58921         * lib/fpending.c: Likewise.
58922         * lib/fpending.h: Likewise.
58923         * lib/fprintf.c: Likewise.
58924         * lib/fprintftime.h: Likewise.
58925         * lib/fpucw.h: Likewise.
58926         * lib/fpurge.c: Likewise.
58927         * lib/fpurge.h: Likewise.
58928         * lib/freadable.c: Likewise.
58929         * lib/freadable.h: Likewise.
58930         * lib/freadahead.c: Likewise.
58931         * lib/freadahead.h: Likewise.
58932         * lib/freading.c: Likewise.
58933         * lib/freading.h: Likewise.
58934         * lib/free.c: Likewise.
58935         * lib/freopen.c: Likewise.
58936         * lib/frexp.c: Likewise.
58937         * lib/frexpl.c: Likewise.
58938         * lib/fseek.c: Likewise.
58939         * lib/fseterr.c: Likewise.
58940         * lib/fseterr.h: Likewise.
58941         * lib/fstatat.c: Likewise.
58942         * lib/fstrcmp.c: Likewise.
58943         * lib/fstrcmp.h: Likewise.
58944         * lib/fsusage.c: Likewise.
58945         * lib/fsusage.h: Likewise.
58946         * lib/ftell.c: Likewise.
58947         * lib/ftello.c: Likewise.
58948         * lib/fts-cycle.c: Likewise.
58949         * lib/fts.c: Likewise.
58950         * lib/fts_.h: Likewise.
58951         * lib/full-read.c: Likewise.
58952         * lib/full-read.h: Likewise.
58953         * lib/full-write.c: Likewise.
58954         * lib/full-write.h: Likewise.
58955         * lib/fwritable.c: Likewise.
58956         * lib/fwritable.h: Likewise.
58957         * lib/fwriteerror.c: Likewise.
58958         * lib/fwriteerror.h: Likewise.
58959         * lib/fwriting.c: Likewise.
58960         * lib/fwriting.h: Likewise.
58961         * lib/gcd.c: Likewise.
58962         * lib/gcd.h: Likewise.
58963         * lib/getcwd.c: Likewise.
58964         * lib/getdate.h: Likewise.
58965         * lib/getdate.y: Likewise.
58966         * lib/getdomainname.c: Likewise.
58967         * lib/getdomainname.h: Likewise.
58968         * lib/getgroups.c: Likewise.
58969         * lib/gethostname.c: Likewise.
58970         * lib/gethrxtime.c: Likewise.
58971         * lib/gethrxtime.h: Likewise.
58972         * lib/getloadavg.c: Likewise.
58973         * lib/getndelim2.c: Likewise.
58974         * lib/getndelim2.h: Likewise.
58975         * lib/getnline.c: Likewise.
58976         * lib/getnline.h: Likewise.
58977         * lib/getopt.c: Likewise.
58978         * lib/getopt.in.h: Likewise.
58979         * lib/getopt1.c: Likewise.
58980         * lib/getopt_int.h: Likewise.
58981         * lib/getpagesize.h: Likewise.
58982         * lib/getsubopt.c: Likewise.
58983         * lib/gettime.c: Likewise.
58984         * lib/getugroups.c: Likewise.
58985         * lib/getugroups.h: Likewise.
58986         * lib/getusershell.c: Likewise.
58987         * lib/gl_anyavltree_list1.h: Likewise.
58988         * lib/gl_anyavltree_list2.h: Likewise.
58989         * lib/gl_anyhash_list1.h: Likewise.
58990         * lib/gl_anyhash_list2.h: Likewise.
58991         * lib/gl_anylinked_list1.h: Likewise.
58992         * lib/gl_anylinked_list2.h: Likewise.
58993         * lib/gl_anyrbtree_list1.h: Likewise.
58994         * lib/gl_anyrbtree_list2.h: Likewise.
58995         * lib/gl_anytree_list1.h: Likewise.
58996         * lib/gl_anytree_list2.h: Likewise.
58997         * lib/gl_anytree_oset.h: Likewise.
58998         * lib/gl_anytreehash_list1.h: Likewise.
58999         * lib/gl_anytreehash_list2.h: Likewise.
59000         * lib/gl_array_list.c: Likewise.
59001         * lib/gl_array_list.h: Likewise.
59002         * lib/gl_array_oset.c: Likewise.
59003         * lib/gl_array_oset.h: Likewise.
59004         * lib/gl_avltree_list.c: Likewise.
59005         * lib/gl_avltree_list.h: Likewise.
59006         * lib/gl_avltree_oset.c: Likewise.
59007         * lib/gl_avltree_oset.h: Likewise.
59008         * lib/gl_avltreehash_list.c: Likewise.
59009         * lib/gl_avltreehash_list.h: Likewise.
59010         * lib/gl_carray_list.c: Likewise.
59011         * lib/gl_carray_list.h: Likewise.
59012         * lib/gl_linked_list.c: Likewise.
59013         * lib/gl_linked_list.h: Likewise.
59014         * lib/gl_linkedhash_list.c: Likewise.
59015         * lib/gl_linkedhash_list.h: Likewise.
59016         * lib/gl_list.c: Likewise.
59017         * lib/gl_list.h: Likewise.
59018         * lib/gl_oset.c: Likewise.
59019         * lib/gl_oset.h: Likewise.
59020         * lib/gl_rbtree_list.c: Likewise.
59021         * lib/gl_rbtree_list.h: Likewise.
59022         * lib/gl_rbtree_oset.c: Likewise.
59023         * lib/gl_rbtree_oset.h: Likewise.
59024         * lib/gl_rbtreehash_list.c: Likewise.
59025         * lib/gl_rbtreehash_list.h: Likewise.
59026         * lib/gl_sublist.c: Likewise.
59027         * lib/gl_sublist.h: Likewise.
59028         * lib/group-member.c: Likewise.
59029         * lib/group-member.h: Likewise.
59030         * lib/hard-locale.c: Likewise.
59031         * lib/hard-locale.h: Likewise.
59032         * lib/hash-pjw.c: Likewise.
59033         * lib/hash-pjw.h: Likewise.
59034         * lib/hash-triple.c: Likewise.
59035         * lib/hash.c: Likewise.
59036         * lib/hash.h: Likewise.
59037         * lib/human.c: Likewise.
59038         * lib/human.h: Likewise.
59039         * lib/i-ring.c: Likewise.
59040         * lib/i-ring.h: Likewise.
59041         * lib/idcache.c: Likewise.
59042         * lib/imaxabs.c: Likewise.
59043         * lib/imaxdiv.c: Likewise.
59044         * lib/inet_pton.c: Likewise.
59045         * lib/inet_pton.h: Likewise.
59046         * lib/intprops.h: Likewise.
59047         * lib/inttostr.c: Likewise.
59048         * lib/inttostr.h: Likewise.
59049         * lib/inttypes.in.h: Likewise.
59050         * lib/isapipe.c: Likewise.
59051         * lib/isdir.c: Likewise.
59052         * lib/isnan.c: Likewise.
59053         * lib/isnan.h: Likewise.
59054         * lib/isnanf.c: Likewise.
59055         * lib/isnanf.h: Likewise.
59056         * lib/isnanl-nolibm.h: Likewise.
59057         * lib/isnanl.c: Likewise.
59058         * lib/isnanl.h: Likewise.
59059         * lib/javacomp.c: Likewise.
59060         * lib/javacomp.h: Likewise.
59061         * lib/javaexec.c: Likewise.
59062         * lib/javaexec.h: Likewise.
59063         * lib/javaversion.c: Likewise.
59064         * lib/javaversion.h: Likewise.
59065         * lib/javaversion.java: Likewise.
59066         * lib/lbrkprop.h: Likewise.
59067         * lib/lchmod.h: Likewise.
59068         * lib/lchown.c: Likewise.
59069         * lib/ldexpl.c: Likewise.
59070         * lib/linebreak.c: Likewise.
59071         * lib/linebreak.h: Likewise.
59072         * lib/linebuffer.c: Likewise.
59073         * lib/linebuffer.h: Likewise.
59074         * lib/locale.in.h: Likewise.
59075         * lib/logl.c: Likewise.
59076         * lib/long-options.c: Likewise.
59077         * lib/long-options.h: Likewise.
59078         * lib/lstat.c: Likewise.
59079         * lib/lstat.h: Likewise.
59080         * lib/math.in.h: Likewise.
59081         * lib/mbchar.c: Likewise.
59082         * lib/mbchar.h: Likewise.
59083         * lib/mbfile.h: Likewise.
59084         * lib/mbiter.h: Likewise.
59085         * lib/mbscasecmp.c: Likewise.
59086         * lib/mbscasestr.c: Likewise.
59087         * lib/mbschr.c: Likewise.
59088         * lib/mbscspn.c: Likewise.
59089         * lib/mbslen.c: Likewise.
59090         * lib/mbsncasecmp.c: Likewise.
59091         * lib/mbsnlen.c: Likewise.
59092         * lib/mbspbrk.c: Likewise.
59093         * lib/mbspcasecmp.c: Likewise.
59094         * lib/mbsrchr.c: Likewise.
59095         * lib/mbssep.c: Likewise.
59096         * lib/mbsspn.c: Likewise.
59097         * lib/mbsstr.c: Likewise.
59098         * lib/mbstok_r.c: Likewise.
59099         * lib/mbswidth.c: Likewise.
59100         * lib/mbswidth.h: Likewise.
59101         * lib/mbuiter.h: Likewise.
59102         * lib/memcasecmp.c: Likewise.
59103         * lib/memcasecmp.h: Likewise.
59104         * lib/memchr.c: Likewise.
59105         * lib/memcmp.c: Likewise.
59106         * lib/memcoll.c: Likewise.
59107         * lib/memcoll.h: Likewise.
59108         * lib/memcpy.c: Likewise.
59109         * lib/memrchr.c: Likewise.
59110         * lib/mkancesdirs.c: Likewise.
59111         * lib/mkdir-p.c: Likewise.
59112         * lib/mkdir-p.h: Likewise.
59113         * lib/mkdir.c: Likewise.
59114         * lib/mkdirat.c: Likewise.
59115         * lib/mkdtemp.c: Likewise.
59116         * lib/mkstemp-safer.c: Likewise.
59117         * lib/mkstemp.c: Likewise.
59118         * lib/modechange.c: Likewise.
59119         * lib/modechange.h: Likewise.
59120         * lib/mountlist.c: Likewise.
59121         * lib/mountlist.h: Likewise.
59122         * lib/mpsort.c: Likewise.
59123         * lib/nanosleep.c: Likewise.
59124         * lib/obstack.c: Likewise.
59125         * lib/obstack.h: Likewise.
59126         * lib/open-safer.c: Likewise.
59127         * lib/open.c: Likewise.
59128         * lib/openat-die.c: Likewise.
59129         * lib/openat-priv.h: Likewise.
59130         * lib/openat-proc.c: Likewise.
59131         * lib/openat.c: Likewise.
59132         * lib/openat.h: Likewise.
59133         * lib/pagealign_alloc.c: Likewise.
59134         * lib/pagealign_alloc.h: Likewise.
59135         * lib/physmem.c: Likewise.
59136         * lib/physmem.h: Likewise.
59137         * lib/pipe-safer.c: Likewise.
59138         * lib/pipe.c: Likewise.
59139         * lib/pipe.h: Likewise.
59140         * lib/posixtm.c: Likewise.
59141         * lib/posixtm.h: Likewise.
59142         * lib/posixver.c: Likewise.
59143         * lib/printf-frexp.c: Likewise.
59144         * lib/printf-frexp.h: Likewise.
59145         * lib/printf-frexpl.c: Likewise.
59146         * lib/printf-frexpl.h: Likewise.
59147         * lib/printf.c: Likewise.
59148         * lib/progname.c: Likewise.
59149         * lib/progname.h: Likewise.
59150         * lib/progreloc.c: Likewise.
59151         * lib/putenv.c: Likewise.
59152         * lib/quote.c: Likewise.
59153         * lib/quote.h: Likewise.
59154         * lib/quotearg.c: Likewise.
59155         * lib/quotearg.h: Likewise.
59156         * lib/raise.c: Likewise.
59157         * lib/readline.c: Likewise.
59158         * lib/readline.h: Likewise.
59159         * lib/readlink.c: Likewise.
59160         * lib/readtokens.c: Likewise.
59161         * lib/readtokens.h: Likewise.
59162         * lib/readtokens0.c: Likewise.
59163         * lib/readtokens0.h: Likewise.
59164         * lib/readutmp.c: Likewise.
59165         * lib/readutmp.h: Likewise.
59166         * lib/realloc.c: Likewise.
59167         * lib/relocwrapper.c: Likewise.
59168         * lib/rename-dest-slash.c: Likewise.
59169         * lib/rename.c: Likewise.
59170         * lib/rmdir.c: Likewise.
59171         * lib/rpmatch.c: Likewise.
59172         * lib/safe-read.c: Likewise.
59173         * lib/safe-read.h: Likewise.
59174         * lib/safe-write.c: Likewise.
59175         * lib/safe-write.h: Likewise.
59176         * lib/same-inode.h: Likewise.
59177         * lib/same.c: Likewise.
59178         * lib/same.h: Likewise.
59179         * lib/save-cwd.c: Likewise.
59180         * lib/save-cwd.h: Likewise.
59181         * lib/savedir.c: Likewise.
59182         * lib/savedir.h: Likewise.
59183         * lib/savewd.c: Likewise.
59184         * lib/savewd.h: Likewise.
59185         * lib/search.in.h: Likewise.
59186         * lib/setenv.c: Likewise.
59187         * lib/setenv.h: Likewise.
59188         * lib/settime.c: Likewise.
59189         * lib/sh-quote.c: Likewise.
59190         * lib/sh-quote.h: Likewise.
59191         * lib/sig2str.c: Likewise.
59192         * lib/sig2str.h: Likewise.
59193         * lib/signal.in.h: Likewise.
59194         * lib/signbitd.c: Likewise.
59195         * lib/signbitf.c: Likewise.
59196         * lib/signbitl.c: Likewise.
59197         * lib/sigprocmask.c: Likewise.
59198         * lib/sincosl.c: Likewise.
59199         * lib/sleep.c: Likewise.
59200         * lib/sprintf.c: Likewise.
59201         * lib/sqrtl.c: Likewise.
59202         * lib/stat-time.h: Likewise.
59203         * lib/stdio--.h: Likewise.
59204         * lib/stdio-safer.h: Likewise.
59205         * lib/stdlib--.h: Likewise.
59206         * lib/stdlib-safer.h: Likewise.
59207         * lib/stdlib.in.h: Likewise.
59208         * lib/stpcpy.c: Likewise.
59209         * lib/stpncpy.c: Likewise.
59210         * lib/strchrnul.c: Likewise.
59211         * lib/strcspn.c: Likewise.
59212         * lib/strerror.c: Likewise.
59213         * lib/strftime.c: Likewise.
59214         * lib/strftime.h: Likewise.
59215         * lib/striconveh.c: Likewise.
59216         * lib/striconveh.h: Likewise.
59217         * lib/striconveha.c: Likewise.
59218         * lib/striconveha.h: Likewise.
59219         * lib/stripslash.c: Likewise.
59220         * lib/strnlen1.c: Likewise.
59221         * lib/strnlen1.h: Likewise.
59222         * lib/strtod.c: Likewise.
59223         * lib/strtoimax.c: Likewise.
59224         * lib/strtok_r.c: Likewise.
59225         * lib/strtol.c: Likewise.
59226         * lib/strtoll.c: Likewise.
59227         * lib/strtoul.c: Likewise.
59228         * lib/strtoull.c: Likewise.
59229         * lib/sysexits.in.h: Likewise.
59230         * lib/tempname.c: Likewise.
59231         * lib/tempname.h: Likewise.
59232         * lib/timespec.h: Likewise.
59233         * lib/tls.c: Likewise.
59234         * lib/tls.h: Likewise.
59235         * lib/tmpdir.c: Likewise.
59236         * lib/tmpdir.h: Likewise.
59237         * lib/tmpfile-safer.c: Likewise.
59238         * lib/tmpfile.c: Likewise.
59239         * lib/trigl.c: Likewise.
59240         * lib/trigl.h: Likewise.
59241         * lib/trim.c: Likewise.
59242         * lib/trim.h: Likewise.
59243         * lib/trunc.c: Likewise.
59244         * lib/truncf.c: Likewise.
59245         * lib/truncl.c: Likewise.
59246         * lib/tsearch.c: Likewise.
59247         * lib/unicodeio.c: Likewise.
59248         * lib/unicodeio.h: Likewise.
59249         * lib/unistd--.h: Likewise.
59250         * lib/unistd-safer.h: Likewise.
59251         * lib/unistdio/ulc-fprintf.c: Likewise.
59252         * lib/unistdio/ulc-vfprintf.c: Likewise.
59253         * lib/unlinkdir.c: Likewise.
59254         * lib/unlinkdir.h: Likewise.
59255         * lib/unlocked-io.h: Likewise.
59256         * lib/unsetenv.c: Likewise.
59257         * lib/userspec.c: Likewise.
59258         * lib/utime.c: Likewise.
59259         * lib/utimecmp.c: Likewise.
59260         * lib/utimecmp.h: Likewise.
59261         * lib/utimens.c: Likewise.
59262         * lib/verify.h: Likewise.
59263         * lib/verror.c: Likewise.
59264         * lib/verror.h: Likewise.
59265         * lib/version-etc-fsf.c: Likewise.
59266         * lib/version-etc.c: Likewise.
59267         * lib/version-etc.h: Likewise.
59268         * lib/vfprintf.c: Likewise.
59269         * lib/vprintf.c: Likewise.
59270         * lib/vsprintf.c: Likewise.
59271         * lib/w32spawn.h: Likewise.
59272         * lib/wait-process.c: Likewise.
59273         * lib/wait-process.h: Likewise.
59274         * lib/wcwidth.c: Likewise.
59275         * lib/write-any-file.c: Likewise.
59276         * lib/xalloc-die.c: Likewise.
59277         * lib/xalloc.h: Likewise.
59278         * lib/xasprintf.c: Likewise.
59279         * lib/xgetcwd.c: Likewise.
59280         * lib/xgetcwd.h: Likewise.
59281         * lib/xgetdomainname.c: Likewise.
59282         * lib/xgetdomainname.h: Likewise.
59283         * lib/xgethostname.c: Likewise.
59284         * lib/xmalloc.c: Likewise.
59285         * lib/xmalloca.c: Likewise.
59286         * lib/xmalloca.h: Likewise.
59287         * lib/xmemcoll.c: Likewise.
59288         * lib/xnanosleep.c: Likewise.
59289         * lib/xreadlink.c: Likewise.
59290         * lib/xreadlink.h: Likewise.
59291         * lib/xsetenv.c: Likewise.
59292         * lib/xsetenv.h: Likewise.
59293         * lib/xstriconv.c: Likewise.
59294         * lib/xstriconv.h: Likewise.
59295         * lib/xstrndup.c: Likewise.
59296         * lib/xstrndup.h: Likewise.
59297         * lib/xstrtod.c: Likewise.
59298         * lib/xstrtod.h: Likewise.
59299         * lib/xstrtol-error.c: Likewise.
59300         * lib/xstrtol.c: Likewise.
59301         * lib/xstrtol.h: Likewise.
59302         * lib/xtime.h: Likewise.
59303         * lib/xvasprintf.c: Likewise.
59304         * lib/xvasprintf.h: Likewise.
59305         * lib/yesno.c: Likewise.
59306         * lib/yesno.h: Likewise.
59307         * posix-modules: Likewise.
59308         * tests/test-alloca-opt.c: Likewise.
59309         * tests/test-arcfour.c: Likewise.
59310         * tests/test-arctwo.c: Likewise.
59311         * tests/test-argmatch.c: Likewise.
59312         * tests/test-argp-2.sh: Likewise.
59313         * tests/test-argp.c: Likewise.
59314         * tests/test-arpa_inet.c: Likewise.
59315         * tests/test-array_list.c: Likewise.
59316         * tests/test-array_oset.c: Likewise.
59317         * tests/test-atexit.c: Likewise.
59318         * tests/test-avltree_list.c: Likewise.
59319         * tests/test-avltree_oset.c: Likewise.
59320         * tests/test-avltreehash_list.c: Likewise.
59321         * tests/test-base64.c: Likewise.
59322         * tests/test-binary-io.c: Likewise.
59323         * tests/test-byteswap.c: Likewise.
59324         * tests/test-c-ctype.c: Likewise.
59325         * tests/test-c-strcasecmp.c: Likewise.
59326         * tests/test-c-strcasestr.c: Likewise.
59327         * tests/test-c-strncasecmp.c: Likewise.
59328         * tests/test-c-strstr.c: Likewise.
59329         * tests/test-canonicalize-lgpl.c: Likewise.
59330         * tests/test-canonicalize.c: Likewise.
59331         * tests/test-carray_list.c: Likewise.
59332         * tests/test-ceilf.c: Likewise.
59333         * tests/test-ceill.c: Likewise.
59334         * tests/test-count-one-bits.c: Likewise.
59335         * tests/test-crc.c: Likewise.
59336         * tests/test-dirname.c: Likewise.
59337         * tests/test-fbufmode.c: Likewise.
59338         * tests/test-fcntl.c: Likewise.
59339         * tests/test-fflush.c: Likewise.
59340         * tests/test-floorf.c: Likewise.
59341         * tests/test-floorl.c: Likewise.
59342         * tests/test-fopen.c: Likewise.
59343         * tests/test-fprintf-posix.c: Likewise.
59344         * tests/test-fprintf-posix.h: Likewise.
59345         * tests/test-fpurge.c: Likewise.
59346         * tests/test-freadable.c: Likewise.
59347         * tests/test-freadahead.c: Likewise.
59348         * tests/test-freading.c: Likewise.
59349         * tests/test-freopen.c: Likewise.
59350         * tests/test-frexp.c: Likewise.
59351         * tests/test-frexpl.c: Likewise.
59352         * tests/test-fseek.c: Likewise.
59353         * tests/test-fseeko.c: Likewise.
59354         * tests/test-fseterr.c: Likewise.
59355         * tests/test-fstrcmp.c: Likewise.
59356         * tests/test-ftell.c: Likewise.
59357         * tests/test-ftello.c: Likewise.
59358         * tests/test-fwritable.c: Likewise.
59359         * tests/test-fwriting.c: Likewise.
59360         * tests/test-getaddrinfo.c: Likewise.
59361         * tests/test-getpass.c: Likewise.
59362         * tests/test-gettimeofday.c: Likewise.
59363         * tests/test-hmac-md5.c: Likewise.
59364         * tests/test-hmac-sha1.c: Likewise.
59365         * tests/test-iconv.c: Likewise.
59366         * tests/test-iconvme.c: Likewise.
59367         * tests/test-inttypes.c: Likewise.
59368         * tests/test-isnan.c: Likewise.
59369         * tests/test-isnanf.c: Likewise.
59370         * tests/test-isnanl-nolibm.c: Likewise.
59371         * tests/test-isnanl.c: Likewise.
59372         * tests/test-isnanl.h: Likewise.
59373         * tests/test-ldexpl.c: Likewise.
59374         * tests/test-linked_list.c: Likewise.
59375         * tests/test-linkedhash_list.c: Likewise.
59376         * tests/test-locale.c: Likewise.
59377         * tests/test-localename.c: Likewise.
59378         * tests/test-lock.c: Likewise.
59379         * tests/test-lseek.c: Likewise.
59380         * tests/test-malloca.c: Likewise.
59381         * tests/test-math.c: Likewise.
59382         * tests/test-mbscasecmp.c: Likewise.
59383         * tests/test-mbscasestr1.c: Likewise.
59384         * tests/test-mbscasestr2.c: Likewise.
59385         * tests/test-mbscasestr3.c: Likewise.
59386         * tests/test-mbscasestr4.c: Likewise.
59387         * tests/test-mbschr.c: Likewise.
59388         * tests/test-mbscspn.c: Likewise.
59389         * tests/test-mbsncasecmp.c: Likewise.
59390         * tests/test-mbspbrk.c: Likewise.
59391         * tests/test-mbspcasecmp.c: Likewise.
59392         * tests/test-mbsrchr.c: Likewise.
59393         * tests/test-mbsspn.c: Likewise.
59394         * tests/test-mbsstr1.c: Likewise.
59395         * tests/test-mbsstr2.c: Likewise.
59396         * tests/test-mbsstr3.c: Likewise.
59397         * tests/test-md5.c: Likewise.
59398         * tests/test-memmem.c: Likewise.
59399         * tests/test-netinet_in.c: Likewise.
59400         * tests/test-open.c: Likewise.
59401         * tests/test-printf-frexp.c: Likewise.
59402         * tests/test-printf-frexpl.c: Likewise.
59403         * tests/test-printf-posix.c: Likewise.
59404         * tests/test-printf-posix.h: Likewise.
59405         * tests/test-rbtree_list.c: Likewise.
59406         * tests/test-rbtree_oset.c: Likewise.
59407         * tests/test-rbtreehash_list.c: Likewise.
59408         * tests/test-read-file.c: Likewise.
59409         * tests/test-rijndael.c: Likewise.
59410         * tests/test-search.c: Likewise.
59411         * tests/test-signbit.c: Likewise.
59412         * tests/test-sleep.c: Likewise.
59413         * tests/test-snprintf-posix.c: Likewise.
59414         * tests/test-snprintf-posix.h: Likewise.
59415         * tests/test-snprintf.c: Likewise.
59416         * tests/test-sprintf-posix.c: Likewise.
59417         * tests/test-sprintf-posix.h: Likewise.
59418         * tests/test-stat-time.c: Likewise.
59419         * tests/test-stdbool.c: Likewise.
59420         * tests/test-stdint.c: Likewise.
59421         * tests/test-stdio.c: Likewise.
59422         * tests/test-stdlib.c: Likewise.
59423         * tests/test-stpncpy.c: Likewise.
59424         * tests/test-strcasestr.c: Likewise.
59425         * tests/test-striconv.c: Likewise.
59426         * tests/test-striconveh.c: Likewise.
59427         * tests/test-striconveha.c: Likewise.
59428         * tests/test-string.c: Likewise.
59429         * tests/test-sys_select.c: Likewise.
59430         * tests/test-sys_socket.c: Likewise.
59431         * tests/test-sys_stat.c: Likewise.
59432         * tests/test-sys_time.c: Likewise.
59433         * tests/test-sysexits.c: Likewise.
59434         * tests/test-time.c: Likewise.
59435         * tests/test-tls.c: Likewise.
59436         * tests/test-trunc.c: Likewise.
59437         * tests/test-truncf.c: Likewise.
59438         * tests/test-truncl.c: Likewise.
59439         * tests/test-unistd.c: Likewise.
59440         * tests/test-vasnprintf-posix.c: Likewise.
59441         * tests/test-vasnprintf-posix2.c: Likewise.
59442         * tests/test-vasnprintf.c: Likewise.
59443         * tests/test-vasprintf-posix.c: Likewise.
59444         * tests/test-vasprintf.c: Likewise.
59445         * tests/test-verify.c: Likewise.
59446         * tests/test-vfprintf-posix.c: Likewise.
59447         * tests/test-vprintf-posix.c: Likewise.
59448         * tests/test-vsnprintf-posix.c: Likewise.
59449         * tests/test-vsnprintf.c: Likewise.
59450         * tests/test-vsprintf-posix.c: Likewise.
59451         * tests/test-wchar.c: Likewise.
59452         * tests/test-wctype.c: Likewise.
59453         * tests/test-wcwidth.c: Likewise.
59454         * tests/test-xstrtol.c: Likewise.
59455         * tests/test-xvasprintf.c: Likewise.
59456         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
59457         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
59458         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
59459         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
59460         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
59461         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
59462         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
59463         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
59464         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
59465         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
59466         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
59467         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
59468         * tests/uniname/test-uninames.c: Likewise.
59469         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
59470         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
59471         * tests/unistdio/test-u16-printf1.h: Likewise.
59472         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
59473         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
59474         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
59475         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
59476         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
59477         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
59478         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
59479         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
59480         * tests/unistdio/test-u32-printf1.h: Likewise.
59481         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
59482         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
59483         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
59484         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
59485         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
59486         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
59487         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
59488         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
59489         * tests/unistdio/test-u8-printf1.h: Likewise.
59490         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
59491         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
59492         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
59493         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
59494         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
59495         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
59496         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
59497         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
59498         * tests/unistdio/test-ulc-printf1.h: Likewise.
59499         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
59500         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
59501         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
59502         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
59503         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
59504         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
59505         * tests/uniwidth/test-u16-strwidth.c: Likewise.
59506         * tests/uniwidth/test-u16-width.c: Likewise.
59507         * tests/uniwidth/test-u32-strwidth.c: Likewise.
59508         * tests/uniwidth/test-u32-width.c: Likewise.
59509         * tests/uniwidth/test-u8-strwidth.c: Likewise.
59510         * tests/uniwidth/test-u8-width.c: Likewise.
59511         * tests/uniwidth/test-uc_width.c: Likewise.
59512         * config/srclist-update: Likewise.
59513         (fixlicense): Update to GPLv3+.
59514
59515         Change copyright notice from LGPLv2.1+ to LGPLv3+.
59516         * tests/test-tsearch.c: Change copyright notice.
59517
59518         Change copyright notice from LGPLv2.0+ to LGPLv3+.
59519         * lib/c-strcaseeq.h: Change copyright notice.
59520         * lib/streq.h: Likewise.
59521         * lib/uniconv.h: Likewise.
59522         * lib/uniconv/u-conv-from-enc.h: Likewise.
59523         * lib/uniconv/u-conv-to-enc.h: Likewise.
59524         * lib/uniconv/u-strconv-from-enc.h: Likewise.
59525         * lib/uniconv/u-strconv-to-enc.h: Likewise.
59526         * lib/uniconv/u16-conv-from-enc.c: Likewise.
59527         * lib/uniconv/u16-conv-to-enc.c: Likewise.
59528         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
59529         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
59530         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
59531         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
59532         * lib/uniconv/u32-conv-from-enc.c: Likewise.
59533         * lib/uniconv/u32-conv-to-enc.c: Likewise.
59534         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
59535         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
59536         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
59537         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
59538         * lib/uniconv/u8-conv-from-enc.c: Likewise.
59539         * lib/uniconv/u8-conv-to-enc.c: Likewise.
59540         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
59541         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
59542         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
59543         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
59544         * lib/uniname.h: Likewise.
59545         * lib/uniname/uniname.c: Likewise.
59546         * lib/unistdio.h: Likewise.
59547         * lib/unistdio/u-asnprintf.h: Likewise.
59548         * lib/unistdio/u-asprintf.h: Likewise.
59549         * lib/unistdio/u-printf-args.c: Likewise.
59550         * lib/unistdio/u-printf-args.h: Likewise.
59551         * lib/unistdio/u-printf-parse.h: Likewise.
59552         * lib/unistdio/u-snprintf.h: Likewise.
59553         * lib/unistdio/u-sprintf.h: Likewise.
59554         * lib/unistdio/u-vasprintf.h: Likewise.
59555         * lib/unistdio/u-vsnprintf.h: Likewise.
59556         * lib/unistdio/u-vsprintf.h: Likewise.
59557         * lib/unistdio/u16-asnprintf.c: Likewise.
59558         * lib/unistdio/u16-asprintf.c: Likewise.
59559         * lib/unistdio/u16-printf-parse.c: Likewise.
59560         * lib/unistdio/u16-snprintf.c: Likewise.
59561         * lib/unistdio/u16-sprintf.c: Likewise.
59562         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
59563         * lib/unistdio/u16-u16-asprintf.c: Likewise.
59564         * lib/unistdio/u16-u16-snprintf.c: Likewise.
59565         * lib/unistdio/u16-u16-sprintf.c: Likewise.
59566         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
59567         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
59568         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
59569         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
59570         * lib/unistdio/u16-vasnprintf.c: Likewise.
59571         * lib/unistdio/u16-vasprintf.c: Likewise.
59572         * lib/unistdio/u16-vsnprintf.c: Likewise.
59573         * lib/unistdio/u16-vsprintf.c: Likewise.
59574         * lib/unistdio/u32-asnprintf.c: Likewise.
59575         * lib/unistdio/u32-asprintf.c: Likewise.
59576         * lib/unistdio/u32-printf-parse.c: Likewise.
59577         * lib/unistdio/u32-snprintf.c: Likewise.
59578         * lib/unistdio/u32-sprintf.c: Likewise.
59579         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
59580         * lib/unistdio/u32-u32-asprintf.c: Likewise.
59581         * lib/unistdio/u32-u32-snprintf.c: Likewise.
59582         * lib/unistdio/u32-u32-sprintf.c: Likewise.
59583         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
59584         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
59585         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
59586         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
59587         * lib/unistdio/u32-vasnprintf.c: Likewise.
59588         * lib/unistdio/u32-vasprintf.c: Likewise.
59589         * lib/unistdio/u32-vsnprintf.c: Likewise.
59590         * lib/unistdio/u32-vsprintf.c: Likewise.
59591         * lib/unistdio/u8-asnprintf.c: Likewise.
59592         * lib/unistdio/u8-asprintf.c: Likewise.
59593         * lib/unistdio/u8-printf-parse.c: Likewise.
59594         * lib/unistdio/u8-snprintf.c: Likewise.
59595         * lib/unistdio/u8-sprintf.c: Likewise.
59596         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
59597         * lib/unistdio/u8-u8-asprintf.c: Likewise.
59598         * lib/unistdio/u8-u8-snprintf.c: Likewise.
59599         * lib/unistdio/u8-u8-sprintf.c: Likewise.
59600         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
59601         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
59602         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
59603         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
59604         * lib/unistdio/u8-vasnprintf.c: Likewise.
59605         * lib/unistdio/u8-vasprintf.c: Likewise.
59606         * lib/unistdio/u8-vsnprintf.c: Likewise.
59607         * lib/unistdio/u8-vsprintf.c: Likewise.
59608         * lib/unistdio/ulc-asnprintf.c: Likewise.
59609         * lib/unistdio/ulc-asprintf.c: Likewise.
59610         * lib/unistdio/ulc-printf-parse.c: Likewise.
59611         * lib/unistdio/ulc-snprintf.c: Likewise.
59612         * lib/unistdio/ulc-sprintf.c: Likewise.
59613         * lib/unistdio/ulc-vasnprintf.c: Likewise.
59614         * lib/unistdio/ulc-vasprintf.c: Likewise.
59615         * lib/unistdio/ulc-vsnprintf.c: Likewise.
59616         * lib/unistdio/ulc-vsprintf.c: Likewise.
59617         * lib/unistr.h: Likewise.
59618         * lib/unistr/u-cpy-alloc.h: Likewise.
59619         * lib/unistr/u-cpy.h: Likewise.
59620         * lib/unistr/u-endswith.h: Likewise.
59621         * lib/unistr/u-move.h: Likewise.
59622         * lib/unistr/u-set.h: Likewise.
59623         * lib/unistr/u-startswith.h: Likewise.
59624         * lib/unistr/u-stpcpy.h: Likewise.
59625         * lib/unistr/u-stpncpy.h: Likewise.
59626         * lib/unistr/u-strcat.h: Likewise.
59627         * lib/unistr/u-strcpy.h: Likewise.
59628         * lib/unistr/u-strcspn.h: Likewise.
59629         * lib/unistr/u-strdup.h: Likewise.
59630         * lib/unistr/u-strlen.h: Likewise.
59631         * lib/unistr/u-strncat.h: Likewise.
59632         * lib/unistr/u-strncpy.h: Likewise.
59633         * lib/unistr/u-strnlen.h: Likewise.
59634         * lib/unistr/u-strpbrk.h: Likewise.
59635         * lib/unistr/u-strspn.h: Likewise.
59636         * lib/unistr/u-strstr.h: Likewise.
59637         * lib/unistr/u-strtok.h: Likewise.
59638         * lib/unistr/u16-check.c: Likewise.
59639         * lib/unistr/u16-chr.c: Likewise.
59640         * lib/unistr/u16-cmp.c: Likewise.
59641         * lib/unistr/u16-cpy-alloc.c: Likewise.
59642         * lib/unistr/u16-cpy.c: Likewise.
59643         * lib/unistr/u16-endswith.c: Likewise.
59644         * lib/unistr/u16-mblen.c: Likewise.
59645         * lib/unistr/u16-mbsnlen.c: Likewise.
59646         * lib/unistr/u16-mbtouc-aux.c: Likewise.
59647         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
59648         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
59649         * lib/unistr/u16-mbtouc.c: Likewise.
59650         * lib/unistr/u16-mbtoucr.c: Likewise.
59651         * lib/unistr/u16-move.c: Likewise.
59652         * lib/unistr/u16-next.c: Likewise.
59653         * lib/unistr/u16-prev.c: Likewise.
59654         * lib/unistr/u16-set.c: Likewise.
59655         * lib/unistr/u16-startswith.c: Likewise.
59656         * lib/unistr/u16-stpcpy.c: Likewise.
59657         * lib/unistr/u16-stpncpy.c: Likewise.
59658         * lib/unistr/u16-strcat.c: Likewise.
59659         * lib/unistr/u16-strchr.c: Likewise.
59660         * lib/unistr/u16-strcmp.c: Likewise.
59661         * lib/unistr/u16-strcpy.c: Likewise.
59662         * lib/unistr/u16-strcspn.c: Likewise.
59663         * lib/unistr/u16-strdup.c: Likewise.
59664         * lib/unistr/u16-strlen.c: Likewise.
59665         * lib/unistr/u16-strmblen.c: Likewise.
59666         * lib/unistr/u16-strmbtouc.c: Likewise.
59667         * lib/unistr/u16-strncat.c: Likewise.
59668         * lib/unistr/u16-strncmp.c: Likewise.
59669         * lib/unistr/u16-strncpy.c: Likewise.
59670         * lib/unistr/u16-strnlen.c: Likewise.
59671         * lib/unistr/u16-strpbrk.c: Likewise.
59672         * lib/unistr/u16-strrchr.c: Likewise.
59673         * lib/unistr/u16-strspn.c: Likewise.
59674         * lib/unistr/u16-strstr.c: Likewise.
59675         * lib/unistr/u16-strtok.c: Likewise.
59676         * lib/unistr/u16-to-u32.c: Likewise.
59677         * lib/unistr/u16-to-u8.c: Likewise.
59678         * lib/unistr/u16-uctomb-aux.c: Likewise.
59679         * lib/unistr/u16-uctomb.c: Likewise.
59680         * lib/unistr/u32-check.c: Likewise.
59681         * lib/unistr/u32-chr.c: Likewise.
59682         * lib/unistr/u32-cmp.c: Likewise.
59683         * lib/unistr/u32-cpy-alloc.c: Likewise.
59684         * lib/unistr/u32-cpy.c: Likewise.
59685         * lib/unistr/u32-endswith.c: Likewise.
59686         * lib/unistr/u32-mblen.c: Likewise.
59687         * lib/unistr/u32-mbsnlen.c: Likewise.
59688         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
59689         * lib/unistr/u32-mbtouc.c: Likewise.
59690         * lib/unistr/u32-mbtoucr.c: Likewise.
59691         * lib/unistr/u32-move.c: Likewise.
59692         * lib/unistr/u32-next.c: Likewise.
59693         * lib/unistr/u32-prev.c: Likewise.
59694         * lib/unistr/u32-set.c: Likewise.
59695         * lib/unistr/u32-startswith.c: Likewise.
59696         * lib/unistr/u32-stpcpy.c: Likewise.
59697         * lib/unistr/u32-stpncpy.c: Likewise.
59698         * lib/unistr/u32-strcat.c: Likewise.
59699         * lib/unistr/u32-strchr.c: Likewise.
59700         * lib/unistr/u32-strcmp.c: Likewise.
59701         * lib/unistr/u32-strcpy.c: Likewise.
59702         * lib/unistr/u32-strcspn.c: Likewise.
59703         * lib/unistr/u32-strdup.c: Likewise.
59704         * lib/unistr/u32-strlen.c: Likewise.
59705         * lib/unistr/u32-strmblen.c: Likewise.
59706         * lib/unistr/u32-strmbtouc.c: Likewise.
59707         * lib/unistr/u32-strncat.c: Likewise.
59708         * lib/unistr/u32-strncmp.c: Likewise.
59709         * lib/unistr/u32-strncpy.c: Likewise.
59710         * lib/unistr/u32-strnlen.c: Likewise.
59711         * lib/unistr/u32-strpbrk.c: Likewise.
59712         * lib/unistr/u32-strrchr.c: Likewise.
59713         * lib/unistr/u32-strspn.c: Likewise.
59714         * lib/unistr/u32-strstr.c: Likewise.
59715         * lib/unistr/u32-strtok.c: Likewise.
59716         * lib/unistr/u32-to-u16.c: Likewise.
59717         * lib/unistr/u32-to-u8.c: Likewise.
59718         * lib/unistr/u32-uctomb.c: Likewise.
59719         * lib/unistr/u8-check.c: Likewise.
59720         * lib/unistr/u8-chr.c: Likewise.
59721         * lib/unistr/u8-cmp.c: Likewise.
59722         * lib/unistr/u8-cpy-alloc.c: Likewise.
59723         * lib/unistr/u8-cpy.c: Likewise.
59724         * lib/unistr/u8-endswith.c: Likewise.
59725         * lib/unistr/u8-mblen.c: Likewise.
59726         * lib/unistr/u8-mbsnlen.c: Likewise.
59727         * lib/unistr/u8-mbtouc-aux.c: Likewise.
59728         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
59729         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
59730         * lib/unistr/u8-mbtouc.c: Likewise.
59731         * lib/unistr/u8-mbtoucr.c: Likewise.
59732         * lib/unistr/u8-move.c: Likewise.
59733         * lib/unistr/u8-next.c: Likewise.
59734         * lib/unistr/u8-prev.c: Likewise.
59735         * lib/unistr/u8-set.c: Likewise.
59736         * lib/unistr/u8-startswith.c: Likewise.
59737         * lib/unistr/u8-stpcpy.c: Likewise.
59738         * lib/unistr/u8-stpncpy.c: Likewise.
59739         * lib/unistr/u8-strcat.c: Likewise.
59740         * lib/unistr/u8-strchr.c: Likewise.
59741         * lib/unistr/u8-strcmp.c: Likewise.
59742         * lib/unistr/u8-strcpy.c: Likewise.
59743         * lib/unistr/u8-strcspn.c: Likewise.
59744         * lib/unistr/u8-strdup.c: Likewise.
59745         * lib/unistr/u8-strlen.c: Likewise.
59746         * lib/unistr/u8-strmblen.c: Likewise.
59747         * lib/unistr/u8-strmbtouc.c: Likewise.
59748         * lib/unistr/u8-strncat.c: Likewise.
59749         * lib/unistr/u8-strncmp.c: Likewise.
59750         * lib/unistr/u8-strncpy.c: Likewise.
59751         * lib/unistr/u8-strnlen.c: Likewise.
59752         * lib/unistr/u8-strpbrk.c: Likewise.
59753         * lib/unistr/u8-strrchr.c: Likewise.
59754         * lib/unistr/u8-strspn.c: Likewise.
59755         * lib/unistr/u8-strstr.c: Likewise.
59756         * lib/unistr/u8-strtok.c: Likewise.
59757         * lib/unistr/u8-to-u16.c: Likewise.
59758         * lib/unistr/u8-to-u32.c: Likewise.
59759         * lib/unistr/u8-uctomb-aux.c: Likewise.
59760         * lib/unistr/u8-uctomb.c: Likewise.
59761         * lib/unitypes.h: Likewise.
59762         * lib/uniwidth.h: Likewise.
59763         * lib/uniwidth/cjk.h: Likewise.
59764         * lib/uniwidth/u16-strwidth.c: Likewise.
59765         * lib/uniwidth/u16-width.c: Likewise.
59766         * lib/uniwidth/u32-strwidth.c: Likewise.
59767         * lib/uniwidth/u32-width.c: Likewise.
59768         * lib/uniwidth/u8-strwidth.c: Likewise.
59769         * lib/uniwidth/u8-width.c: Likewise.
59770         * lib/uniwidth/width.c: Likewise.
59771
59772 2007-10-07  Bruno Haible  <bruno@clisp.org>
59773
59774         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
59775         The file is still under LGPL (see modules/inttypes).
59776
59777 2007-10-06  Bruno Haible  <bruno@clisp.org>
59778
59779         * modules/trunc (Dependencies): Add 'extensions'.
59780         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
59781         Reported by Ben Pfaff <blp@gnu.org>.
59782
59783 2007-10-06  Bruno Haible  <bruno@clisp.org>
59784
59785         * modules/freopen-tests: New file.
59786         * tests/test-freopen.c: New file.
59787
59788         * modules/fopen-tests: New file.
59789         * tests/test-fopen.c: New file.
59790
59791         * modules/fopen: New file.
59792         * lib/fopen.c: New file.
59793         * m4/fopen.m4: New file.
59794         * modules/freopen: New file.
59795         * lib/freopen.c: New file.
59796         * m4/freopen.m4: New file.
59797         * lib/stdio.in.h (fopen, freopen): New declarations.
59798         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
59799         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
59800         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
59801         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
59802         * doc/functions/fopen.texi: Mention the 'fopen' module.
59803         * doc/functions/freopen.texi: Mention the 'freopen' module.
59804
59805 2007-10-06  Bruno Haible  <bruno@clisp.org>
59806
59807         * modules/open-tests: New file.
59808         * tests/test-open.c: New file.
59809
59810         * modules/open: New file.
59811         * lib/open.c: New file.
59812         * m4/open.m4: New file.
59813         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
59814         lib/open.c does.
59815         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
59816         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
59817         macros.
59818         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
59819         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
59820         REPLACE_OPEN.
59821         * doc/functions/open.texi: Mention the 'open' module.
59822
59823 2007-10-04  Bruno Haible  <bruno@clisp.org>
59824
59825         * modules/ceill-tests: New file.
59826         * tests/test-ceill.c: New file.
59827
59828         * modules/ceill: New file.
59829         * lib/ceill.c: Replace entire file.
59830         * m4/ceill.m4: New file.
59831         * lib/math.in.h (ceill): Replace declaration.
59832         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
59833         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
59834         * doc/functions/ceill.texi: Mention the 'ceill' module.
59835         * modules/mathl (Files): Remove lib/ceill.c.
59836         (Depends-on): Add ceill.
59837
59838 2007-10-04  Bruno Haible  <bruno@clisp.org>
59839
59840         * modules/ceilf-tests: New file.
59841         * tests/test-ceilf.c: New file.
59842
59843         * modules/ceilf: New file.
59844         * lib/ceil.c: New file.
59845         * lib/ceilf.c: New file.
59846         * m4/ceilf.m4: New file.
59847         * lib/math.in.h (ceilf): New declaration.
59848         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
59849         HAVE_DECL_CEILF.
59850         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
59851         HAVE_DECL_CEILF.
59852         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
59853
59854 2007-10-04  Bruno Haible  <bruno@clisp.org>
59855
59856         * modules/floorl-tests: New file.
59857         * tests/test-floorl.c: New file.
59858
59859         * modules/floorl: New file.
59860         * lib/floorl.c: Replace entire file.
59861         * m4/floorl.m4: New file.
59862         * lib/math.in.h (floorl): Replace declaration.
59863         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
59864         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
59865         * doc/functions/floorl.texi: Mention the 'floorl' module.
59866         * modules/mathl (Files): Remove lib/floorl.c.
59867         (Depends-on): Add floorl.
59868
59869 2007-10-04  Bruno Haible  <bruno@clisp.org>
59870
59871         * modules/floorf-tests: New file.
59872         * tests/test-floorf.c: New file.
59873
59874         * modules/floorf: New file.
59875         * lib/floor.c: New file.
59876         * lib/floorf.c: New file.
59877         * m4/floorf.m4: New file.
59878         * lib/math.in.h (floorf): New declaration.
59879         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
59880         HAVE_DECL_FLOORF.
59881         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
59882         HAVE_DECL_FLOORF.
59883         * doc/functions/floorf.texi: Mention the 'floorf' module.
59884
59885 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
59886             Bruno Haible  <bruno@clisp.org>
59887
59888         Advertise for the Git server instead of the CVS server.
59889         * doc/gnulib-intro.texi (Steady Development): Mention the Git
59890         repository instead of the CVS one.
59891         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
59892         about all VCS systems generically.
59893         * doc/gnulib.texi (Introduction): Capitalize `Git'.
59894
59895 2007-10-04  Bruno Haible  <bruno@clisp.org>
59896
59897         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
59898         means.
59899         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
59900
59901 2007-10-04  Bruno Haible  <bruno@clisp.org>
59902
59903         * modules/truncl-tests: New file.
59904         * tests/test-truncl.c: New file.
59905
59906         * modules/truncl: New file.
59907         * lib/truncl.c: New file.
59908         * m4/truncl.m4: New file.
59909         * lib/math.in.h (truncl): New declaration.
59910         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
59911         HAVE_DECL_TRUNCL.
59912         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
59913         HAVE_DECL_TRUNCL.
59914         * doc/functions/truncl.texi: Mention the 'truncl' module.
59915
59916 2007-10-04  Bruno Haible  <bruno@clisp.org>
59917
59918         * modules/truncf-tests: New file.
59919         * tests/test-truncf.c: New file.
59920
59921         * modules/truncf: New file.
59922         * lib/trunc.c: Make paramerizable through USE_* macros.
59923         * lib/truncf.c: New file.
59924         * m4/truncf.m4: New file.
59925         * lib/math.in.h (truncf): New declaration.
59926         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
59927         HAVE_DECL_TRUNCF.
59928         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
59929         HAVE_DECL_TRUNCF.
59930         * doc/functions/truncf.texi: Mention the 'truncf' module.
59931
59932 2007-10-03  Bruno Haible  <bruno@clisp.org>
59933
59934         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
59935         augmentation also for tests modules.
59936         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
59937         * modules/atexit-tests (Makefile.am): Likewise.
59938         * modules/binary-io-tests (Makefile.am): Likewise.
59939         * modules/c-strcase-tests (Makefile.am): Likewise.
59940         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
59941         * modules/canonicalize-tests (Makefile.am): Likewise.
59942         * modules/closein-tests (Makefile.am): Likewise.
59943         * modules/fprintf-posix-tests (Makefile.am): Likewise.
59944         * modules/freadahead-tests (Makefile.am): Likewise.
59945         * modules/fseek-tests (Makefile.am): Likewise.
59946         * modules/fseeko-tests (Makefile.am): Likewise.
59947         * modules/ftell-tests (Makefile.am): Likewise.
59948         * modules/ftello-tests (Makefile.am): Likewise.
59949         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
59950         * modules/isnanl-tests (Makefile.am): Likewise.
59951         * modules/lseek-tests (Makefile.am): Likewise.
59952         * modules/mbscasecmp-tests (Makefile.am): Likewise.
59953         * modules/mbscasestr-tests (Makefile.am): Likewise.
59954         * modules/mbschr-tests (Makefile.am): Likewise.
59955         * modules/mbscspn-tests (Makefile.am): Likewise.
59956         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
59957         * modules/mbspbrk-tests (Makefile.am): Likewise.
59958         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
59959         * modules/mbsrchr-tests (Makefile.am): Likewise.
59960         * modules/mbsspn-tests (Makefile.am): Likewise.
59961         * modules/mbsstr-tests (Makefile.am): Likewise.
59962         * modules/printf-posix-tests (Makefile.am): Likewise.
59963         * modules/snprintf-posix-tests (Makefile.am): Likewise.
59964         * modules/sprintf-posix-tests (Makefile.am): Likewise.
59965         * modules/tsearch-tests (Makefile.am): Likewise.
59966         * modules/uniname/uniname-tests (Makefile.am): Likewise.
59967         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
59968         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
59969         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
59970         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
59971         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
59972         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
59973         * modules/vprintf-posix-tests (Makefile.am): Likewise.
59974         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
59975         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
59976         * modules/xstrtoimax-tests (Makefile.am): Likewise.
59977         * modules/xstrtol-tests (Makefile.am): Likewise.
59978         * modules/xstrtoumax-tests (Makefile.am): Likewise.
59979         * modules/yesno-tests (Makefile.am): Likewise.
59980
59981 2007-10-03  Bruno Haible  <bruno@clisp.org>
59982
59983         * modules/trunc-tests: New file.
59984         * tests/test-trunc.c: New file.
59985
59986         * modules/trunc: New file.
59987         * lib/trunc.c: New file.
59988         * m4/trunc.m4: New file.
59989         * lib/math.in.h (trunc): New declaration.
59990         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
59991         HAVE_DECL_TRUNC.
59992         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
59993         HAVE_DECL_TRUNC.
59994         * doc/functions/trunc.texi: Mention the 'trunc' module.
59995
59996 2007-10-03  Bruno Haible  <bruno@clisp.org>
59997
59998         * tests/test-fpending.c: New file, mostly copied
59999         from coreutils/lib/t-fpending.c.
60000         * modules/fpending-tests: New file.
60001
60002 2007-10-03  Bruno Haible  <bruno@clisp.org>
60003
60004         Port the stdio extensions to QNX (untested).
60005         * lib/fseterr.c (fseterr): Add support for QNX.
60006         * lib/fbufmode.c (fbufmode): Likewise.
60007         * lib/freadable.c (freadable): Likewise.
60008         * lib/fwritable.c (fwritable): Likewise.
60009         * lib/freading.c (freading): Likewise.
60010         * lib/fwriting.c (fwriting): Likewise.
60011         * lib/freadahead.c (freadahed): Likewise.
60012         * lib/fpurge.c (fpurge): Likewise.
60013         * lib/fseeko.c (rpl_fseeko): Likewise.
60014
60015 2007-10-03  Bruno Haible  <bruno@clisp.org>
60016             Jim Meyering  <jim@meyering.net>
60017             Eric Blake  <ebb9@byu.net>
60018
60019         * doc/relocatable.texi: Use @command instead of @program.
60020
60021 2007-10-02  Jim Meyering  <jim@meyering.net>
60022
60023         Perform one more "_.h" -> ".in.h" substitution.
60024         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
60025         instead of unistd_.h here, too.
60026
60027 2007-10-01  Bruno Haible  <bruno@clisp.org>
60028
60029         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
60030         Needed for the alloca-opt module.
60031
60032 2007-09-30  Bruno Haible  <bruno@clisp.org>
60033
60034         * lib/alloca.in.h: Renamed from lib/alloca_.h.
60035         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
60036         alloca_.h.
60037         * lib/argz.in.h: Renamed from lib/argz_.h.
60038         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
60039         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
60040         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
60041         byteswap_.h.
60042         * lib/dirent.in.h: Renamed from lib/dirent_.h.
60043         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
60044         dirent_.h.
60045         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
60046         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
60047         fcntl_.h.
60048         * lib/float.in.h: Renamed from lib/float_.h.
60049         * modules/float (Files, Makefile.am): Use float.in.h instead of
60050         float_.h.
60051         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
60052         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
60053         fnmatch_.h.
60054         * lib/getopt.in.h: Renamed from lib/getopt_.h.
60055         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
60056         getopt_.h.
60057         * lib/glob.in.h: Renamed from lib/glob_.h.
60058         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
60059         * lib/iconv.in.h: Renamed from lib/iconv_.h.
60060         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
60061         iconv_.h.
60062         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
60063         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
60064         inttypes_.h.
60065         * lib/locale.in.h: Renamed from lib/locale_.h.
60066         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
60067         locale_.h.
60068         * lib/math.in.h: Renamed from lib/math_.h.
60069         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
60070         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
60071         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
60072         of netinet_in_.h. Add dependency.
60073         * lib/poll.in.h: Renamed from lib/poll_.h.
60074         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
60075         * lib/search.in.h: Renamed from lib/search_.h.
60076         * modules/search (Files, Makefile.am): Use search.in.h instead of
60077         search_.h.
60078         * lib/signal.in.h: Renamed from lib/signal_.h.
60079         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
60080         _signal.h.
60081         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
60082         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
60083         stdbool_.h.
60084         * lib/stdint.in.h: Renamed from lib/stdint_.h.
60085         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
60086         stdint_.h.
60087         * lib/stdio.in.h: Renamed from lib/stdio_.h.
60088         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
60089         stdio_.h.
60090         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
60091         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
60092         stdlib_.h.
60093         * lib/string.in.h: Renamed from lib/string_.h.
60094         * modules/string (Files, Makefile.am): Use string.in.h instead of
60095         string_.h.
60096         * doc/gnulib-tool.texi (Initial import): Update.
60097         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
60098         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
60099         of sys_select_.h. Add dependency.
60100         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
60101         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
60102         of sys_socket_.h.
60103         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
60104         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
60105         sys_stat_.h.
60106         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
60107         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
60108         sys_time_.h.
60109         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
60110         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
60111         sysexits_.h.
60112         * lib/time.in.h: Renamed from lib/time_.h.
60113         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
60114         * lib/unistd.in.h: Renamed from lib/unistd_.h.
60115         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
60116         unistd_.h.
60117         * lib/wchar.in.h: Renamed from lib/wchar_.h.
60118         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
60119         wchar_.h.
60120         * lib/wctype.in.h: Renamed from lib/wctype_.h.
60121         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
60122         wctype_.h.
60123         * build-aux/bootstrap (slurp): Update.
60124         * lib/.cppi-disable: Update.
60125
60126 2007-09-30  Bruno Haible  <bruno@clisp.org>
60127
60128         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
60129         Needed on BeOS.
60130
60131 2007-09-30  Bruno Haible  <bruno@clisp.org>
60132
60133         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
60134
60135 2007-09-29  Bruno Haible  <bruno@clisp.org>
60136
60137         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
60138
60139 2007-09-29  Bruno Haible  <bruno@clisp.org>
60140
60141         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
60142         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
60143         * build-aux/install-reloc: Compile also areadlink.c.
60144         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
60145
60146 2007-09-29  Bruno Haible  <bruno@clisp.org>
60147
60148         * gnulib-tool (func_emit_initmacro_done): Indentation.
60149
60150 2007-09-29  Bruno Haible  <bruno@clisp.org>
60151
60152         * README: Add CVS checkout update instructions.
60153         Info from Bob Proulx <bob@proulx.com>.
60154
60155 2007-09-28  Eric Blake  <ebb9@byu.net>
60156
60157         Provide move-if-change.
60158         * build-aux/move-if-change: New file, based on best practice
60159         rather than any canonical upstream location.
60160
60161 2007-09-28  Jim Meyering  <jim@meyering.net>
60162
60163         Fix canonicalize loop-detection corner case.
60164         Do not attempt to stat the symlink values stored via seen_triple.
60165         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
60166         on linux-2.6.18, (but not 2.6.22).
60167         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
60168         triple_compare.  The former compares dev,ino,filename, while the latter
60169         would actually stat dirname(filename) when dev and ino were equal.
60170         * lib/hash-triple.c: Install <string.h>.
60171         (STREQ): Define.
60172         (triple_compare_ino_str): New function.
60173         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
60174
60175 2007-09-28  Eric Blake  <ebb9@byu.net>
60176
60177         Enforce that AC_REPLACE_FUNCS files exist.
60178         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
60179         override check for typos.
60180
60181         Fix test-closein on Solaris 10.
60182         * tests/test-closein.c (main): Don't assume stdin can be inherited
60183         closed on all systems.
60184         * tests/test-closein.sh: Likewise.
60185         Reported by Piotr Tarnowski.
60186
60187 2007-09-28  Jim Meyering  <jim@meyering.net>
60188
60189         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
60190
60191 2007-09-27  Jim Meyering  <jim@meyering.net>
60192
60193         canonicalize: Avoid a false-positive cycle failure.
60194         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
60195         Sort.  Remove cycle-check.
60196         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
60197         not cycle-check.h.
60198         (seen_triple): New function.
60199         (canonicalize_filename_mode): Use it instead of cycle-check.
60200         * tests/test-canonicalize.c: Add a test for this bug.
60201         * tests/test-canonicalize.sh: Set up and run the test.
60202
60203         New module, file-set, from coreutils.
60204         * modules/file-set: Define it.
60205         * lib/file-set.c, lib/file-set.h: Implement.
60206
60207         New module, hash-triple, from coreutils.
60208         * modules/hash-triple: Define it.
60209         * lib/hash-triple.c, lib/hash-triple.h: Implement.
60210
60211 2007-09-25  Eric Blake  <ebb9@byu.net>
60212
60213         Fix strerror on Interix.
60214         * lib/string_.h (strerror): Declare replacement.
60215         * doc/functions/strerror.texi (strerror): Document the Interix
60216         shortcoming.
60217         * modules/string (Makefile.am): Support new hooks.
60218         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
60219         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
60220         gl_FUNC_STRERROR_SEPARATE.
60221         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
60222         * lib/strerror.c (rpl_strerror): Provide replacement.
60223         * modules/strerror (Depends-on): Add string.
60224         (configure.ac): Detect use of module.
60225         * tests/test-strerror.c: New file.
60226         * modules/strerror-tests: New test module.
60227         * modules/argp (Depends-on): Add strerror.
60228         * modules/error (Depends-on): Likewise.
60229         Reported by Martin Koeppe.
60230
60231 2007-09-24  Bruno Haible  <bruno@clisp.org>
60232
60233         * README: Update git instructions.
60234
60235 2007-09-24  Eric Blake  <ebb9@byu.net>
60236
60237         Revert fpending breakage from 2007-09-08.
60238         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
60239         __fpending.c.
60240
60241 2007-09-24  Jim Meyering  <jim@meyering.net>
60242
60243         filenamecat.c: Add a test.
60244         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
60245         showing how the function works when DIR is the empty string.
60246
60247 2007-09-21  Simon Josefsson  <simon@josefsson.org>
60248
60249         * tests/test-canonicalize.sh: Turn on executable bit.
60250
60251 2007-09-19  Eric Blake  <ebb9@byu.net>
60252
60253         * README: Update CVS instructions.
60254
60255 2007-09-18  Bruno Haible  <bruno@clisp.org>
60256
60257         * modules/areadlink: New file.
60258         * lib/areadlink.h (areadlink): New declaration.
60259         * lib/areadlink.c: New file, based on lib/xreadlink.c.
60260
60261 2007-09-17  Jim Meyering  <jim@meyering.net>
60262
60263         * lib/savewd.c (ESTALE) [!defined]: Define.
60264         Reported to be required on Interix by Martin Koeppe.
60265
60266 2007-09-17  Bruno Haible  <bruno@clisp.org>
60267
60268         * gnulib-tool (func_version): Use $version.
60269
60270 2007-09-16  Bruno Haible  <bruno@clisp.org>
60271
60272         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
60273         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
60274         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
60275         Reported by Greg Schafer <gschafer@zip.com.au>.
60276
60277 2007-09-15  Bruno Haible  <bruno@clisp.org>
60278
60279         * gnulib-tool (sed): Try a little harder to make bash understand the
60280         alias.
60281         Reported by Bruce Korb <bruce.korb@gmail.com>.
60282
60283 2007-09-13  Eric Blake  <ebb9@byu.net>
60284
60285         * ChangeLog: Remove conflict markers.
60286
60287 2007-09-13  Simon Josefsson  <simon@josefsson.org>
60288
60289         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
60290         Reported by Bruno Haible <bruno@clisp.org>.
60291
60292 2007-09-12  Bruno Haible  <bruno@clisp.org>
60293
60294         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
60295         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
60296         is not defined.
60297
60298 2007-09-12  Eric Blake  <ebb9@byu.net>
60299
60300         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
60301         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
60302         Autoconf definition.
60303         * modules/euidaccess (Depends-on): Add extensions, for
60304         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
60305         * modules/fnmatch (Depends-on): Likewise.
60306         * modules/getaddrinfo (Depends-on): Likewise.
60307         * modules/getdelim (Depends-on): Likewise.
60308         * modules/getline (Depends-on): Likewise.
60309         * modules/getsubopt (Depends-on): Likewise.
60310         * modules/gettext (Depends-on): Likewise.
60311         * modules/group-member (Depends-on): Likewise.
60312         * modules/mbchar (Depends-on): Likewise.
60313         * modules/memmem (Depends-on): Likewise.
60314         * modules/mempcpy (Depends-on): Likewise.
60315         * modules/memrchr (Depends-on): Likewise.
60316         * modules/pagealign_alloc (Depends-on): Likewise.
60317         * modules/readutmp (Depends-on): Likewise.
60318         * modules/stpcpy (Depends-on): Likewise.
60319         * modules/stpncpy (Depends-on): Likewise.
60320         * modules/strchrnul (Depends-on): Likewise.
60321         * modules/strndup (Depends-on): Likewise.
60322         * modules/strsep (Depends-on): Likewise.
60323         * modules/strverscmp (Depends-on): Likewise.
60324         * modules/vasprintf (Depends-on): Likewise.
60325         * modules/wcwidth (Depends-on): Likewise.
60326         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
60327         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
60328         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
60329         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
60330         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
60331         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
60332         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
60333         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
60334         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
60335         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
60336         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60337         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
60338         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
60339         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
60340         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
60341         * m4/readutmp.m4 (gl_READUTMP): Likewise.
60342         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
60343         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
60344         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
60345         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
60346         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60347         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
60348         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
60349         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
60350         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
60351         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
60352         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
60353         so that lock.m4 can be used in gettext without extensions module.
60354
60355 2007-09-11  Bruno Haible  <bruno@clisp.org>
60356
60357         * m4/isc-posix.m4: Remove file.
60358         Suggested by Eric Blake.
60359
60360 2007-09-11  Eric Blake  <ebb9@byu.net>
60361
60362         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
60363
60364 2007-09-10  Bruno Haible  <bruno@clisp.org>
60365
60366         * posix-modules: Fix typo in error message.
60367         Reported by Matt <mkraai@beckman.com>.
60368
60369 2007-09-09  Bruno Haible  <bruno@clisp.org>
60370
60371         * doc/functions/getdelim.texi: Update list of platforms lacking the
60372         function.
60373         * doc/functions/getline.texi: Likewise.
60374
60375 2007-09-09  Jim Meyering  <jim@meyering.net>
60376
60377         * lib/hash.c (hash_initialize): Detect calloc failure.
60378         Reported by Bruno Haible.
60379
60380 2007-09-09  Bruno Haible  <bruno@clisp.org>
60381
60382         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
60383         malloc or realloc fails.
60384
60385 2007-09-09  Bruno Haible  <bruno@clisp.org>
60386
60387         * modules/getcwd (Depends-on): Add malloc-posix.
60388         * modules/glob (Depends-on): Likewise.
60389         * modules/putenv (Depends-on): Likewise.
60390         * modules/strdup (Depends-on): Likewise.
60391         * modules/getdelim (Depends-on): Add realloc-posix.
60392         * modules/read-file (Depends-on): Likewise.
60393
60394 2007-09-09  Bruno Haible  <bruno@clisp.org>
60395
60396         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
60397         (gl_FUNC_MALLOC_POSIX): Require it.
60398         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
60399         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
60400         * modules/realloc (Files): Add m4/malloc.m4.
60401         * modules/calloc (Files): Likewise.
60402
60403 2007-09-09  Bruno Haible  <bruno@clisp.org>
60404
60405         * modules/malloc-posix: New file.
60406         * modules/malloc (Depends-on): Add malloc-posix.
60407         * lib/malloc.c: Include errno.h.
60408         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
60409         and a POSIX-compatible malloc into a single function. Set ENOMEM
60410         when returning NULL.
60411         * m4/malloc.m4: New file.
60412         * doc/functions/malloc.texi: Mention the malloc-posix module.
60413         * lib/stdlib_.h (malloc): New declaration.
60414         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
60415         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
60416         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
60417         and HAVE_MALLOC_POSIX.
60418
60419 2007-09-09  Bruno Haible  <bruno@clisp.org>
60420
60421         * modules/realloc-posix: New file.
60422         * modules/realloc (Depends-on): Add realloc-posix.
60423         * lib/realloc.c: Include errno.h.
60424         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
60425         and a POSIX-compatible realloc into a single function. Set ENOMEM
60426         when returning NULL.
60427         * m4/realloc.m4: New file.
60428         * doc/functions/realloc.texi: Mention the realloc-posix module.
60429         * lib/stdlib_.h (realloc): New declaration.
60430         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
60431         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
60432         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
60433         and HAVE_REALLOC_POSIX.
60434
60435 2007-09-09  Bruno Haible  <bruno@clisp.org>
60436
60437         * modules/calloc-posix: New file.
60438         * modules/calloc (Depends-on): Add calloc-posix.
60439         * lib/calloc.c: Include errno.h.
60440         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
60441         and a POSIX-compatible calloc into a single function. Set ENOMEM
60442         when returning NULL.
60443         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
60444         * doc/functions/calloc.texi: Mention the calloc-posix module.
60445         * lib/stdlib_.h (calloc): New declaration.
60446         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
60447         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
60448         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
60449         and HAVE_CALLOC_POSIX.
60450
60451 2007-09-09  Bruno Haible  <bruno@clisp.org>
60452
60453         Allow for modules to show an arbitrary notice.
60454         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
60455         * gnulib-tool: New option --extract-notice.
60456         (func_usage): Document it.
60457         (sed_extract_prog): Update.
60458         (func_get_notice): New function.
60459         (func_modules_notice): New function.
60460         (func_import, func_create_testdir): Invoke it.
60461         Suggested by Jim Meyering.
60462
60463 2007-09-09  Bruno Haible  <bruno@clisp.org>
60464
60465         * gnulib-tool: New options --verbose, --quiet.
60466         (func_usage): Document them.
60467         (verbose): New variable.
60468         (func_execute_command): New function.
60469         (func_import): Don't show the module list and the file list if
60470         $verbose < 0.
60471         (func_create_testdir): Likewise. Use func_execute_command.
60472         (func_create_megatestdir): Use func_execute_command.
60473
60474 2007-09-08  Bruno Haible  <bruno@clisp.org>
60475
60476         * gnulib-tool (func_import): Prefer rsync over wget when available,
60477         for fetching the PO files.
60478
60479 2007-09-08  Bruno Haible  <bruno@clisp.org>
60480
60481         * posix-modules: New file. Portions copied from gnulib-tool.
60482         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
60483
60484 2007-09-08  Jim Meyering  <jim@meyering.net>
60485
60486         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
60487         * lib/fpending.h: Rename from __fpending.h.
60488         * lib/fpending.c: Rename from __fpending.c.
60489         Include "fpending.h", not "__fpending.h".
60490         * lib/__fpending.h, lib/__fpending.c: Remove files.
60491         * modules/fpending (Files): Reflect new file names.
60492         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
60493
60494 2007-09-08  Bruno Haible  <bruno@clisp.org>
60495
60496         * m4/inttypes-h.m4: Remove stub file.
60497
60498 2007-09-07  Simon Josefsson  <simon@josefsson.org>
60499
60500         * doc/headers/stdint.texi: Discuss #include_next issue.
60501
60502 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
60503
60504         * build-aux/bootstrap: Remove obsolete comment about wget --help.
60505
60506 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60507
60508         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
60509         in variable name.
60510
60511 2007-09-03  Jim Meyering  <jim@meyering.net>
60512
60513         New module: git-version-gen.
60514         * modules/git-version-gen: New file.
60515
60516         Import changes from coreutils for bootstrap script.
60517
60518         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
60519
60520         bootstrap: uses rsync to download the .po files
60521         * build-aux/bootstrap (po_download_command_format): New global.
60522         (download_po_files): Use rsync.
60523         (update_po_files): Don't remove .po files after download,
60524         so future rsync runs can take advantage of the copies.
60525
60526         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
60527
60528         Solve the unnecessary-.po-file-regeneration problem once and for all.
60529         * build-aux/bootstrap (download_po_files): New function, renamed from
60530         get_translations.  Now, downloads, but doesn't update LINGUAS.
60531         (update_po_files): New function.
60532
60533         bootstrap: Ignore more.
60534         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
60535         uniwidth to e.g., lib/.gitignore.
60536         (slurp): Handle the sys_stat_.h -> sys mapping, too.
60537
60538         * build-aux/bootstrap: New setting: vc_ignore.
60539         (insert_sorted_if_absent): Create $file if absent.
60540         Adapt to new, possibly empty, list: $vc_ignore.
60541
60542         bootstrap: generate more ignorable names
60543         * build-aux/bootstrap (slurp): When generating ignorable names,
60544         also map .sin to .sed, .gperf to .c, and .y to .c.
60545
60546 2007-09-03  Jim Meyering  <jim@meyering.net>
60547
60548         * build-aux/git-version-gen: New file, from coreutils.  For details, see
60549         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
60550
60551 2007-09-02  Bruno Haible  <bruno@clisp.org>
60552
60553         Fix mis-recognition of 'mcs' on QNX 6.
60554         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
60555         output contains the string "Mono".
60556         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
60557         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
60558
60559 2007-09-01  Bruno Haible  <bruno@clisp.org>
60560
60561         Fix collision between uniwidth/* and linebreak modules.
60562         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
60563         u32_width): Remove declarations.
60564         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
60565         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
60566         streq3, streq2, streq1, streq0): Remove functions.
60567         (STREQ): Remove macro.
60568         (is_cjk_encoding): Remove function.
60569         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
60570         (uc_width, u8_width, u16_width, u32_width): Remove functions.
60571         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
60572         * NEWS: Document the change.
60573
60574 2007-09-01  Bruno Haible  <bruno@clisp.org>
60575
60576         * lib/streq.h: Add double-inclusion guard.
60577
60578 2007-09-01  Karl Berry  <karl@gnu.org>
60579
60580         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
60581
60582 2007-08-28  Jim Meyering  <jim@meyering.net>
60583
60584         Rename mreadlink_with_size to areadlink_with_size.
60585         * NEWS: Document the change.
60586         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
60587         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
60588         * lib/mreadlink.h: Rename this to...
60589         * lib/areadlink.h: ...this.
60590         * modules/mreadlink-with-size: Rename this to...
60591         * modules/areadlink-with-size: ...this.
60592         * lib/canonicalize.c: Reflect the renaming.
60593         * modules/canonicalize: Likewise.
60594
60595 2007-08-26  Bruno Haible  <bruno@clisp.org>
60596
60597         * gnulib-tool (func_import): When deciding which files to remove,
60598         consider also dangling symbolic links.
60599         Reported by Eric Blake.
60600
60601 2007-08-26  Bruno Haible  <bruno@clisp.org>
60602
60603         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
60604
60605 2007-08-23  Simon Josefsson  <simon@josefsson.org>
60606
60607         * lib/readline.c: Don't include getline.h, the prototype is now
60608         found in stdio.h.
60609
60610 2007-08-23  Jim Meyering  <jim@meyering.net>
60611
60612         Getdelim touchup.
60613         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
60614         around the funlockfile call, since funlockfile never sets errno.
60615         Don't set errno upon failed realloc.
60616
60617 2007-08-22  Eric Blake  <ebb9@byu.net>
60618
60619         Getline touchups.
60620         * lib/getdelim.c (getdelim): Revert regression that required *n to
60621         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
60622         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
60623         getdelim, rather than whether implementation is missing.
60624         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
60625         * lib/stdio_.h (getline): Also declare if replacement is
60626         required.
60627         * doc/functions/getdelim.texi: New file.
60628         * doc/functions/getline.texi: Likewise.
60629         * doc/gnulib.texi (Function Substitutes): Add new files.
60630         Reported by Bruno Haible.
60631
60632 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
60633
60634         * users.txt: Add Guile.
60635
60636 2007-08-22  Eric Blake  <ebb9@byu.net>
60637
60638         * tests/test-getdelim.c (main): Use remove, not unlink.
60639         * tests/test-getline.c (main): Likewise.
60640
60641         Move getline and getdelim into stdio.h, per POSIX 200x.
60642         * modules/getline (Files): Remove getline.h.
60643         (Depends-on): Add stdio.
60644         (configure.ac): Add module indicator.
60645         * modules/getdelim (Files): Remove getdelim.h.
60646         (Depends-on): Add stdio.
60647         (configure.ac): Add module indicator.
60648         * modules/stdio (Makefile.am): Work with new indicators.
60649         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
60650         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
60651         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
60652         * lib/getdelim.h: Delete.
60653         * lib/getline.h: Delete.
60654         * lib/stdio_.h (getdelim, getline): Declare.
60655         * modules/getdelim-tests: New module.
60656         * modules/getline-tests: Likewise.
60657         * tests/test-getdelim.c: New file.
60658         * tests/test-getline.c: Likewise.
60659         * NEWS: Document the change.
60660         * lib/getline.c: Update choice of header.
60661         * lib/csharpcomp.c: Likewise.
60662         * lib/getpass.c: Likewise.
60663         * lib/javacomp.c: Likewise.
60664         * lib/javaversion.c: Likewise.
60665         * lib/yesno.c: Likewise.
60666         * lib/getdelim.c: Likewise.
60667         (getdelim): Set errno on failure, and avoid memory leak.
60668
60669 2007-08-19  Bruno Haible  <bruno@clisp.org>
60670
60671         * modules/closein (Depends-on): Add freadahead.
60672         * lib/closein.c: Include freadahead.h.
60673         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
60674         is zero.
60675
60676 2007-08-19  Bruno Haible  <bruno@clisp.org>
60677
60678         * modules/freadahead-tests: New file.
60679         * tests/test-freadahead.sh: New file.
60680         * tests/test-freadahead.c: New file.
60681
60682         * modules/freadahead: New file.
60683         * lib/freadahead.h: New file.
60684         * lib/freadahead.c: New file.
60685         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
60686         fbufmode, fpurge, freadable, fwritable.
60687
60688 2007-08-19  Eric Blake  <ebb9@byu.net>
60689
60690         Test yesno in combination with closein.
60691         * lib/yesno.c (yesno): Document use of stdin.
60692         * modules/yesno-tests (Files): New module.
60693         * tests/test-yesno.c (main): New file.
60694         * tests/test-yesno.sh: Likewise.
60695
60696 2007-08-19  Bruno Haible  <bruno@clisp.org>
60697
60698         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
60699         * lib/fseeko.c (rpl_fseeko): Likewise.
60700         * lib/fseterr.c (fseterr): Likewise.
60701
60702 2007-08-19  Bruno Haible  <bruno@clisp.org>
60703
60704         * tests/test-lseek.c (main): Disable a test for BeOS.
60705         * doc/functions/lseek.texi: Document the BeOS bug.
60706
60707 2007-08-19  Bruno Haible  <bruno@clisp.org>
60708             Eric Blake  <ebb9@byu.net>
60709
60710         * lib/lseek.c: Include <sys/stat.h>.
60711         (rpl_lseek): Add workaround code also for Unix platforms.
60712         Needed for BeOS.
60713         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
60714         * doc/functions/lseek.texi: Document BeOS definiency.
60715
60716 2007-08-18  Bruno Haible  <bruno@clisp.org>
60717
60718         * modules/fstrcmp-tests: New file.
60719         * tests/test-fstrcmp.c: New file.
60720
60721 2007-08-18  Bruno Haible  <bruno@clisp.org>
60722
60723         * modules/fstrcmp: New file, from GNU gettext with modifications.
60724         * lib/fstrcmp.h: New file, from GNU gettext.
60725         * lib/fstrcmp.c: New file, from GNU gettext.
60726         * MODULES.html.sh (String handling): Add fstrcmp.
60727
60728 2007-08-18  Bruno Haible  <bruno@clisp.org>
60729
60730         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
60731         'bool'.
60732         (diag, compareseq): Remove const from the ctxt argument.
60733         (USE_HEURISTIC): Undefine at the end.
60734
60735 2007-08-18  Jim Meyering  <jim@meyering.net>
60736
60737         New file: lib/idcache.h
60738         * NEWS: Mention the addition.
60739         * modules/idcache (Files): Add lib/idcache.h
60740         * lib/idcache.c: Include "idcache.h".
60741         Don't include <sys/types.h>.
60742         Add a FIXME comment.
60743         Move file-scoped "static" declarations to the top.
60744         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
60745
60746 2007-08-17  Bruno Haible  <bruno@clisp.org>
60747         and Paul Eggert  <eggert@cs.ucla.edu>
60748
60749         * MODULES.html.sh: Add diffseq.
60750         * modules/diffseq: New file.
60751         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
60752         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
60753
60754 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60755
60756         Import changes from coreutils for bootstrap script.
60757
60758         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
60759
60760         * build-aux/bootstrap (slurp): Work even in environments where
60761         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
60762         current code does not slurp files whose names start with ".", and
60763         this looks like it might be a troublesome area.
60764
60765         2007-07-11  Jim Meyering  <jim@meyering.net>
60766
60767         If there's a GPL vN copyright comment, require that N == 3.
60768
60769         2007-07-08  Jim Meyering  <jim@meyering.net>
60770
60771         Run the coreutils-specific code only if tests/Makefile.am.in exists.
60772         * build-aux/bootstrap (mam_template): Move definition out of loop.
60773
60774         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
60775
60776         * build-aux/bootstrap (symlink_to_dir): Rename function from
60777         symlink_to_gnulib.  Add a directory parameter.  Update all
60778         callers.
60779         (cp_mark_as_generated): Also check for -- and link to -- files in
60780         gl/.
60781
60782         2007-07-08  Jim Meyering  <jim@meyering.net>
60783
60784         Adapt to deeper hierarchy in gnulib.
60785         * build-aux/bootstrap (symlink_to_dir): If the destination
60786         directory doesn't exist, create it. This is required at least for
60787         "lib/uniwidth/cjk.h".
60788
60789         2007-05-15  Jim Meyering  <jim@meyering.net>
60790
60791         * build-aux/bootstrap: Now that generated Makefile.am files
60792         are no longer under version control, they must be created at
60793         bootstrap time.
60794
60795 2007-08-14  Ben Pfaff  <blp@gnu.org>
60796
60797         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
60798
60799 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60800
60801         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
60802         given the changes below.
60803         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
60804         even on hosts that have padding bits beyond the supported 64.
60805
60806 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
60807
60808         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
60809         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
60810         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
60811         depends on it.
60812         (xstrtol_error): Remove.
60813         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
60814         but with a different signature.
60815         (ATTRIBUTE_NORETURN, __attribute__): New macros.
60816         * lib/xstrtol-error.c: Include exitfail.h.
60817         (xstrtol_fatal): New function, with a different signature from the
60818         old xstrtol_error, so that the caller need not worry about passing
60819         in an exit status, or about storage management of the option argument.
60820         (xstrtol_error): Now a static function.  Redo signature to
60821         implement xstrtol_fatal.  Output the correct number of hyphens in
60822         front of the option so that the caller need not worry about
60823         storage management.
60824         (N_): New macro.
60825         (_): Remove; not used now.
60826         * modules/xstrtol: Depend on getopt.
60827         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
60828         of old STRTOL_FATAL_ERROR macro.
60829         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
60830         of test program.
60831         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
60832         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
60833
60834 2007-08-08  Eric Blake  <ebb9@byu.net>
60835
60836         * lib/xstrtol-error.c: Add missing include.
60837
60838         Move xstrtol messages into gnulib domain, when --pobase is used.
60839         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
60840         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
60841         * modules/xstrtol (Files): Distribute new file.
60842         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
60843         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
60844         * tests/test-xstrtol.c: ...into new file.
60845         * tests/test-xstrtoul.c: Also test xstrtoul.
60846         * tests/test-xstrtoimax.c: Also test xstrtoimax.
60847         * tests/test-xstrtoumax.c: Also test xstrtoumax.
60848         * tests/test-xstrtol.sh: Drive the tests.
60849         * tests/test-xstrtoimax.sh: Likewise.
60850         * tests/test-xstrtoumax.sh: Likewise.
60851         * modules/xstrtol-tests: New module.
60852         * modules/xstrtoimax-tests: Likewise.
60853         * modules/xstrtoumax-tests: Likewise.
60854
60855 2007-08-08  Jim Meyering  <jim@meyering.net>
60856
60857         New function: mfile_name_concat.
60858         * lib/filenamecat.c (mfile_name_concat): New function, just like
60859         file_name_concat, but return NULL upon failure rather than exiting
60860         with a diagnostic.
60861         * lib/filenamecat.h: Declare it.
60862
60863 2007-08-07  Bruno Haible  <bruno@clisp.org>
60864
60865         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
60866         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
60867         warning from gcc.
60868         Reported by Eric Blake.
60869
60870 2007-08-07  Simon Josefsson  <simon@josefsson.org>
60871
60872         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
60873         * modules/crypto/arcfour (License): Likewise.
60874         * modules/crypto/des-tests (License): Likewise.
60875         * modules/crypto/gc-arctwo-tests (License): Likewise.
60876         * modules/crypto/gc-des-tests (License): Likewise.
60877         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
60878         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
60879         * modules/crypto/gc-md2-tests (License): Likewise.
60880         * modules/crypto/gc-md4-tests (License): Likewise.
60881         * modules/crypto/gc-md5-tests (License): Likewise.
60882         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
60883         * modules/crypto/gc-rijndael-tests (License): Likewise.
60884         * modules/crypto/gc-sha1-tests (License): Likewise.
60885         * modules/crypto/gc-tests (License): Likewise.
60886         * modules/crypto/hmac-md5 (License): Likewise.
60887         * modules/crypto/hmac-sha1 (License): Likewise.
60888         * modules/crypto/md2-tests (License): Likewise.
60889         * modules/crypto/md4-tests (License): Likewise.
60890         * modules/crypto/md5 (License): Likewise.
60891         * modules/crypto/rijndael (License): Likewise.
60892         * modules/crypto/sha1 (License): Likewise.
60893         * modules/memxor (License): Likewise.
60894
60895 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
60896         and Bruno Haible  <bruno@clisp.org>
60897
60898         * NEWS: Describe interface changes to human, xstrtol.
60899         * lib/human.h: Include <xstrtol.h>.
60900         (human_options): Return enum strtol_error, not int.  Remove
60901         bool arg; take int * instead.
60902         * lib/human.c: Don't include "gettext.h".
60903         (_): Remove; no longer used.
60904         Don't include <xstrtol.h>, since human.h does it.
60905         (human_options): Adjust to abovementioned interface changes.
60906         Do not report error to stderr; that's now the caller's
60907         responsibility.
60908         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
60909         interface change.
60910         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
60911         Str, Argument_type_string.  All uses changed.  Put " argument"
60912         in diagnostics to make them clearer.  Change wording of suffix
60913         message for clarity.
60914         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
60915         Argument_type_string.
60916         (STRTOL_FATAL_WARN): Remove; no longer used.
60917         * modules/human (Depends-on): Remove gettext-h.
60918
60919 2007-08-06  Simon Josefsson  <simon@josefsson.org>
60920
60921         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
60922
60923 2007-07-31  Bruno Haible  <bruno@clisp.org>
60924
60925         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
60926         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
60927         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
60928
60929 2007-07-31  Bruno Haible  <bruno@clisp.org>
60930
60931         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
60932         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
60933
60934 2007-07-30  Bruno Haible  <bruno@clisp.org>
60935
60936         * modules/base64 (License): Use the synonymous term "LGPLv2+".
60937         * modules/c-ctype (License): Likewise.
60938         * modules/c-strcase (License): Likewise.
60939         * modules/check-version (License): Likewise.
60940         * modules/iconv (License): Likewise.
60941         * modules/iconv_open (License): Likewise.
60942         * modules/read-file (License): Likewise.
60943         * modules/striconv (License): Likewise.
60944         * modules/strverscmp (License): Likewise.
60945         * modules/vasprintf (License): Likewise.
60946         * modules/crypto/des (License): Likewise.
60947         * modules/crypto/gc (License): Likewise.
60948         * modules/crypto/gc-arcfour (License): Likewise.
60949         * modules/crypto/gc-arctwo (License): Likewise.
60950         * modules/crypto/gc-des (License): Likewise.
60951         * modules/crypto/gc-hmac-md5 (License): Likewise.
60952         * modules/crypto/gc-hmac-sha1 (License): Likewise.
60953         * modules/crypto/gc-md2 (License): Likewise.
60954         * modules/crypto/gc-md4 (License): Likewise.
60955         * modules/crypto/gc-md5 (License): Likewise.
60956         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
60957         * modules/crypto/gc-random (License): Likewise.
60958         * modules/crypto/gc-rijndael (License): Likewise.
60959         * modules/crypto/gc-sha1 (License): Likewise.
60960         * modules/crypto/md2 (License): Likewise.
60961         * modules/crypto/md4 (License): Likewise.
60962
60963 2007-07-30  Jim Meyering  <jim@meyering.net>
60964
60965         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
60966         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
60967         it has valid stat data.  This bug would cause du not to count the
60968         sizes of inaccessible directories.
60969         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
60970         in <http://bugzilla.redhat.com/250077>.
60971
60972 2007-07-25  Peter O'Gorman  <peter@pogma.com>
60973             Bruno Haible  <bruno@clisp.org>
60974
60975         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
60976         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
60977         #include_next, gives a diagnostic about it, but reports no error in
60978         the exit code.
60979         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
60980
60981 2007-07-24  Ben Pfaff  <blp@gnu.org>
60982
60983         Improve name: "count-one-bits" is better than "popcount".
60984         * MODULES.html.sh: Update name.
60985         * lib/popcount.h: Renamed lib/count-one-bits.h.
60986         (popcount): Renamed count_one_bits.
60987         (popcountl): Renamed count_one_bits_l.
60988         (popcountll): Renamed count_one_bits_ll.
60989         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
60990         * modules/popcount: Renamed module/count-one-bits.
60991         * modules/popcount-tests: Renamed module/count-one-bits-tests.
60992         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
60993
60994 2007-07-23  Ben Pfaff  <blp@gnu.org>
60995
60996         * lib/popcount.h (popcount32): Reduce size of constants, to allow
60997         better code generation, and add U to large constants to avoid
60998         warnings, in non-GCC case.
60999         Suggested by Bruno Haible.
61000
61001 2007-07-23  Ben Pfaff  <blp@gnu.org>
61002
61003         * lib/popcount.h: Use verify_true instead of if...abort.
61004         * modules/popcount: Depend on verify module.
61005         Suggested by Jim Meyering.
61006
61007 2007-07-23  Bruno Haible  <bruno@clisp.org>
61008
61009         * gnulib-tool (func_import): Create a .cvsignore file also when the
61010         directory is not yet in CVS but the toplevel directory is. When
61011         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
61012         Reported by Karl Berry.
61013
61014 2007-07-22  Ben Pfaff  <blp@gnu.org>
61015
61016         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
61017         case.
61018         Suggested by Eric Blake.
61019
61020 2007-07-22  Ben Pfaff  <blp@gnu.org>
61021
61022         New module: popcount.
61023         * MODULES.html.sh: Add popcount.
61024         * modules/popcount: New file.
61025         * modules/popcount-tests: New file.
61026         * tests/test-popcount.c: New file.
61027         * lib/popcount.h: New file.
61028         * m4/popcount.m4: New file.
61029
61030 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
61031
61032         * build-aux/announce-gen: Update to GPLv3.
61033
61034         * build-aux/config.guess: Update from config.
61035
61036 2007-07-21  Bruno Haible  <bruno@clisp.org>
61037
61038         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
61039         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
61040
61041 2007-07-20  Jim Meyering  <jim@meyering.net>
61042
61043         * check-module: Diagnose a self-dependency.
61044
61045 2007-07-19  Bruno Haible  <bruno@clisp.org>
61046
61047         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
61048         empty.
61049         Reported by Eric Blake.
61050
61051 2007-07-18  Bruno Haible  <bruno@clisp.org>
61052
61053         * gnulib-tool: New options --po-base, --po-domain.
61054         (func_usage): Document them.
61055         (pobase, po_domain): New variables.
61056         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
61057         DEFAULT_TEXT_DOMAIN.
61058         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
61059         (func_import): Consider pobase and po_domain. Create a po/ directory.
61060         (func_create_testdir): Set pobase and po_domain to empty.
61061         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
61062         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
61063
61064 2007-07-18  Bruno Haible  <bruno@clisp.org>
61065
61066         * gnulib-tool (func_get_automake_snippet): Synthesize also an
61067         EXTRA_DIST augmentation for files in build-aux/.
61068
61069 2007-07-16  Bruno Haible  <bruno@clisp.org>
61070
61071         * modules/lseek (License): Use the synonymous term "LGPLv2+".
61072         * modules/getdelim (License): Likewise.
61073
61074 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61075
61076         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
61077         * modules/d-type (License): Likewise.
61078         * modules/extensions (License): Likewise.
61079         * modules/fnmatch (License): Likewise.
61080         * modules/fseeko (License): Likewise.
61081         * modules/getaddrinfo (License): Likewise.
61082         * modules/getline (License): Likewise.
61083         * modules/getlogin_r (License): Likewise.
61084         * modules/getpass (License): Likewise.
61085         * modules/gettimeofday (License): Likewise.
61086         * modules/glob (License): Likewise.
61087         * modules/inet_ntop (License): Likewise.
61088         * modules/malloc (License): Likewise.
61089         * modules/malloca (License): Likewise.
61090         * modules/memmem (License): Likewise.
61091         * modules/mempcpy (License): Likewise.
61092         * modules/memset (License): Likewise.
61093         * modules/minmax (License): Likewise.
61094         * modules/mktime (License): Likewise.
61095         * modules/netinet_in (License): Likewise.
61096         * modules/pathmax (License): Likewise.
61097         * modules/poll (License): Likewise.
61098         * modules/regex (License): Likewise.
61099         * modules/snprintf (License): Likewise.
61100         * modules/stdbool (License): Likewise.
61101         * modules/stdint (License): Likewise.
61102         * modules/stdio (License): Likewise.
61103         * modules/strcase (License): Likewise.
61104         * modules/strcasestr (License): Likewise.
61105         * modules/strdup (License): Likewise.
61106         * modules/string (License): Likewise.
61107         * modules/strndup (License): Likewise.
61108         * modules/strnlen (License): Likewise.
61109         * modules/strpbrk (License): Likewise.
61110         * modules/strptime (License): Likewise.
61111         * modules/strsep (License): Likewise.
61112         * modules/sys_select (License): Likewise.
61113         * modules/sys_socket (License): Likewise.
61114         * modules/sys_stat (License): Likewise.
61115         * modules/sys_time (License): Likewise.
61116         * modules/time (License): Likewise.
61117         * modules/time_r (License): Likewise.
61118         * modules/timegm (License): Likewise.
61119         * modules/unistd (License): Likewise.
61120         * modules/vsnprintf (License): Likewise.
61121         * modules/wctype (License): Likewise.
61122
61123 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61124
61125         * modules/argz (License): LGPLv2+.
61126
61127 2007-07-15  Karl Berry  <karl@gnu.org>
61128
61129         * doc/gnulib.texi: revise node structure per new fdl.texi.
61130
61131 2007-07-14  Bruno Haible  <bruno@clisp.org>
61132
61133         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
61134         the output file.
61135         * lib/uniname/uninames.h: Regenerated.
61136
61137 2007-07-14  Karl Berry  <karl@gnu.org>
61138
61139         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
61140         omitting sectioning and index commands.
61141
61142 2007-07-13  Bruno Haible  <bruno@clisp.org>
61143
61144         New gnulib-tool option --more-symlinks.
61145         * gnulib-tool (func_usage): Document --more-symlinks.
61146         (do_copyrights): New variable.
61147         Recognize option --more-symlinks.
61148         (func_import): Don't add a copyright notice transform to
61149         sed_transform_lib_file if do_copyrights is empty.
61150
61151 2007-07-13  Bruno Haible  <bruno@clisp.org>
61152
61153         * lib/vasnprintf.c (decimal_point_char): Define also if
61154         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
61155         && !NEED_PRINTF_DIRECTIVE_A.
61156         Reported by Clemens Koller <clemens.koller@anagramm.de> via
61157         Gary V. Vaughan <gary@gnu.org>.
61158
61159 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
61160
61161         * lib/inttypes_.h: Undo previous change, since it was fixed
61162         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
61163
61164 2007-07-13  Bruno Haible  <bruno@clisp.org>
61165
61166         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
61167         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
61168
61169 2007-07-13  Jim Meyering  <jim@meyering.net>
61170
61171         df: Don't fail for Tru64's "file-on-file mount".
61172         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
61173         so we fall through and use statfs instead.  Details here:
61174         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
61175         Reported by Albert Chin.
61176
61177 2007-07-13  Bruno Haible  <bruno@clisp.org>
61178
61179         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
61180         * modules/configmake (License): Likewise.
61181         * modules/gettext (License): Likewise.
61182         * modules/gettext-h (License): Likewise.
61183         * modules/include_next (License): Likewise.
61184         * modules/link-warning (License): Likewise.
61185         * modules/localcharset (License): Likewise.
61186         * modules/localename (License): Likewise.
61187         * modules/lock (License): Likewise.
61188         * modules/relocatable-lib-lgpl (License): Likewise.
61189         * modules/size_max (License): Likewise.
61190         * modules/vasnprintf (License): Likewise.
61191         * modules/wchar (License): Likewise.
61192         * modules/xsize (License): Likewise.
61193
61194 2007-07-13  Bruno Haible  <bruno@clisp.org>
61195
61196         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
61197         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
61198
61199 2007-07-12  Bruno Haible  <bruno@clisp.org>
61200
61201         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
61202         in the modules files.
61203
61204 2007-07-11  Karl Berry  <karl@gnu.org>
61205
61206         * MODULES.html.sh (func_module): use
61207          sed -e '\|^'"${includefile}"'$|d'
61208          instead of /.../d, to avoid errors on $includefile's containing /.
61209
61210 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61211
61212         * gnulib-tool (func_import): Avoid duplication of --avoid
61213         statements
61214         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
61215         names to `_' in variable names.
61216
61217 2007-07-10  Eric Blake  <ebb9@byu.net>
61218
61219         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
61220         * NEWS: Document this change.
61221
61222 2007-07-08  Bruno Haible  <bruno@clisp.org>
61223
61224         Update to Unicode 5.0.
61225         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
61226         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
61227         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
61228         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
61229         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
61230         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
61231         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
61232         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
61233         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
61234         U+10A3F, U+1D242..U+1D244.
61235         (nonspacing_table_ind): Update.
61236         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
61237         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
61238
61239 2007-07-08  Bruno Haible  <bruno@clisp.org>
61240
61241         Update to Unicode 5.0.
61242         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
61243         code transform. Extend the name index field of unicode_name_to_code and
61244         unicode_code_to_name from 16 to 24 bits.
61245         * lib/uniname/uniname.c (unicode_character_name,
61246         unicode_name_character): Add the range 0x12xxx to the code transform.
61247         * lib/uniname/uninames.h: Regenerated.
61248         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
61249
61250 2007-07-07  Bruno Haible  <bruno@clisp.org>
61251
61252         * modules/wcwidth-tests: New file.
61253         * tests/test-wcwidth.c: New file.
61254
61255         Work around MacOS X wcwidth() bug.
61256         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
61257         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
61258         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
61259         original wcwidth in non-UTF-8 locales.
61260         * modules/wcwidth (Depends-on): Add localcharset, streq,
61261         uniwidth/width.
61262         * doc/functions/wcwidth.texi: Update.
61263
61264 2007-07-07  Bruno Haible  <bruno@clisp.org>
61265
61266         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
61267         (wcwidth): New declaration.
61268         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
61269         macros.
61270         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
61271         here. Prepare for creating <wchar.h> unconditionally.
61272         * modules/wchar (Depends-on): Add link-warning.
61273         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
61274         REPLACE_WCWIDTH, and GL_LINK_WARNING.
61275         * lib/wcwidth.h: Remove file.
61276         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
61277         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
61278         * modules/wcwidth (Files): Remove lib/wcwidth.h.
61279         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
61280         (Include): Replace wcwidth.h with <wchar.h>.
61281         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
61282         * lib/mbchar.h: Don't include wcwidth.h.
61283         * lib/mbswidth.c: Likewise.
61284         * NEWS: Mention the change.
61285
61286 2007-07-07  Bruno Haible  <bruno@clisp.org>
61287
61288         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
61289         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
61290         definition with an external declaration.
61291         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
61292         defined as a function. Remove AC_C_INLINE requirement.
61293         * modules/wcwidth (Files): Add lib/wcwidth.c.
61294         (Makefile.am): Remove redundant statement.
61295
61296 2007-07-07  Bruno Haible  <bruno@clisp.org>
61297
61298         * MODULES.html.sh (Unicode string functions): Add the new modules.
61299
61300         * tests/uniwidth/test-u32-strwidth.c: New file.
61301         * modules/uniwidth/u32-strwidth-tests: New file.
61302
61303         * lib/uniwidth/u32-strwidth.c: New file.
61304         * modules/uniwidth/u32-strwidth: New file.
61305
61306         * tests/uniwidth/test-u16-strwidth.c: New file.
61307         * modules/uniwidth/u16-strwidth-tests: New file.
61308
61309         * lib/uniwidth/u16-strwidth.c: New file.
61310         * modules/uniwidth/u16-strwidth: New file.
61311
61312         * tests/uniwidth/test-u8-strwidth.c: New file.
61313         * modules/uniwidth/u8-strwidth-tests: New file.
61314
61315         * lib/uniwidth/u8-strwidth.c: New file.
61316         * modules/uniwidth/u8-strwidth: New file.
61317
61318         * tests/uniwidth/test-u32-width.c: New file.
61319         * modules/uniwidth/u32-width-tests: New file.
61320
61321         * lib/uniwidth/u32-width.c: New file.
61322         * modules/uniwidth/u32-width: New file.
61323
61324         * tests/uniwidth/test-u16-width.c: New file.
61325         * modules/uniwidth/u16-width-tests: New file.
61326
61327         * lib/uniwidth/u16-width.c: New file.
61328         * modules/uniwidth/u16-width: New file.
61329
61330         * tests/uniwidth/test-u8-width.c: New file.
61331         * modules/uniwidth/u8-width-tests: New file.
61332
61333         * lib/uniwidth/u8-width.c: New file.
61334         * modules/uniwidth/u8-width: New file.
61335
61336         * tests/uniwidth/test-uc_width.c: New file.
61337         * modules/uniwidth/width-tests: New file.
61338
61339         * lib/uniwidth/width.c: New file, from GNU libiconv.
61340         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
61341         * modules/uniwidth/width: New file.
61342
61343         * lib/uniwidth.h: New file, from GNU libiconv.
61344         * modules/uniwidth/base: New file.
61345
61346 2007-07-07  Bruno Haible  <bruno@clisp.org>
61347
61348         * lib/uniname.h: New file, from GNU gettext.
61349         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
61350         * lib/uniname/uninames.h: New file, from GNU gettext.
61351         * lib/uniname/uniname.c: New file, from GNU gettext.
61352         * tests/uniname/test-uninames.sh: New file.
61353         * tests/uniname/test-uninames.c: New file, from GNU gettext.
61354         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
61355         * modules/uniname/base: New file.
61356         * modules/uniname/uniname: New file.
61357         * modules/uniname/uniname-tests: New file.
61358         * MODULES.html.sh (Unicode string functions): Add the new modules.
61359
61360 2007-07-06  Bruno Haible  <bruno@clisp.org>
61361
61362         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
61363
61364 2007-07-06  Bruno Haible  <bruno@clisp.org>
61365
61366         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
61367         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
61368         includes <cygwin/sys_time.h> which includes <sys/select.h> which
61369         include <sys/time.h>.
61370         Reported by Eric Blake.
61371
61372 2007-07-06  Eric Blake  <ebb9@byu.net>
61373
61374         Fix testing canonicalize on cygwin.
61375         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
61376         Revert patch from 2007-06-19.
61377         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
61378         canonicalize module is also in use.
61379         * tests/test-canonicalize.c: New file.
61380         * tests/test-canonicalize.sh: Likewise.
61381         * modules/canonicalize-tests: Likewise.
61382
61383 2007-07-06  Jim Meyering  <jim@meyering.net>
61384
61385         * lib/getugroups.c (getugroups): Detect getgrent failure.
61386         Adjust comment to reflect reality: this function may return -1.
61387
61388 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
61389
61390         * build-aux/bootstrap (TP_URL,get_translations): Update to use
61391         the new TP address.
61392         (usage): Fix typo
61393         (gnulib_mk): New variable.
61394
61395 2007-07-05  Jim Meyering  <jim@meyering.net>
61396
61397         Don't let endgrent clobber errno, no matter how improbable.
61398         * lib/getugroups.c (getugroups): Save and restore errno around
61399         endgrent call.
61400
61401         Close the group DB even when failing with 2^31 or more members.
61402         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
61403
61404 2007-07-04  Jim Meyering  <jim@meyering.net>
61405
61406         * lib/getugroups.h: New file.
61407         * lib/getugroups.c: Include "getugroups.h".
61408         Remove uses of "register" keyword.
61409         Move local variable, "cp", down into scope where used.
61410         Give "username" parameter the "const" attribute.
61411         * modules/getugroups (Files): Add lib/getugroups.h
61412
61413 2007-07-04  Karl Berry  <karl@gnu.org>
61414
61415         * MODULES.html.sh (func_all_modules): Complete rename of
61416         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
61417
61418 2007-07-02  Bruno Haible  <bruno@clisp.org>
61419
61420         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
61421         mode, when inttypes.h comes from gnulib.
61422         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
61423
61424 2007-07-02  Simon Josefsson  <simon@josefsson.org>
61425
61426         * NEWS: Mention lgpl module name change.
61427
61428         * modules/lgpl-2.1: Renamed from lgpl.
61429
61430         * NEWS: Mention gpl module name change.
61431
61432         * modules/gpl-3.0: New file, based on gpl-2.0.
61433
61434         * modules/gpl-2.0: Renamed from gpl.
61435
61436         * modules/gpl: Fix filename, doc/gpl.texi is now found at
61437         doc/gpl-2.0.texi.
61438
61439 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
61440
61441         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
61442         #define __STDC_LIMIT_MACROS temporarily while including
61443         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
61444         Problem reported by Joel E. Denny in
61445         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
61446
61447 2007-07-01  Bruno Haible  <bruno@clisp.org>
61448
61449         * lib/unistdio.h: New file.
61450         * lib/unistdio/u-asnprintf.h: New file.
61451         * lib/unistdio/u-asprintf.h: New file.
61452         * lib/unistdio/u-printf-args.c: New file.
61453         * lib/unistdio/u-printf-args.h: New file.
61454         * lib/unistdio/u-printf-parse.h: New file.
61455         * lib/unistdio/u-snprintf.h: New file.
61456         * lib/unistdio/u-sprintf.h: New file.
61457         * lib/unistdio/u-vasprintf.h: New file.
61458         * lib/unistdio/u-vsnprintf.h: New file.
61459         * lib/unistdio/u-vsprintf.h: New file.
61460         * lib/unistdio/ulc-asnprintf.c: New file.
61461         * lib/unistdio/ulc-asprintf.c: New file.
61462         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
61463         * lib/unistdio/ulc-printf-parse.c: New file.
61464         * lib/unistdio/ulc-snprintf.c: New file.
61465         * lib/unistdio/ulc-sprintf.c: New file.
61466         * lib/unistdio/ulc-vasnprintf.c: New file.
61467         * lib/unistdio/ulc-vasprintf.c: New file.
61468         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
61469         * lib/unistdio/ulc-vsnprintf.c: New file.
61470         * lib/unistdio/ulc-vsprintf.c: New file.
61471         * lib/unistdio/u8-asnprintf.c: New file.
61472         * lib/unistdio/u8-asprintf.c: New file.
61473         * lib/unistdio/u8-printf-parse.c: New file.
61474         * lib/unistdio/u8-snprintf.c: New file.
61475         * lib/unistdio/u8-sprintf.c: New file.
61476         * lib/unistdio/u8-vasnprintf.c: New file.
61477         * lib/unistdio/u8-vasprintf.c: New file.
61478         * lib/unistdio/u8-vsnprintf.c: New file.
61479         * lib/unistdio/u8-vsprintf.c: New file.
61480         * lib/unistdio/u8-u8-asnprintf.c: New file.
61481         * lib/unistdio/u8-u8-asprintf.c: New file.
61482         * lib/unistdio/u8-u8-snprintf.c: New file.
61483         * lib/unistdio/u8-u8-sprintf.c: New file.
61484         * lib/unistdio/u8-u8-vasnprintf.c: New file.
61485         * lib/unistdio/u8-u8-vasprintf.c: New file.
61486         * lib/unistdio/u8-u8-vsnprintf.c: New file.
61487         * lib/unistdio/u8-u8-vsprintf.c: New file.
61488         * lib/unistdio/u16-asnprintf.c: New file.
61489         * lib/unistdio/u16-asprintf.c: New file.
61490         * lib/unistdio/u16-printf-parse.c: New file.
61491         * lib/unistdio/u16-snprintf.c: New file.
61492         * lib/unistdio/u16-sprintf.c: New file.
61493         * lib/unistdio/u16-vasnprintf.c: New file.
61494         * lib/unistdio/u16-vasprintf.c: New file.
61495         * lib/unistdio/u16-vsnprintf.c: New file.
61496         * lib/unistdio/u16-vsprintf.c: New file.
61497         * lib/unistdio/u16-u16-asnprintf.c: New file.
61498         * lib/unistdio/u16-u16-asprintf.c: New file.
61499         * lib/unistdio/u16-u16-snprintf.c: New file.
61500         * lib/unistdio/u16-u16-sprintf.c: New file.
61501         * lib/unistdio/u16-u16-vasnprintf.c: New file.
61502         * lib/unistdio/u16-u16-vasprintf.c: New file.
61503         * lib/unistdio/u16-u16-vsnprintf.c: New file.
61504         * lib/unistdio/u16-u16-vsprintf.c: New file.
61505         * lib/unistdio/u32-asnprintf.c: New file.
61506         * lib/unistdio/u32-asprintf.c: New file.
61507         * lib/unistdio/u32-printf-parse.c: New file.
61508         * lib/unistdio/u32-snprintf.c: New file.
61509         * lib/unistdio/u32-sprintf.c: New file.
61510         * lib/unistdio/u32-vasnprintf.c: New file.
61511         * lib/unistdio/u32-vasprintf.c: New file.
61512         * lib/unistdio/u32-vsnprintf.c: New file.
61513         * lib/unistdio/u32-vsprintf.c: New file.
61514         * lib/unistdio/u32-u32-asnprintf.c: New file.
61515         * lib/unistdio/u32-u32-asprintf.c: New file.
61516         * lib/unistdio/u32-u32-snprintf.c: New file.
61517         * lib/unistdio/u32-u32-sprintf.c: New file.
61518         * lib/unistdio/u32-u32-vasnprintf.c: New file.
61519         * lib/unistdio/u32-u32-vasprintf.c: New file.
61520         * lib/unistdio/u32-u32-vsnprintf.c: New file.
61521         * lib/unistdio/u32-u32-vsprintf.c: New file.
61522         * tests/unistdio/test-ulc-asnprintf1.c: New file.
61523         * tests/unistdio/test-ulc-asnprintf1.h: New file.
61524         * tests/unistdio/test-ulc-printf1.h: New file.
61525         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
61526         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
61527         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
61528         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
61529         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
61530         * tests/unistdio/test-ulc-vasprintf1.c: New file.
61531         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
61532         * tests/unistdio/test-ulc-vsprintf1.c: New file.
61533         * tests/unistdio/test-u8-asnprintf1.c: New file.
61534         * tests/unistdio/test-u8-asnprintf1.h: New file.
61535         * tests/unistdio/test-u8-printf1.h: New file.
61536         * tests/unistdio/test-u8-vasnprintf1.c: New file.
61537         * tests/unistdio/test-u8-vasnprintf2.c: New file.
61538         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
61539         * tests/unistdio/test-u8-vasnprintf3.c: New file.
61540         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
61541         * tests/unistdio/test-u8-vasprintf1.c: New file.
61542         * tests/unistdio/test-u8-vsnprintf1.c: New file.
61543         * tests/unistdio/test-u8-vsprintf1.c: New file.
61544         * tests/unistdio/test-u16-asnprintf1.c: New file.
61545         * tests/unistdio/test-u16-asnprintf1.h: New file.
61546         * tests/unistdio/test-u16-printf1.h: New file.
61547         * tests/unistdio/test-u16-vasnprintf1.c: New file.
61548         * tests/unistdio/test-u16-vasnprintf2.c: New file.
61549         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
61550         * tests/unistdio/test-u16-vasnprintf3.c: New file.
61551         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
61552         * tests/unistdio/test-u16-vasprintf1.c: New file.
61553         * tests/unistdio/test-u16-vsnprintf1.c: New file.
61554         * tests/unistdio/test-u16-vsprintf1.c: New file.
61555         * tests/unistdio/test-u32-asnprintf1.c: New file.
61556         * tests/unistdio/test-u32-asnprintf1.h: New file.
61557         * tests/unistdio/test-u32-printf1.h: New file.
61558         * tests/unistdio/test-u32-vasnprintf1.c: New file.
61559         * tests/unistdio/test-u32-vasnprintf2.c: New file.
61560         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
61561         * tests/unistdio/test-u32-vasnprintf3.c: New file.
61562         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
61563         * tests/unistdio/test-u32-vasprintf1.c: New file.
61564         * tests/unistdio/test-u32-vsnprintf1.c: New file.
61565         * tests/unistdio/test-u32-vsprintf1.c: New file.
61566         * modules/unistdio/base: New file.
61567         * modules/unistdio/u-printf-args: New file.
61568         * modules/unistdio/ulc-asnprintf: New file.
61569         * modules/unistdio/ulc-asprintf: New file.
61570         * modules/unistdio/ulc-fprintf: New file.
61571         * modules/unistdio/ulc-printf-parse: New file.
61572         * modules/unistdio/ulc-snprintf: New file.
61573         * modules/unistdio/ulc-sprintf: New file.
61574         * modules/unistdio/ulc-vasnprintf: New file.
61575         * modules/unistdio/ulc-vasprintf: New file.
61576         * modules/unistdio/ulc-vfprintf: New file.
61577         * modules/unistdio/ulc-vsnprintf: New file.
61578         * modules/unistdio/ulc-vsprintf: New file.
61579         * modules/unistdio/u8-asnprintf: New file.
61580         * modules/unistdio/u8-asprintf: New file.
61581         * modules/unistdio/u8-printf-parse: New file.
61582         * modules/unistdio/u8-snprintf: New file.
61583         * modules/unistdio/u8-sprintf: New file.
61584         * modules/unistdio/u8-vasnprintf: New file.
61585         * modules/unistdio/u8-vasprintf: New file.
61586         * modules/unistdio/u8-vsnprintf: New file.
61587         * modules/unistdio/u8-vsprintf: New file.
61588         * modules/unistdio/u8-u8-asnprintf: New file.
61589         * modules/unistdio/u8-u8-asprintf: New file.
61590         * modules/unistdio/u8-u8-snprintf: New file.
61591         * modules/unistdio/u8-u8-sprintf: New file.
61592         * modules/unistdio/u8-u8-vasnprintf: New file.
61593         * modules/unistdio/u8-u8-vasprintf: New file.
61594         * modules/unistdio/u8-u8-vsnprintf: New file.
61595         * modules/unistdio/u8-u8-vsprintf: New file.
61596         * modules/unistdio/u16-asnprintf: New file.
61597         * modules/unistdio/u16-asprintf: New file.
61598         * modules/unistdio/u16-printf-parse: New file.
61599         * modules/unistdio/u16-snprintf: New file.
61600         * modules/unistdio/u16-sprintf: New file.
61601         * modules/unistdio/u16-vasnprintf: New file.
61602         * modules/unistdio/u16-vasprintf: New file.
61603         * modules/unistdio/u16-vsnprintf: New file.
61604         * modules/unistdio/u16-vsprintf: New file.
61605         * modules/unistdio/u16-u16-asnprintf: New file.
61606         * modules/unistdio/u16-u16-asprintf: New file.
61607         * modules/unistdio/u16-u16-snprintf: New file.
61608         * modules/unistdio/u16-u16-sprintf: New file.
61609         * modules/unistdio/u16-u16-vasnprintf: New file.
61610         * modules/unistdio/u16-u16-vasprintf: New file.
61611         * modules/unistdio/u16-u16-vsnprintf: New file.
61612         * modules/unistdio/u16-u16-vsprintf: New file.
61613         * modules/unistdio/u32-asnprintf: New file.
61614         * modules/unistdio/u32-asprintf: New file.
61615         * modules/unistdio/u32-printf-parse: New file.
61616         * modules/unistdio/u32-snprintf: New file.
61617         * modules/unistdio/u32-sprintf: New file.
61618         * modules/unistdio/u32-vasnprintf: New file.
61619         * modules/unistdio/u32-vasprintf: New file.
61620         * modules/unistdio/u32-vsnprintf: New file.
61621         * modules/unistdio/u32-vsprintf: New file.
61622         * modules/unistdio/u32-u32-asnprintf: New file.
61623         * modules/unistdio/u32-u32-asprintf: New file.
61624         * modules/unistdio/u32-u32-snprintf: New file.
61625         * modules/unistdio/u32-u32-sprintf: New file.
61626         * modules/unistdio/u32-u32-vasnprintf: New file.
61627         * modules/unistdio/u32-u32-vasprintf: New file.
61628         * modules/unistdio/u32-u32-vsnprintf: New file.
61629         * modules/unistdio/u32-u32-vsprintf: New file.
61630         * modules/unistdio/ulc-asnprintf-tests: New file.
61631         * modules/unistdio/ulc-vasnprintf-tests: New file.
61632         * modules/unistdio/ulc-vasprintf-tests: New file.
61633         * modules/unistdio/ulc-vsnprintf-tests: New file.
61634         * modules/unistdio/ulc-vsprintf-tests: New file.
61635         * modules/unistdio/u8-asnprintf-tests: New file.
61636         * modules/unistdio/u8-vasnprintf-tests: New file.
61637         * modules/unistdio/u8-vasprintf-tests: New file.
61638         * modules/unistdio/u8-vsnprintf-tests: New file.
61639         * modules/unistdio/u8-vsprintf-tests: New file.
61640         * modules/unistdio/u16-asnprintf-tests: New file.
61641         * modules/unistdio/u16-vasnprintf-tests: New file.
61642         * modules/unistdio/u16-vasprintf-tests: New file.
61643         * modules/unistdio/u16-vsnprintf-tests: New file.
61644         * modules/unistdio/u16-vsprintf-tests: New file.
61645         * modules/unistdio/u32-asnprintf-tests: New file.
61646         * modules/unistdio/u32-vasnprintf-tests: New file.
61647         * modules/unistdio/u32-vasprintf-tests: New file.
61648         * modules/unistdio/u32-vsnprintf-tests: New file.
61649         * modules/unistdio/u32-vsprintf-tests: New file.
61650         * MODULES.html.sh (Unicode string functions): Add the new modules.
61651
61652 2007-07-01  Bruno Haible  <bruno@clisp.org>
61653
61654         * lib/sprintf.c (sprintf): Limit the available length estimation,
61655         to avoid address wraparound.
61656         * lib/vsprintf.c (vsprintf): Likewise.
61657         * modules/sprintf-posix (Dependencies): Add stdint.
61658         * modules/vsprintf-posix (Dependencies): Likewise.
61659
61660 2007-07-01  Bruno Haible  <bruno@clisp.org>
61661
61662         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
61663         Windows PATH as well. Conservative double-quoting. Comments.
61664
61665 2007-07-01  Bruno Haible  <bruno@clisp.org>
61666             Eric Blake  <ebb9@byu.net>
61667             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61668
61669         * gnulib-tool (self_abspathname): Fix algorithm to cope with
61670         empty components in $PATH, denoting '.'.
61671
61672 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61673
61674         * gnulib-tool: Fix indentation.
61675         (func_create_megatestdir): Likewise.
61676         Report by Bruno Haible.
61677
61678 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61679
61680         Sync from Automake.
61681         * build-aux/gnupload: Fix shell portability issues with for loops.
61682         Report by Karl Berry.
61683
61684 2007-06-29  Simon Josefsson  <simon@josefsson.org>
61685
61686         * build-aux/maint.mk (POURL): Use translationproject.org.
61687
61688 2007-06-27  Simon Josefsson  <simon@josefsson.org>
61689             Bruno Haible  <bruno@clisp.org>
61690
61691         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
61692         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
61693         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
61694         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
61695         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
61696
61697 2007-06-27  Bruno Haible  <bruno@clisp.org>
61698
61699         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
61700         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
61701
61702 2007-06-26  Karl Berry  <karl@gnu.org>
61703
61704         * MODULES.html.sh: remove xreadlink-with-size.
61705
61706 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
61707
61708         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
61709         method that I hope also handles the double-include problem noted
61710         by Bruno Haible in
61711         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
61712
61713 2007-06-23  Bruno Haible  <bruno@clisp.org>
61714
61715         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61716         Don't let the 'mostlyclean' target fail if the last subdirectory could
61717         not be removed.
61718         Reported by Karl Berry.
61719
61720 2007-06-23  Bruno Haible  <bruno@clisp.org>
61721
61722         * gnulib-tool (echo): Add a speedier workaround for ksh.
61723         * tests/test-echo.sh: Likewise.
61724
61725 2007-06-23  Bruno Haible  <bruno@clisp.org>
61726
61727         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
61728         * tests/test-echo.sh: Likewise.
61729
61730 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61731
61732         * gnulib-tool (IFS): Initialize early, so we don't set it to
61733         empty later.
61734         (self_abspathname): Rewrite algorithm to set it, reindent.
61735         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
61736         (func_create_megatestdir): Merge some sed scripts.
61737
61738 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
61739
61740         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
61741         exposed by Sun Studio 11 cc on Solaris 8.
61742
61743 2007-06-22  Bruno Haible  <bruno@clisp.org>
61744
61745         * gnulib-tool (echo): Ensure the echo primitive does not interpret
61746         backslashes.
61747         * tests/test-echo.sh: New file.
61748
61749 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61750
61751         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
61752         simplify `sed_replace_build_aux' scripts, they are portable but
61753         echoing them with `echo' is not.
61754         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
61755
61756 2007-06-21  Karl Berry  <karl@gnu.org>
61757
61758         * config/srclist.txt: guess we can't handle the licenses via
61759         srclist at the moment.
61760
61761 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
61762
61763         * MODULES.html.sh: Add include_next.
61764         * modules/include_next: New file.
61765
61766 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
61767
61768         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
61769         INCLUDE_NEXT.
61770         (gl_CHECK_NEXT_HEADERS): New macro.
61771         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
61772         the obsolescent gl_ABSOLUTE_HEADER.
61773         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
61774         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
61775         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
61776         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
61777         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
61778         * m4/math_h.m4 (gl_MATH_H): Likewise.
61779         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
61780         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
61781         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
61782         * m4/stdint.m4 (gl_STDINT_H): Likewise.
61783         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
61784         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
61785         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
61786         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
61787         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
61788         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
61789         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
61790         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
61791         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
61792         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
61793         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
61794         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
61795         * m4/inttypes.m4 (gl_INTTYPES_H): Define
61796         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
61797         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
61798         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
61799         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
61800         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
61801         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
61802         * lib/float_.h: Likewise.
61803         * lib/inttypes_.h: Likewise.
61804         * lib/math_.h: Likewise.
61805         * lib/search_.h: Likewise.
61806         * lib/signal_.h: Likewise.
61807         * lib/stdint_.h: Likewise.
61808         * lib/stdio_.h: Likewise.
61809         * lib/stdlib_.h: Likewise.
61810         * lib/string_.h: Likewise.
61811         * lib/sys_stat_.h: Likewise.
61812         * lib/sys_time_.h: Likewise.
61813         * lib/time_.h: Likewise.
61814         * lib/unistd_.h: Likewise.
61815         * lib/wchar_.h: Likewise.
61816         * lib/wctype_.h: Likewise.
61817         * lib/dirent_.h: Likewise.
61818         * lib/iconv_.h: Likewise.
61819         * lib/locale_.h: Likewise.
61820         * lib/netinet_in_.h: Likewise.
61821         * lib/sys_select_.h: Likewise.
61822         * lib/sys_socket_.h: Likewise.
61823         * lib/sysexits_.h: Likewise.
61824         * modules/fcntl (Depends-on): Depend on include_next, not
61825         absolute_header.
61826         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
61827         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
61828         * modules/fchdir: Likewise.
61829         * modules/float: Likewise.
61830         * modules/iconv_open: Likewise.
61831         * modules/inttypes: Likewise.
61832         * modules/locale: Likewise.
61833         * modules/math: Likewise.
61834         * modules/netinet_in: Likewise.
61835         * modules/search: Likewise.
61836         * modules/signal: Likewise.
61837         * modules/stdint: Likewise.
61838         * modules/stdio: Likewise.
61839         * modules/stdlib: Likewise.
61840         * modules/string: Likewise.
61841         * modules/sys_select: Likewise.
61842         * modules/sys_socket: Likewise.
61843         * modules/sys_stat: Likewise.
61844         * modules/sys_time: Likewise.
61845         * modules/sysexits: Likewise.
61846         * modules/time: Likewise.
61847         * modules/unistd: Likewise.
61848         * modules/wchar: Likewise.
61849         * modules/wctype: Likewise.
61850         * modules/sys_stat: Change maintainer to "all".
61851         * modules/unistd: Likewise.
61852
61853 2007-06-20  Karl Berry  <karl@gnu.org>
61854
61855         * config/srclist.txt: track www changes in license files.
61856
61857 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
61858
61859         * build-aux/bootstrap: Remove stray dot.
61860         Make sure build_aux settings are honored when linking
61861         gnulib_extra_files.
61862
61863 2007-06-19  Eric Blake  <ebb9@byu.net>
61864
61865         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
61866         Allow compilation on cygwin.
61867
61868 2007-06-19  Jim Meyering  <jim@meyering.net>
61869
61870         xreadlink-with-size: Remove module.  No longer used.
61871         Ex-callers now use xreadlink or mreadlink-with-size.
61872         * modules/xreadlink-with-size: Remove module.
61873         * lib/xreadlink-with-size.c: Remove file.
61874         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
61875         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
61876         just before the function definition *is* accurate.
61877
61878         Eliminate one way canonicalize_filename_mode could exit.
61879         * lib/canonicalize.c (canonicalize_filename_mode):
61880         Use mreadlink_with_size, not xreadlink_with_size.
61881
61882 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
61883
61884         Detect porting problems to FreeBSD/arm, which has time_t wider than
61885         long int.  Original problem reported for GNU diff by Xin Li in
61886         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
61887         * modules/getdate (Depends-on): Add intprops, verify.
61888         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
61889         is an integer type no wider than long int.
61890
61891 2007-06-18  Jim Meyering  <jim@meyering.net>
61892
61893         New module: mreadlink-with-size.
61894         * MODULES.html.sh: Add mreadlink-with-size.
61895         * modules/mreadlink-with-size: New module
61896         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
61897         not xreadlink-with-size.
61898         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
61899
61900 2007-06-16  Bruno Haible  <bruno@clisp.org>
61901
61902         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
61903         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
61904         Reported by Gary V. Vaughan <gary@gnu.org>.
61905
61906 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
61907
61908         Revamp lchown so that it lives in unistd.h where it belongs.
61909         * lib/lchown.h: Remove.
61910         * lib/dirchownmod.c: Don't include lib/lchown.h.
61911         * lib/fchownat.c: Likewise.
61912         * lib/openat.c: Likewise.
61913         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
61914         does not follow symlinks.
61915         (EOPNOTSUPP): Define if not defined.
61916         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
61917         is defined to 0.
61918         (lchown): New decl.
61919         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
61920         Do not check for lchown decl.
61921         Set REPLACE_LCHOWN.
61922         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
61923         REPLACE_LCHOWN.
61924         * modules/chown: Make it clear it follows symlinks.
61925         * modules/lchown: Make it clear it doesn't follow symlinks.
61926         (Files): Remove lib/lchown.h
61927         (Depends-on): Add unistd.
61928         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
61929         (Include): Include <unistd.h>, not "lchown.h".
61930         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
61931         REPLACE_LCHOWN.
61932
61933 2007-06-15  Jim Meyering  <jim@meyering.net>
61934
61935         Change license (GPL to LGPL) of fsusage and dependents.
61936         * modules/fsusage (License): Change to LGPL.
61937         * modules/full-read (License): Likewise.
61938         * modules/full-write (License): Likewise.
61939         * modules/safe-read (License): Likewise.
61940         * modules/safe-write (License): Likewise.
61941
61942 2007-06-14  Ben Pfaff  <blp@gnu.org>
61943
61944         Missing part of allocsa -> malloca transition.
61945         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
61946         gl_MALLOCA.
61947
61948 2007-06-12  Bruno Haible  <bruno@clisp.org>
61949
61950         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
61951         to ia64, x86_64, i386.
61952         Reported by Eric Blake.
61953
61954 2007-06-12  Bruno Haible  <bruno@clisp.org>
61955
61956         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
61957         cross-compiling to x86_64.
61958
61959 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
61960
61961         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
61962         glitch reported by Ralf Wildenhues in
61963         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
61964
61965         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
61966         Vin Shelton.
61967
61968 2007-06-11  Bruno Haible  <bruno@clisp.org>
61969
61970         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
61971         replacement string.
61972         Reported by Eric Blake.
61973
61974 2007-06-10  Bruno Haible  <bruno@clisp.org>
61975
61976         Prepare vasnprintf code for use with Unicode strings.
61977         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
61978         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
61979         TYPE_U32_STRING.
61980         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
61981         a_u32_string variants.
61982         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
61983         * lib/printf-args.c: Don't include config.h and the specification
61984         header if PRINTF_FETCHARGS is already defined.
61985         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
61986         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
61987         TYPE_U16_STRING, TYPE_U32_STRING.
61988         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
61989         u16_directive, u16_directives, u32_directive, u32_directives): New
61990         types.
61991         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
61992         New declarations.
61993         * lib/printf-parse.c: Don't include config.h and the specification
61994         header if PRINTF_PARSE is already defined. Eliminate the set of
61995         parameters for WIDE_CHAR_VERSION; the user of this file must provide
61996         them now. Include c-ctype.h.
61997         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
61998         directive and CHAR_T_ONLY_ASCII.
61999         * lib/vasnprintf.c: Don't include config.h and the specification header
62000         if VASNPRINTF is already defined.
62001         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
62002         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
62003         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
62004         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
62005         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
62006         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
62007         code accordingly.
62008         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
62009         pad_ourselves also in this case, with the 'c' and 's' directives, and
62010         with a different notion of "width".
62011         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
62012
62013 2007-06-10  Bruno Haible  <bruno@clisp.org>
62014
62015         * modules/unistr/u32-mbsnlen: New file.
62016         * lib/unistr/u32-mbsnlen.c: New file.
62017
62018         * modules/unistr/u16-mbsnlen: New file.
62019         * lib/unistr/u16-mbsnlen.c: New file.
62020
62021         * modules/unistr/u8-mbsnlen: New file.
62022         * lib/unistr/u8-mbsnlen.c: New file.
62023
62024         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
62025         declarations.
62026
62027 2007-06-10  Bruno Haible  <bruno@clisp.org>
62028
62029         * lib/string_.h (mbsnlen): New declaration.
62030         * lib/mbsnlen.c: New file.
62031         * m4/mbsnlen.m4: New file.
62032         * modules/mbsnlen: New file.
62033         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
62034         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
62035         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
62036
62037 2007-06-10  Bruno Haible  <bruno@clisp.org>
62038
62039         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
62040
62041 2007-06-10  Bruno Haible  <bruno@clisp.org>
62042
62043         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
62044         * lib/mbuiter.h: Likewise.
62045
62046 2007-06-10  Bruno Haible  <bruno@clisp.org>
62047
62048         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
62049         declaration.
62050
62051 2007-06-10  Karl Berry  <karl@gnu.org>
62052
62053         * config/srclist.txt: remove gettext entries, Bruno prefers
62054         to update individually.
62055
62056 2007-06-10  Bruno Haible  <bruno@clisp.org>
62057
62058         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
62059         'maxlen'. Ensure only length + width bytes are allocated, not
62060         length + 1 + width.
62061
62062 2007-06-09  Bruno Haible  <bruno@clisp.org>
62063
62064         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
62065         (CHAR_T): Remove macro.
62066         (VASNPRINTF): Update.
62067
62068 2007-06-09  Bruno Haible  <bruno@clisp.org>
62069
62070         * MODULES.html.sh (Unicode string functions): Add the new modules.
62071
62072         * modules/uniconv/u32-conv-to-enc: New file.
62073         * lib/uniconv/u32-conv-to-enc.c: New file.
62074         * modules/uniconv/u32-conv-to-enc-tests: New file.
62075         * tests/uniconv/test-u32-conv-to-enc.c: New file.
62076
62077         * modules/uniconv/u16-conv-to-enc: New file.
62078         * lib/uniconv/u16-conv-to-enc.c: New file.
62079         * lib/uniconv/u-conv-to-enc.h: New file.
62080         * modules/uniconv/u16-conv-to-enc-tests: New file.
62081         * tests/uniconv/test-u16-conv-to-enc.c: New file.
62082
62083         * modules/uniconv/u8-conv-to-enc: New file.
62084         * lib/uniconv/u8-conv-to-enc.c: New file.
62085         * modules/uniconv/u8-conv-to-enc-tests: New file.
62086         * tests/uniconv/test-u8-conv-to-enc.c: New file.
62087
62088         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
62089         u32_conv_to_encoding): New declarations.
62090
62091 2007-06-09  Bruno Haible  <bruno@clisp.org>
62092
62093         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
62094
62095 2007-06-09  Bruno Haible  <bruno@clisp.org>
62096
62097         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
62098         * modules/malloca: Renamed from modules/allocsa, updated.
62099         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
62100         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
62101         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
62102         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
62103         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
62104         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
62105         * modules/xmalloca: Renamed from modules/xallocsa, updated.
62106         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
62107         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
62108         * modules/c-strcasestr (Depends-on): Update.
62109         * lib/c-strcasestr.c: Update.
62110         * modules/c-strstr (Depends-on): Update.
62111         * lib/c-strstr.c: Update.
62112         * modules/canonicalize-lgpl (Depends-on): Update.
62113         * lib/canonicalize-lgpl.c: Update.
62114         * modules/clean-temp (Depends-on): Update.
62115         * lib/clean-temp.c: Update.
62116         * modules/csharpcomp (Depends-on): Update.
62117         * lib/csharpcomp.c: Update.
62118         * modules/csharpexec (Depends-on): Update.
62119         * lib/csharpexec.c: Update.
62120         * modules/javacomp (Depends-on): Update.
62121         * lib/javacomp.c: Update.
62122         * modules/javaexec (Depends-on): Update.
62123         * lib/javaexec.c: Update.
62124         * modules/mbscasestr (Depends-on): Update.
62125         * lib/mbscasestr.c: Update.
62126         * modules/mbsstr (Depends-on): Update.
62127         * lib/mbsstr.c: Update.
62128         * modules/setenv (Depends-on): Update.
62129         * lib/setenv.c: Update.
62130         * modules/strcasestr (Depends-on): Update.
62131         * lib/strcasestr.c: Update.
62132         * modules/striconveha (Depends-on): Update.
62133         * lib/striconveha.c: Update.
62134         * modules/relocatable-prog-wrapper (Files): Update.
62135         * lib/relocwrapper.c: Update.
62136         * build-aux/install-reloc: Update.
62137         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
62138
62139 2007-06-08  Bruno Haible  <bruno@clisp.org>
62140
62141         Port to uClibc.
62142         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
62143         * lib/fpurge.c (fpurge): Likewise.
62144         * lib/freading.c (freading): Likewise.
62145         * lib/fseeko.c (rpl_fseeko): Likewise.
62146         * lib/fseterr.c (fseterr): Likewise.
62147         * lib/fwriting.c (fwriting): Likewise.
62148         * tests/test-fflush.c (main): Avoid a failure on uClibc.
62149
62150 2007-06-08  Bruno Haible  <bruno@clisp.org>
62151
62152         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
62153         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
62154         * modules/gettext (Files): Add m4/intlmacosx.m4.
62155
62156 2007-06-07  Bruno Haible  <bruno@clisp.org>
62157
62158         * modules/localename-tests: New file.
62159         * tests/test-localename.c: New file.
62160
62161         New module 'localename'.
62162         * lib/localename.h: New file.
62163         * lib/localename.c: New file, from GNU gettext.
62164         * m4/localename.m4: New file.
62165         * modules/localename: New file.
62166
62167 2007-06-07  Bruno Haible  <bruno@clisp.org>
62168
62169         Work around the lack of <wchar.h> on some builds of uClibc.
62170         * doc/headers/wchar.texi: Update.
62171         * lib/wchar_.h: Include <wchar.h> only if it exists.
62172         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
62173         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
62174         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
62175         doesn't exist.
62176         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
62177         * modules/mbfile (Depends-on): Add wchar.
62178         * modules/mbiter (Depends-on): Likewise.
62179         * modules/mbuiter (Depends-on): Likewise.
62180         Reported by Simon Josefsson.
62181
62182 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
62183
62184         Work around problem reported by Steven M. Schweda in
62185         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
62186         Tru64 5.1B with the Compaq compiler environment installed declares
62187         an 'isblank' function but does not define it in the C library.
62188         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
62189         * lib/regex_internal.h (isblank): Likewise.
62190         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
62191         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
62192
62193 2007-06-05  Bruno Haible  <bruno@clisp.org>
62194
62195         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
62196         ia64.
62197         * modules/printf-safe: New file.
62198         * modules/fprintf-posix (Depends-on): Add printf-safe.
62199         * modules/printf-posix (Depends-on): Likewise.
62200         * modules/snprintf-posix (Depends-on): Likewise.
62201         * modules/sprintf-posix (Depends-on): Likewise.
62202         * modules/vasnprintf-posix (Depends-on): Likewise.
62203         * modules/vasprintf-posix (Depends-on): Likewise.
62204         * modules/vfprintf-posix (Depends-on): Likewise.
62205         * modules/vprintf-posix (Depends-on): Likewise.
62206         * modules/vsnprintf-posix (Depends-on): Likewise.
62207         * modules/vsprintf-posix (Depends-on): Likewise.
62208         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
62209         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
62210         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
62211         "no" on i386, x86_64, ia64.
62212         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
62213         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62214         on i386, x86_64, ia64.
62215         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
62216         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62217         on i386, x86_64, ia64.
62218         * tests/test-vasnprintf-posix.c: Include float.h.
62219         (LDBL80_WORDS): New macro.
62220         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62221         on i386, x86_64, ia64.
62222         * tests/test-vasprintf-posix.c: Include float.h.
62223         (LDBL80_WORDS): New macro.
62224         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62225         on i386, x86_64, ia64.
62226         * tests/test-snprintf-posix.c: Include float.h.
62227         * tests/test-sprintf-posix.c: Likewise.
62228         * tests/test-vsnprintf-posix.c: Likewise.
62229         * tests/test-vsprintf-posix.c: Likewise.
62230
62231 2007-06-05  Bruno Haible  <bruno@clisp.org>
62232
62233         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
62234         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
62235         non-IEEE numbers on i386, x86_64, ia64.
62236         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
62237         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
62238         * tests/test-isnanl.h: Include float.h.
62239         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
62240
62241 2007-06-05  Bruno Haible  <bruno@clisp.org>
62242
62243         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
62244         also the %a / %A. Handle the %a / %A code before this extra handling.
62245
62246 2007-06-05  Bruno Haible  <bruno@clisp.org>
62247
62248         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
62249         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
62250
62251 2007-06-05  Bruno Haible  <bruno@clisp.org>
62252
62253         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
62254         typo in variable name.
62255
62256 2007-06-05  Eric Blake  <ebb9@byu.net>
62257
62258         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
62259         Reported by Simon Josefsson.
62260
62261 2007-06-04  Bruno Haible  <bruno@clisp.org>
62262
62263         Avoid test failures on some PowerPC platforms.
62264         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
62265         Define differently for PowerPC.
62266         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
62267         Reported by Gary V. Vaughan <gary@gnu.org>.
62268
62269 2007-06-02  Bruno Haible  <bruno@clisp.org>
62270
62271         Fix test-stdint failure on FreeBSD/ia64.
62272         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
62273         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
62274         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
62275         * doc/headers/stdint.texi: Update.
62276
62277 2007-06-01  Bruno Haible  <bruno@clisp.org>
62278
62279         * tests/test-binary-io.c (main): Pass a third argument to open().
62280         Reported by Gary V. Vaughan <gary@gnu.org>.
62281
62282 2007-06-01  Bruno Haible  <bruno@clisp.org>
62283
62284         * doc/functions/frexpl.texi: Update for mingw.
62285
62286 2007-06-01  Bruno Haible  <bruno@clisp.org>
62287
62288         * tests/test-lseek.c (main): Disable test of errno for invalid third
62289         argument.
62290         * doc/functions/lseek.texi: Update.
62291         Reported by Gary V. Vaughan <gary@gnu.org>.
62292
62293 2007-05-28  Bruno Haible  <bruno@clisp.org>
62294
62295         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
62296
62297 2007-05-31  Eric Blake  <ebb9@byu.net>
62298
62299         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
62300         cross compiling.
62301
62302 2007-05-30  Eric Blake  <ebb9@byu.net>
62303         and Bruno Haible  <bruno@clisp.org>
62304
62305         Work around mingw test failures exposed by m4-1.4.9b.
62306         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
62307         * tests/test-unistd.c: Disable uid_t and git_t tests for the
62308         moment.
62309
62310 2007-05-30  Bruno Haible  <bruno@clisp.org>
62311
62312         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
62313         assuming that they are closed. Needed on HP-UX 11.
62314
62315 2007-05-29  Bruno Haible  <bruno@clisp.org>
62316
62317         Fix a problem with #include_next.
62318         * lib/dirent_.h: Split the double-inclusion guard.
62319         * lib/fcntl_.h: Likewise.
62320         * lib/float_.h: Likewise.
62321         * lib/iconv_.h: Likewise.
62322         * lib/inttypes_.h: Likewise.
62323         * lib/locale_.h: Likewise.
62324         * lib/math_.h: Likewise.
62325         * lib/netinet_in_.h: Likewise.
62326         * lib/search_.h: Likewise.
62327         * lib/signal_.h: Likewise.
62328         * lib/stdint_.h: Likewise.
62329         * lib/stdio_.h: Likewise.
62330         * lib/stdlib_.h: Likewise.
62331         * lib/string_.h: Likewise.
62332         * lib/sys_select_.h: Likewise.
62333         * lib/sys_socket_.h: Likewise.
62334         * lib/sys_stat_.h: Likewise.
62335         * lib/sys_time_.h: Likewise.
62336         * lib/sysexits_.h: Likewise.
62337         * lib/time_.h: Likewise.
62338         * lib/unistd_.h: Likewise.
62339         * lib/wchar_.h: Likewise.
62340         * lib/wctype_.h: Likewise.
62341
62342 2007-05-29  Bruno Haible  <bruno@clisp.org>
62343
62344         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
62345         for the moment.
62346
62347 2007-05-29  Bruno Haible  <bruno@clisp.org>
62348
62349         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
62350         invocation.
62351         Reported by Eric Blake.
62352
62353 2007-05-29  Bruno Haible  <bruno@clisp.org>
62354
62355         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
62356         compiling case.
62357
62358 2007-05-29  Eric Blake  <ebb9@byu.net>
62359             Bruno Haible  <bruno@clisp.org>
62360
62361         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
62362         cross compiles.
62363
62364 2007-05-28  Eric Blake  <ebb9@byu.net>
62365
62366         * modules/closein-tests (test_closein_LDADD): Support test on
62367         cygwin with libtool.
62368
62369 2007-05-28  Bruno Haible  <bruno@clisp.org>
62370
62371         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
62372         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
62373         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
62374         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
62375         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
62376         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
62377         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
62378         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
62379         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
62380
62381 2007-05-28  Eric Blake  <ebb9@byu.net>
62382
62383         Unconditionally include <config.h> in unit tests.
62384         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
62385         * tests/test-allocsa.c, tests/test-arcfour.c,
62386         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
62387         tests/test-array_list.c, tests/test-array_oset.c,
62388         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
62389         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
62390         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
62391         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
62392         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
62393         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
62394         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
62395         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
62396         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
62397         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
62398         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
62399         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
62400         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
62401         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
62402         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
62403         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
62404         test-md5.c, test-memmem.c, test-printf-posix.c,
62405         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
62406         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
62407         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
62408         test-strcasestr.c, test-striconv.c, test-striconveh.c,
62409         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
62410         test-vasnprintf-posix2.c, test-vasnprintf.c,
62411         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
62412         test-vfprintf-posix.c, test-vprintf-posix.c,
62413         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
62414         test-xvasprintf.c: Likewise.
62415
62416 2007-05-28  Bruno Haible  <bruno@clisp.org>
62417
62418         * gnulib-tool (func_import): Remember the --with-tests command-line
62419         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
62420         Reported by Eric Blake.
62421
62422 2007-05-28  Bruno Haible  <bruno@clisp.org>
62423
62424         * modules/ftell-tests: New file.
62425         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
62426         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
62427
62428         * lib/ftell.c: New file.
62429         * modules/ftell: New file.
62430         * m4/ftell.m4: New file.
62431         * doc/functions/ftell.texi: Update.
62432         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
62433         REPLACE_FTELL.
62434         * lib/stdio_.h (rpl_ftell): New declaration.
62435         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
62436         REPLACE_FTELL.
62437
62438 2007-05-28  Eric Blake  <ebb9@byu.net>
62439
62440         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
62441
62442 2007-05-28  Bruno Haible  <bruno@clisp.org>
62443
62444         * modules/fseek-tests: New file.
62445         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
62446         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
62447
62448         * lib/fseek.c: New file.
62449         * modules/fseek: New file.
62450         * m4/fseek.m4: New file.
62451         * doc/functions/fseek.texi: Update.
62452         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
62453         REPLACE_FSEEK.
62454         * lib/stdio_.h (rpl_fseek): New declaration.
62455         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
62456         REPLACE_FSEEK.
62457
62458 2007-05-28  Bruno Haible  <bruno@clisp.org>
62459
62460         * lib/stdio_.h (fflush): More comments.
62461
62462 2007-05-28  Bruno Haible  <bruno@clisp.org>
62463
62464         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
62465         runtime test.
62466
62467 2007-05-28  Eric Blake  <ebb9@byu.net>
62468
62469         Improve lseek module.
62470         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
62471         * lib/unistd_.h (lseek): Scale back link warning message.
62472         * tests/test-lseek.c: Beef up test.
62473         * tests/test-lseek.sh: Exercise more facets of lseek.
62474         Reported by Bruno Haible.
62475
62476 2007-05-28  Bruno Haible  <bruno@clisp.org>
62477
62478         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
62479         to define.
62480
62481 2007-05-27  Bruno Haible  <bruno@clisp.org>
62482
62483         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
62484
62485 2007-05-27  Bruno Haible  <bruno@clisp.org>
62486
62487         * modules/openmp: New file.
62488         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
62489         Noah Misch.
62490
62491 2007-05-26  Bruno Haible  <bruno@clisp.org>
62492
62493         * modules/chdir-long (Depends-on): Add fchdir.
62494         * modules/chdir-safer (Depends-on): Likewise.
62495         * modules/fts (Depends-on): Likewise.
62496         * modules/fts-lgpl (Depends-on): Likewise.
62497         * modules/openat (Depends-on): Likewise.
62498         * modules/savewd (Depends-on): Likewise.
62499
62500 2007-05-24  Eric Blake  <ebb9@byu.net>
62501
62502         Fix lseek on mingw.
62503         * modules/lseek: New module.
62504         * m4/lseek.m4: New file.
62505         * lib/lseek.c: New file.
62506         * modules/lseek-tests: New file.
62507         * tests/test-lseek.c: New file.
62508         * tests/test-lseek.sh: New file.
62509         * MODULES.html.sh: Document lseek module.
62510         * modules/fflush (Depends-on): Add lseek, fseeko.
62511         * modules/fseeko (Depends-on): Likewise.
62512         * modules/ftello (Depends-on): Likewise.
62513         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
62514         broken.
62515         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
62516         broken.
62517         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
62518         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
62519         * lib/ftello.c (rpl_ftello): Likewise.
62520         * tests/test-fseeko.c (main): Test this.
62521         * tests/test-fseeko.sh: Likewise.
62522         * tests/test-ftello.c (main): Likewise.
62523         * tests/test-ftello.sh: Likewise.
62524         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
62525         implies replacing fseek.
62526         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
62527         HAVE_FTELLO.
62528         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
62529         * modules/unistd (Makefile.am): Likewise.
62530         * lib/unistd_.h (lseek): Declare a replacement.
62531         * doc/functions/lseek.texi (lseek): Document this fix.
62532         * doc/functions/fseek.texi (fseek): Likewise.
62533         * doc/functions/ftell.texi (ftell): Likewise.
62534
62535 2007-05-24  Bruno Haible  <bruno@clisp.org>
62536
62537         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
62538         in the printed representation of a NaN.
62539         * tests/test-vasprintf-posix.c (test_function): Likewise.
62540         * tests/test-snprintf-posix.h (test_function): Likewise.
62541         * tests/test-sprintf-posix.h (test_function): Likewise.
62542         Reported by Eric Blake.
62543
62544 2007-05-23  Eric Blake  <ebb9@byu.net>
62545
62546         Fix fseeko/ftello on cygwin 1.5.24.
62547         * doc/functions/fseeko.texi (fseeko): Document the fix.
62548         * doc/functions/ftello.texi (ftello): Document the fix.
62549         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
62550         * doc/functions/stdout.text (stdout): New file.
62551         * doc/functions/stderr.text (stderr): New file.
62552         * doc/gnulib.texi (Function Substitutes): Use new files.
62553         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
62554         prior to 1.7.0.
62555         * tests/test-ftello.c (main): Likewise for ftello.
62556         * tests/test-fseeko.sh: New file.
62557         * tests/test-ftello.sh: New file.
62558         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
62559         with seekable stdin.
62560         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
62561         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
62562         (gl_REPLACE_FSEEKO): New macro.
62563         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
62564         * modules/fseeko (Files): Distribute fseeko.c.
62565         * modules/ftello (Files): Distribute ftello.c.
62566         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
62567         mode.
62568         * lib/ftello.c (rpl_ftello): New file.
62569         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
62570         fseeko, ftello.
62571         (gl_STDIN_LARGE_OFFSET): New macro.
62572         * modules/stdio (Makefile.am): Perform the replacement.
62573         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
62574
62575 2007-05-23  Bruno Haible  <bruno@clisp.org>
62576
62577         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
62578         GNULIB_POSIXCHECK is defined.
62579
62580 2007-05-21  Bruno Haible  <bruno@clisp.org>
62581
62582         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
62583         Check also the output for NaN arguments. When cross-compiling, guess
62584         no on IRIX.
62585         * lib/vasnprintf.c: Update comments.
62586         * tests/test-vasnprintf-posix.c (strisnan): New function.
62587         (test_function): Use it.
62588         * tests/test-vasprintf-posix.c (strisnan): New function.
62589         (test_function): Use it.
62590         * tests/test-snprintf-posix.h (strisnan): New function.
62591         (test_function): Use it.
62592         * tests/test-sprintf-posix.h (strisnan): New function.
62593         (test_function): Use it.
62594         Reported by Eric Blake.
62595
62596 2007-05-20  Bruno Haible  <bruno@clisp.org>
62597
62598         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
62599         numbers that fails on BeOS.
62600         * doc/functions/frexpl.texi: Update.
62601
62602 2007-05-20  Jim Meyering  <jim@meyering.net>
62603
62604         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
62605         forced upon us by glibc-2.6.
62606
62607 2007-05-20  Bruno Haible  <bruno@clisp.org>
62608
62609         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
62610         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
62611         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
62612         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
62613         NEED_PRINTF_INFINITE.
62614         (is_infinitel): New function.
62615         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
62616         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
62617         gl_PREREQ_VASNPRINTF_INFINITE.
62618         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
62619         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62620         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
62621         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
62622         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
62623         gl_PREREQ_VASNPRINTF_INFINITE.
62624         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62625         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62626         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62627         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62628         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62629         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62630         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62631         * doc/functions/fprintf.texi: Update.
62632         * doc/functions/printf.texi: Update.
62633         * doc/functions/snprintf.texi: Update.
62634         * doc/functions/sprintf.texi: Update.
62635         * doc/functions/vfprintf.texi: Update.
62636         * doc/functions/vprintf.texi: Update.
62637         * doc/functions/vsnprintf.texi: Update.
62638         * doc/functions/vsprintf.texi: Update.
62639
62640 2007-05-20  Bruno Haible  <bruno@clisp.org>
62641
62642         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
62643         was not found in libc.
62644         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
62645
62646 2007-05-20  Bruno Haible  <bruno@clisp.org>
62647
62648         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
62649         printed as "-nan" instead of "nan".
62650         * tests/test-vasprintf-posix.c (test_function): Likewise.
62651         * tests/test-snprintf-posix.h (test_function): Likewise.
62652         * tests/test-sprintf-posix.h (test_function): Likewise.
62653         Needed for HP-UX 11.
62654
62655 2007-05-20  Jim Meyering  <jim@meyering.net>
62656
62657         Fix buggy test for the fchownat-deref bug.
62658         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
62659         symlink required for the run-test.  Without it, this test would
62660         always declare that fchownat doesn't work, and client code would
62661         unnecessarily use the replacement function with fixed libc.
62662         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
62663         Reported by Greg Schafer.
62664
62665 2007-05-19  Bruno Haible  <bruno@clisp.org>
62666
62667         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
62668         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
62669         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
62670         Needed for IRIX 6.5 and Solaris 2.5.1.
62671
62672 2007-05-19  Bruno Haible  <bruno@clisp.org>
62673
62674         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
62675         (test_function): Skip tests involving -0.0 on platforms where
62676         -0.0 = 0.0.
62677         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
62678         (test_function): Skip tests involving -0.0 on platforms where
62679         -0.0 = 0.0.
62680         * tests/test-snprintf-posix.h (have_minus_zero): New function.
62681         (test_function): Skip tests involving -0.0 on platforms where
62682         -0.0 = 0.0.
62683         * tests/test-sprintf-posix.h (have_minus_zero): New function.
62684         (test_function): Skip tests involving -0.0 on platforms where
62685         -0.0 = 0.0.
62686         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
62687         tests.
62688         * tests/test-printf-posix.h (test_function): Likewise.
62689         * tests/test-printf-posix.output: Remove all -0.0 related results.
62690         Needed for IRIX 6.5.
62691
62692 2007-05-19  Bruno Haible  <bruno@clisp.org>
62693
62694         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
62695         printed as "nan0x7fffffff" instead of "nan".
62696         * tests/test-vasprintf-posix.c (test_function): Likewise.
62697         * tests/test-snprintf-posix.h (test_function): Likewise.
62698         * tests/test-sprintf-posix.h (test_function): Likewise.
62699         * tests/test-fprintf-posix.h (NaN): Remove macro.
62700         (test_function): Remove all NaN related tests.
62701         * tests/test-printf-posix.h (NaN): Remove macro.
62702         (test_function): Remove all NaN related tests.
62703         * tests/test-printf-posix.output: Remove all NaN related results.
62704         Needed for IRIX 6.5.
62705
62706 2007-05-19  Bruno Haible  <bruno@clisp.org>
62707
62708         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
62709         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
62710
62711 2007-05-19  Bruno Haible  <bruno@clisp.org>
62712
62713         * lib/float_.h: New file.
62714         * m4/float_h.m4: New file.
62715         * modules/float: New file.
62716         * modules/isnanl (Dependencies): Add float.
62717         * modules/isnanl-nolibm (Dependencies): Likewise.
62718         * modules/mathl (Dependencies): Likewise.
62719         * modules/printf-frexpl (Dependencies): Likewise.
62720         * modules/signbit (Dependencies): Likewise.
62721         * modules/vasnprintf (Dependencies): Likewise.
62722         * doc/headers/float.texi: Update.
62723
62724 2007-05-19  Jim Meyering  <jim@meyering.net>
62725
62726         * lib/utimens.c (gl_futimens): Rename from futimens,
62727         now that glibc-2.6 declares futimens.
62728         * lib/utimens.h: Likewise.
62729
62730 2007-05-19  Bruno Haible  <bruno@clisp.org>
62731
62732         Avoid test failures on mingw.
62733         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
62734         * tests/test-printf-posix.sh: Likewise.
62735         * tests/test-vfprintf-posix.sh: Likewise.
62736         * tests/test-vprintf-posix.sh: Likewise.
62737
62738 2007-05-19  Bruno Haible  <bruno@clisp.org>
62739
62740         Fix *printf result for NaN, Inf, -0.0 on mingw.
62741         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
62742         * lib/vasnprintf.c: Include math.h and isnan.h.
62743         (is_infinite_or_zero): New function.
62744         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
62745         values in the %f, %F, %e, %E, %g, %G directives.
62746         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
62747         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62748         gl_PRINTF_INFINITE and test its result. Invoke
62749         gl_PREREQ_VASNPRINTF_INFINITE.
62750         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62751         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62752         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62753         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62754         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62755         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62756         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62757         * doc/functions/fprintf.texi: Update.
62758         * doc/functions/printf.texi: Update.
62759         * doc/functions/snprintf.texi: Update.
62760         * doc/functions/sprintf.texi: Update.
62761         * doc/functions/vfprintf.texi: Update.
62762         * doc/functions/vprintf.texi: Update.
62763         * doc/functions/vsnprintf.texi: Update.
62764         * doc/functions/vsprintf.texi: Update.
62765
62766 2007-05-19  Bruno Haible  <bruno@clisp.org>
62767
62768         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
62769         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
62770         Instead of multiplying with 10^k, set extra_zeroes to k.
62771         (scale10_round_long_double): Remove function.
62772
62773 2007-05-18  Bruno Haible  <bruno@clisp.org>
62774
62775         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
62776         introduced on 2007-05-06.
62777
62778 2007-05-18  Bruno Haible  <bruno@clisp.org>
62779
62780         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
62781         %g directives.
62782         * tests/test-vasprintf-posix.c (test_function): Likewise.
62783         * tests/test-snprintf-posix.h (test_function): Likewise.
62784         * tests/test-sprintf-posix.h (test_function): Likewise.
62785
62786 2007-05-18  Bruno Haible  <bruno@clisp.org>
62787
62788         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
62789         (strmatch): New function.
62790         (test_function): Test the %f directive on numbers of various exponents.
62791         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
62792         (strmatch): New function.
62793         (test_function): Test the %f directive on numbers of various exponents.
62794         * tests/test-snprintf-posix.h (strmatch): New function.
62795         (test_function): Test the %f directive on numbers of various exponents.
62796         * tests/test-sprintf-posix.h (strmatch): New function.
62797         (test_function): Test the %f directive on numbers of various exponents.
62798         * tests/test-snprintf-posix.c (SIZEOF): New macro.
62799         * tests/test-sprintf-posix.c (SIZEOF): New macro.
62800         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
62801         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
62802
62803 2007-05-18  Bruno Haible  <bruno@clisp.org>
62804
62805         Add support for 'long double' number output.
62806         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
62807         * lib/vasnprintf.c: Include math.h and float+.h.
62808         (mp_limb_t): New type.
62809         (GMP_LIMB_BITS): New macro.
62810         (mp_twolimb_t): New type.
62811         (GMP_TWOLIMB_BITS): New macro.
62812         (mpn_t): New type.
62813         (multiply, divide, convert_to_decimal, decode_long_double,
62814         scale10_round_long_double, scale10_round_decimal_long_double,
62815         floorlog10l): New functions.
62816         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
62817         for the %f, %F, %e, %E, %g, %G directives.
62818         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
62819         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62820         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
62821         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
62822         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62823         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62824         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62825         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62826         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62827         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62828         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62829         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
62830         * modules/snprintf-posix (Depends-on): Likewise.
62831         * modules/sprintf-posix (Depends-on): Likewise.
62832         * modules/vasnprintf-posix (Depends-on): Likewise.
62833         * modules/vasprintf-posix (Depends-on): Likewise.
62834         * modules/vfprintf-posix (Depends-on): Likewise.
62835         * modules/vsnprintf-posix (Depends-on): Likewise.
62836         * modules/vsprintf-posix (Depends-on): Likewise.
62837         * modules/vasnprintf (Files): Add lib/float+.h.
62838         * doc/functions/fprintf.texi: Update.
62839         * doc/functions/printf.texi: Update.
62840         * doc/functions/snprintf.texi: Update.
62841         * doc/functions/sprintf.texi: Update.
62842         * doc/functions/vfprintf.texi: Update.
62843         * doc/functions/vprintf.texi: Update.
62844         * doc/functions/vsnprintf.texi: Update.
62845         * doc/functions/vsprintf.texi: Update.
62846
62847 2007-05-18  Bruno Haible  <bruno@clisp.org>
62848
62849         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
62850
62851 2007-05-18  Bruno Haible  <bruno@clisp.org>
62852
62853         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
62854         for printing 64-bit integers. Needed for mingw.
62855
62856 2007-05-18  Bruno Haible  <bruno@clisp.org>
62857
62858         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
62859         gl_FUNC_FREXPL_WORKS.
62860         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
62861
62862 2007-05-18  Bruno Haible  <bruno@clisp.org>
62863
62864         * modules/frexpl-nolibm-tests: New file.
62865
62866         * modules/frexpl-nolibm: New file.
62867         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
62868
62869 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
62870
62871         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
62872         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
62873         GCC 4.2, which otherwise issues a lot of warnings.
62874         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
62875         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
62876         Likewise.
62877         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
62878         * modules/iconv_open (iconv.h): Likewise.
62879         * modules/locale (locale.h): Likewise.
62880         * modules/netinet_in (netinet/in.h): Likewise.
62881         * modules/sys_select (sys_select.h): Likewise.
62882         * modules/sys_socket (sys/socket.h): Likewise.
62883         * modules/sys_stat (sys/stat.h): Likewise.
62884         * modules/sysexits (sysexits.h): Likewise.
62885         * modules/unistd (unistd.h): Likewise.
62886
62887 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62888
62889         * modules/closein-tests (Makefile.am): Distribute
62890         `test-closein.sh'.
62891
62892 2007-05-17  Bruno Haible  <bruno@clisp.org>
62893
62894         * tests/test-printf-posix.output: Renamed from
62895         tests/test-fprintf-posix.out.
62896         * modules/fprintf-posix-tests: Update.
62897         * modules/printf-posix-tests: Update.
62898         * modules/vfprintf-posix-tests: Update.
62899         * modules/vprintf-posix-tests: Update.
62900         * tests/test-fprintf-posix.sh: Update.
62901         * tests/test-printf-posix.sh: Update.
62902         * tests/test-vfprintf-posix.sh: Update.
62903         * tests/test-vprintf-posix.sh: Update.
62904         Reported by Ralf Wildenhues.
62905
62906 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
62907
62908         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
62909         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
62910         GCC 4.2, which otherwise issues a lot of warnings.
62911         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
62912         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
62913         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
62914         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
62915         it should no longer be needed.
62916         * lib/string_.h: Likewise.
62917         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
62918         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
62919         * modules/inttypes (inttypes.h): Likewise.
62920         * modules/math (math.h): Likewise.
62921         * modules/search (search.h): Likewise.
62922         * modules/signal (signal.h): Likewise.
62923         * modules/stdint (stdint.h): Likewise.
62924         * modules/stdio (stdio.h): Likewise.
62925         * modules/stdlib (stdlib.h): Likewise.
62926         * modules/string (string.h): Likewise.
62927         * modules/sys_time (sys/time.h): Likewise.
62928         * modules/time (time.h): Likewise.
62929         * modules/wchar (wchar.h): Likewise.
62930         * modules/wctype (wtype.h): Likewise.
62931
62932 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
62933
62934         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
62935
62936 2007-05-13  Bruno Haible  <bruno@clisp.org>
62937
62938         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
62939         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
62940         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
62941         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
62942         (gl_PREREQ_STRTOK_R): Don't require it here.
62943
62944 2007-05-13  Bruno Haible  <bruno@clisp.org>
62945
62946         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
62947         when used in C++ mode.
62948
62949 2007-05-12  Bruno Haible  <bruno@clisp.org>
62950
62951         * lib/linebuffer.h: Tweak doc.
62952         * lib/linebuffer.c: Likewise.
62953
62954 2007-05-12  James Youngman  <jay@gnu.org>
62955
62956         * lib/linebuffer.c (readlinebuffer_delim): New function,
62957         like readlinebuffer, but use a caller-specified delimiter.
62958         (readlinebuffer): Just call readlinebuffer_delim with '\n'
62959         as the delimiter.
62960         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
62961
62962 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
62963
62964         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
62965         * modules/openat (Files): Remove openat-die.c.
62966         (Depends-on): Add openat-die.
62967         * modules/openat-die: New module.
62968
62969 2007-05-06  Bruno Haible  <bruno@clisp.org>
62970
62971         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
62972         Update with info about Cygwin.
62973         * doc/functions/fprintf.texi: Update.
62974         * doc/functions/printf.texi: Update.
62975         * doc/functions/snprintf.texi: Update.
62976         * doc/functions/sprintf.texi: Update.
62977         * doc/functions/vfprintf.texi: Update.
62978         * doc/functions/vprintf.texi: Update.
62979         * doc/functions/vsnprintf.texi: Update.
62980         * doc/functions/vsprintf.texi: Update.
62981         Reported by Eric Blake.
62982
62983 2007-05-06  Bruno Haible  <bruno@clisp.org>
62984
62985         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
62986         padding ourselves for the floating-point directives.
62987         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
62988         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
62989         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62990         gl_PRINTF_FLAG_ZERO and test its result. Invoke
62991         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
62992         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62993         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
62994         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62995         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62996         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62997         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62998         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62999         * tests/test-snprintf-posix.h (test_function): Also check the width
63000         and some flags in the %f directive.
63001         * tests/test-sprintf-posix.h (test_function): Likewise.
63002         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63003         * tests/test-vasprintf-posix.c (test_function): Likewise.
63004         * doc/functions/fprintf.texi: Update.
63005         * doc/functions/printf.texi: Update.
63006         * doc/functions/snprintf.texi: Update.
63007         * doc/functions/sprintf.texi: Update.
63008         * doc/functions/vfprintf.texi: Update.
63009         * doc/functions/vprintf.texi: Update.
63010         * doc/functions/vsnprintf.texi: Update.
63011         * doc/functions/vsprintf.texi: Update.
63012
63013 2007-05-06  Bruno Haible  <bruno@clisp.org>
63014
63015         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
63016         pass the ' flag character to sprintf or snprintf.
63017         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
63018         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
63019         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63020         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
63021         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
63022         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63023         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
63024         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63025         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63026         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63027         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63028         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63029         * tests/test-snprintf-posix.h (test_function): Also check the grouping
63030         flag.
63031         * tests/test-sprintf-posix.h (test_function): Likewise.
63032         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63033         * tests/test-vasprintf-posix.c (test_function): Likewise.
63034         * doc/functions/fprintf.texi: Update.
63035         * doc/functions/printf.texi: Update.
63036         * doc/functions/snprintf.texi: Update.
63037         * doc/functions/sprintf.texi: Update.
63038         * doc/functions/vfprintf.texi: Update.
63039         * doc/functions/vprintf.texi: Update.
63040         * doc/functions/vsnprintf.texi: Update.
63041         * doc/functions/vsprintf.texi: Update.
63042
63043 2007-05-01  Bruno Haible  <bruno@clisp.org>
63044
63045         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
63046
63047 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
63048
63049         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
63050         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
63051
63052 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
63053
63054         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
63055         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
63056         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
63057
63058 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
63059
63060         * lib/argp-help.c (struct hol_entry): New member `ord'.
63061         (HOL_ENTRY_PTRCMP): Use ord for comparison
63062         (hol_sort): Initialize ord.
63063
63064 2007-05-01  Bruno Haible  <bruno@clisp.org>
63065
63066         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
63067         Reported by Eric Blake.
63068         * doc/gnulib.texi (Function Substitutes): Update.
63069
63070 2007-05-01  Bruno Haible  <bruno@clisp.org>
63071
63072         * doc/functions.texi: Remove file, now redundant through
63073         doc/functions/*.texi.
63074
63075 2007-05-01  Bruno Haible  <bruno@clisp.org>
63076
63077         * modules/argp (Depends-on): Add sleep.
63078
63079 2007-05-01  Bruno Haible  <bruno@clisp.org>
63080
63081         * modules/sleep-tests: New file.
63082         * tests/test-sleep.c: New file.
63083
63084         * modules/sleep: New file.
63085         * lib/sleep.c: New file.
63086         * m4/sleep.m4: New file.
63087         * lib/unistd_.h (sleep): New declaration.
63088         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
63089         HAVE_SLEEP.
63090         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
63091         * doc/functions/sleep.texi: Document the sleep module.
63092
63093 2007-05-01  Bruno Haible  <bruno@clisp.org>
63094
63095         * lib/sigprocmask.h: Remove file.
63096         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
63097         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
63098         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
63099         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
63100         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
63101         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
63102         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
63103         HAVE_SIGSET_T as a shell variable.
63104         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
63105         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
63106         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
63107         (Depends-on): Add signal. Remove verify.
63108         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
63109         (Include): Mention <signal.h> instead of sigprocmask.h.
63110         * NEWS: Mention the change.
63111         * lib/fatal-signal.c: Don't include sigprocmask.h.
63112
63113 2007-05-01  Bruno Haible  <bruno@clisp.org>
63114
63115         * modules/signal: New file.
63116         * lib/signal_.h: New file.
63117         * m4/signal_h.m4: New file.
63118
63119 2007-05-01  Bruno Haible  <bruno@clisp.org>
63120
63121         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
63122         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
63123         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
63124         HAVE_WCTYPE_CTMP_BUG into wctype.h.
63125
63126 2007-05-01  Bruno Haible  <bruno@clisp.org>
63127
63128         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
63129         configure time.
63130         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
63131         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
63132         * modules/sys_stat (Makefile.am): Substitute their values into
63133         sys/stat.h.
63134
63135 2007-05-01  Bruno Haible  <bruno@clisp.org>
63136
63137         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
63138         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
63139         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
63140
63141 2007-05-01  Bruno Haible  <bruno@clisp.org>
63142
63143         * doc/header/assert.texi: Undo last change: don't mention the gnulib
63144         'assert' module here.
63145
63146 2007-05-01  Bruno Haible  <bruno@clisp.org>
63147
63148         * doc/functions/*.texi: New files.
63149         * doc/functions/google-ranking.txt: New file.
63150         * doc/gnulib.texi (Function Substitutes): New chapter.
63151         (ctime, inet_ntoa): Remove sections.
63152         * doc/ctime.texi: Remove file.
63153         * doc/inet_ntoa.texi: Remove file.
63154         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
63155         dependencies.
63156         (%.info): New rule, specifying a --reference-limit.
63157
63158 2007-05-01  Bruno Haible  <bruno@clisp.org>
63159
63160         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
63161
63162 2007-05-01  Bruno Haible  <bruno@clisp.org>
63163
63164         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
63165         the portability of 'mkdir' to mingw systems.
63166
63167 2007-05-01  Bruno Haible  <bruno@clisp.org>
63168
63169         * doc/headers/google-ranking.txt: New file.
63170
63171 2007-04-30  Eric Blake  <ebb9@byu.net>
63172
63173         Prefer fseeko to fseek.
63174         * modules/getpass (Depends-on): Add fseeko.
63175         * lib/getpass.c (getpass): Use fseeko, not fseek.
63176
63177 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
63178
63179         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
63180         assumes the sorting is stable, while most qsort implementations
63181         are not.  Use argument addresses to ensure they never compare as
63182         equal.
63183
63184         * tests/test-argp-2.sh (usage-indent test): Fix output
63185         (func_compare): Restore diff options
63186         * tests/test-argp.c: Restore #include "progname.h"
63187
63188 2007-04-29  Bruno Haible  <bruno@clisp.org>
63189
63190         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
63191         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63192         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
63193         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63194         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
63195         (configure.ac): Define CHECK_SNPRINTF_POSIX.
63196         (TESTS, check_PROGRAMS): Add test-snprintf.
63197         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
63198         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
63199         (TESTS, check_PROGRAMS): Add test-vsnprintf.
63200         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
63201         assertions that fail on HP-UX, OSF/1, or IRIX.
63202         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
63203
63204 2007-04-29  Bruno Haible  <bruno@clisp.org>
63205
63206         * MODULES.html.sh (posix_functions): Remove 'contents'.
63207
63208 2007-04-29  Karl Berry  <karl@gnu.org>
63209
63210         * config/srclist.txt (gendocs_template_min): new entry.
63211
63212 2007-04-29  Bruno Haible  <bruno@clisp.org>
63213
63214         Work around fpurge bug on BSD systems.
63215         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
63216         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
63217         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
63218         fpurge to rpl_fpurge if the system already has this function.
63219         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
63220         the case where the system already has this function. Correct invariants
63221         on BSD systems.
63222         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
63223         BSD systems.
63224
63225 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
63226
63227         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
63228         proposed by Sven Verdoolaege.
63229
63230         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
63231         options.
63232         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
63233         (usage and help tests): Update
63234
63235 2007-04-29  Bruno Haible  <bruno@clisp.org>
63236
63237         * tests/test-fflush.c (main): Use a file of size 17, not 10.
63238         Print more information in case of failure. Disable a test on BeOS.
63239
63240 2007-04-29  Bruno Haible  <bruno@clisp.org>
63241
63242         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
63243         This helps debugging on systems on which no gdb is available.
63244
63245 2007-04-29  Bruno Haible  <bruno@clisp.org>
63246
63247         * lib/freading.h: Improve comments.
63248         * lib/fwriting.h: Likewise.
63249         * tests/test-freading.c (main): Don't check freading immediately after
63250         repositioning. Needed for glibc.
63251
63252 2007-04-29  Bruno Haible  <bruno@clisp.org>
63253
63254         * lib/freading.c (freading): Trivial simplification.
63255
63256 2007-04-28  Bruno Haible  <bruno@clisp.org>
63257
63258         * tests/test-fwriting.c (main): Also test the interaction between
63259         fflush and fwriting.
63260         * modules/fwriting-tests (Depends-on): Add fflush.
63261
63262         * tests/test-freading.c (main): Also test the interaction between
63263         fflush and freading.
63264         * modules/freading-tests (Depends-on): Add fflush.
63265
63266 2007-04-28  Bruno Haible  <bruno@clisp.org>
63267
63268         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
63269         fseeko and ftello.
63270         Suggested by Eric Blake.
63271
63272 2007-04-28  Jim Meyering  <jim@meyering.net>
63273
63274         Avoid false-negative in gl_STDINT_H's C99 conformance test.
63275         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
63276         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
63277
63278 2007-04-27  Eric Blake  <ebb9@byu.net>
63279
63280         * doc/headers/assert.texi (assert.h): Document assert module use.
63281
63282 2007-04-27  Bruno Haible  <bruno@clisp.org>
63283
63284         * doc/headers/*.texi: New files.
63285         * doc/gnulib.texi (Header File Substitutes): New chapter.
63286         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
63287         dependencies.
63288         (standards.info ,standards.html, standards.dvi): Update dependencies.
63289         (mostlyclean, clean): New targets.
63290
63291 2007-04-27  Bruno Haible  <bruno@clisp.org>
63292
63293         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
63294         * modules/sysexits (Files, Makefile.am): Update.
63295
63296         * lib/sys_socket_.h: Renamed from lib/socket_.h.
63297         * modules/sys_socket (Files, Makefile.am): Update.
63298
63299         * lib/sys_stat_.h: Renamed from lib/stat_.h.
63300         * modules/sys_stat (Files, Makefile.am): Update.
63301
63302 2007-04-27  Eric Blake  <ebb9@byu.net>
63303
63304         * lib/freading.h: Improve comments.
63305         * lib/fwriting.h: Likewise.
63306         * lib/fflush.c: Likewise.
63307
63308         Fix closein for mingw.
63309         * modules/closein-tests: Add tests for closein.
63310         * tests/test-closein.c: New file.
63311         * tests/test-closein.sh: Likewise.
63312         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
63313         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
63314
63315 2007-04-27  Bruno Haible  <bruno@clisp.org>
63316
63317         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
63318         version is < 6.
63319         * lib/math_.h [__DECC]: Likewise.
63320         * lib/stdio_.h [__DECC]: Likewise.
63321         * lib/stdlib_.h [__DECC]: Likewise.
63322         * lib/string_.h [__DECC]: Likewise.
63323         * lib/time_.h [__DECC]: Likewise.
63324         * lib/wchar_.h [__DECC]: Likewise.
63325         * lib/wctype_.h [__DECC]: Likewise.
63326
63327 2007-04-27  Bruno Haible  <bruno@clisp.org>
63328
63329         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
63330
63331 2007-04-27  Bruno Haible  <bruno@clisp.org>
63332
63333         * lib/fflush.c: Add comments.
63334         * modules/fpurge-tests (Depends-on): Add fflush.
63335         * modules/freadable-tests (Depends-on): Likewise.
63336         * modules/fwritable-tests (Depends-on): Likewise.
63337
63338 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
63339
63340         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
63341         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
63342         Report by Bruno Haible <bruno@clisp.org>.
63343
63344 2007-04-26  Eric Blake  <ebb9@byu.net>
63345
63346         Fix fflush on mingw.
63347         * modules/fflush (Depends-on): Add freading.
63348         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
63349         but unread data.
63350
63351 2007-04-26  Eric Blake  <ebb9@byu.net>
63352         and Bruno Haible  <bruno@clisp.org>
63353
63354         Implement freading and fwriting.
63355         * lib/freading.c: New file.
63356         * lib/freading.h: Likewise.
63357         * m4/freading.m4: Likewise.
63358         * modules/freading: Likewise.
63359         * modules/freading-tests: Likewise.
63360         * tests/test-freading.c: Likewise.
63361         * lib/fwriting.c: New file.
63362         * lib/fwriting.h: Likewise.
63363         * m4/fwriting.m4: Likewise.
63364         * modules/fwriting: Likewise.
63365         * modules/fwriting-tests: Likewise.
63366         * tests/test-fwriting.c: Likewise.
63367         * MODULES.html.sh (File stream based Input/Output): Mention them.
63368
63369 2007-04-26  Bruno Haible  <bruno@clisp.org>
63370
63371         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
63372         'long' when we assume it.
63373         Suggested by Eric Blake.
63374
63375 2007-04-26  Bruno Haible  <bruno@clisp.org>
63376
63377         Ensure fseeko, ftello are declared on glibc systems.
63378         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
63379         * modules/fseeko (configure.ac-early): Likewise.
63380         * modules/ftello (configure.ac-early): Likewise.
63381         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
63382         AC_FUNC_FSEEKO for this.
63383         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
63384         (gl_CHECK_FSEEKO): Remove macro.
63385
63386 2007-04-26  Bruno Haible  <bruno@clisp.org>
63387
63388         * tests/test-fflush.c (main): Also check the ftell result after
63389         fflush and fseek/fseeko.
63390         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
63391         file descriptor position cache in the stream.
63392         * lib/fseeko.c (rpl_fseeko): Likewise.
63393
63394 2007-04-26  Bruno Haible  <bruno@clisp.org>
63395
63396         * modules/fflush-tests (Depends-on): Add fseeko.
63397
63398 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
63399             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63400
63401         * lib/argz_.h: ensure error_t definition is obtained in same
63402         mechanism system argz.h would have.
63403         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
63404         argz facilities are known bad.  Err on the side of caution if
63405         cross-compiling.
63406
63407 2007-04-25  Eric Blake  <ebb9@byu.net>
63408
63409         * lib/fpurge.c (includes): Use stdlib.h for free.
63410         * tests/test-fflush.c (main): Also test fflush-fseeko.
63411
63412 2007-04-25  Bruno Haible  <bruno@clisp.org>
63413
63414         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
63415         * lib/fseeko.c: New file.
63416         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
63417         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
63418         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
63419         gl_FUNC_FSEEKO.
63420         (gl_FUNC_FSEEKO): Invoke it.
63421         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
63422         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
63423         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
63424
63425 2007-04-25  Bruno Haible  <bruno@clisp.org>
63426
63427         * modules/fflush (Depends-on): Add ftello.
63428
63429 2007-04-25  Bruno Haible  <bruno@clisp.org>
63430
63431         * modules/ftello-tests: New file.
63432         * tests/test-ftello.c: New file.
63433
63434         * modules/ftello: New file.
63435         * m4/ftello.m4: New file.
63436         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
63437         HAVE_FTELLO.
63438         * lib/stdio_.h (ftello): New declaration.
63439         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
63440         HAVE_FTELLO.
63441
63442 2007-04-25  Bruno Haible  <bruno@clisp.org>
63443
63444         * modules/fseeko-tests: New file.
63445         * tests/test-fseeko.c: New file.
63446
63447         * modules/fseeko: New file.
63448         * m4/fseeko.m4: New file.
63449         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
63450         HAVE_FSEEKO.
63451         * lib/stdio_.h (fseeko): New declaration.
63452         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
63453         HAVE_FSEEKO.
63454
63455 2007-04-25  Bruno Haible  <bruno@clisp.org>
63456
63457         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
63458
63459 2007-04-25  Bruno Haible  <bruno@clisp.org>
63460
63461         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
63462         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
63463         * tests/test-unistd.c: Likewise.
63464         * tests/test-fcntl.c: Likewise.
63465
63466 2007-04-23  Eric Blake  <ebb9@byu.net>
63467
63468         * lib/fflush.c: Fix missing include.
63469         Reported by Bruno Haible.
63470
63471 2007-04-23  Bruno Haible  <bruno@clisp.org>
63472
63473         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
63474         Reported by Eric Blake.
63475
63476 2007-04-23  Bruno Haible  <bruno@clisp.org>
63477
63478         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
63479
63480 2007-04-23  Bruno Haible  <bruno@clisp.org>
63481
63482         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
63483
63484 2007-04-23  Bruno Haible  <bruno@clisp.org>
63485
63486         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
63487         Needed on HP-UX 11.
63488
63489 2007-04-16  Eric Blake  <ebb9@byu.net>
63490
63491         Make fflush rely on fpurge.
63492         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
63493         open coding all variants.
63494         * modules/fflush (Depends-on): Add fpurge and unistd.
63495         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
63496         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
63497
63498         Fix --with-tests compilation on cygwin.
63499         * modules/argmatch-tests (Makefile.am): List gnulib library first
63500         in LDADD.
63501         * modules/argp-tests (Makefile.am): Likewise.
63502         * modules/array-list-tests (Makefile.am): Likewise.
63503         * modules/array-oset-tests (Makefile.am): Likewise.
63504         * modules/avltree-list-tests (Makefile.am): Likewise.
63505         * modules/avltree-oset-tests (Makefile.am): Likewise.
63506         * modules/avltreehash-list-tests (Makefile.am): Likewise.
63507         * modules/carray-list-tests (Makefile.am): Likewise.
63508         * modules/dirname-tests (Makefile.am): Likewise.
63509         * modules/frexp-tests (Makefile.am): Likewise.
63510         * modules/isnanl-tests (Makefile.am): Likewise.
63511         * modules/linked-list-tests (Makefile.am): Likewise.
63512         * modules/linkedhash-list-tests (Makefile.am): Likewise.
63513         * modules/lock-tests (Makefile.am): Likewise.
63514         * modules/rbtree-list-tests (Makefile.am): Likewise.
63515         * modules/rbtree-oset-tests (Makefile.am): Likewise.
63516         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
63517         * modules/tls-tests (Makefile.am): Likewise.
63518         * modules/tsearch-tests (Makefile.am): Likewise.
63519         * modules/xvasprintf-tests (Makefile.am): Likewise.
63520
63521         Fix fpurge for cygwin.
63522         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
63523         value.
63524         * modules/fpurge-tests (Depends-on): Clean up trash.
63525
63526 2007-04-16  Simon Josefsson  <simon@josefsson.org>
63527
63528         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
63529
63530         * m4/autobuild.m4: Re-indent.
63531
63532 2007-04-13  Bruno Haible  <bruno@clisp.org>
63533
63534         * modules/fpurge-tests: New file.
63535         * tests/test-fpurge.c: New file.
63536
63537         * modules/fpurge: New file.
63538         * lib/fpurge.h: New file.
63539         * lib/fpurge.c: New file.
63540         * m4/fpurge.m4: New file.
63541
63542 2007-04-13  Bruno Haible  <bruno@clisp.org>
63543
63544         * modules/fbufmode-tests: New file.
63545         * tests/test-fbufmode.c: New file.
63546
63547         * modules/fbufmode: New file.
63548         * lib/fbufmode.h: New file.
63549         * lib/fbufmode.c: New file.
63550         * m4/fbufmode.m4: New file.
63551
63552 2007-04-13  Bruno Haible  <bruno@clisp.org>
63553
63554         * modules/fwritable-tests: New file.
63555         * tests/test-fwritable.c: New file.
63556
63557         * modules/fwritable: New file.
63558         * lib/fwritable.h: New file.
63559         * lib/fwritable.c: New file.
63560         * m4/fwritable.m4: New file.
63561
63562 2007-04-13  Bruno Haible  <bruno@clisp.org>
63563
63564         * modules/freadable-tests: New file.
63565         * tests/test-freadable.c: New file.
63566
63567         * modules/freadable: New file.
63568         * lib/freadable.h: New file.
63569         * lib/freadable.c: New file.
63570         * m4/freadable.m4: New file.
63571
63572 2007-04-13  Bruno Haible  <bruno@clisp.org>
63573
63574         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
63575         MOSTLYCLEANFILES.
63576
63577 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
63578
63579         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
63580         gzip bootstrap.conf to avoid dragging in i18n machinery.
63581         (gnulib_tool_option): Use it.
63582
63583 2007-04-13  Bruno Haible  <bruno@clisp.org>
63584
63585         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
63586         %F directives.
63587         * tests/test-vasprintf-posix.c (test_function): Likewise.
63588         * tests/test-snprintf-posix.h (test_function): Likewise.
63589         * tests/test-sprintf-posix.h (test_function): Likewise.
63590         * tests/test-fprintf-posix.h (test_function): Likewise.
63591         * tests/test-printf-posix.h (test_function): Likewise.
63592         * tests/test-fprintf-posix.out: Likewise.
63593
63594 2007-04-13  Bruno Haible  <bruno@clisp.org>
63595
63596         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
63597         * modules/tls-tests (configure.ac): Likewise.
63598         Reported by Arto C. Nirkko <anirkko@insel.ch>.
63599
63600 2007-04-13  Bruno Haible  <bruno@clisp.org>
63601
63602         * lib/tls.c (glthread_tls_get): Fix return type.
63603         Patch by Arto C. Nirkko <anirkko@insel.ch>.
63604
63605 2007-04-12  Eric Blake  <ebb9@byu.net>
63606
63607         * modules/gettime (Depends-on): Remove gettime.
63608         Reported by Dmitry V. Levin.
63609
63610 2007-04-12  Bruno Haible  <bruno@clisp.org>
63611
63612         * modules/fflush (Include): Mention <stdio.h>.
63613         * modules/strtoimax (Include): Mention <inttypes.h>.
63614         * modules/strtoumax (Include): Likewise.
63615
63616 2007-04-12  Eric Blake  <ebb9@byu.net>
63617
63618         * .cvsignore: New file.
63619         * .gitignore: Likewise.
63620
63621 2007-04-12  Bruno Haible  <bruno@clisp.org>
63622
63623         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
63624         not before, since $(LDADD) often contains libgnu.a.
63625         * modules/striconv-tests (test_striconv_LDADD): Likewise.
63626         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
63627         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
63628         Needed on Cygwin.
63629
63630 2007-04-12  Eric Blake  <ebb9@byu.net>
63631
63632         Work around glibc's failure to flush stdin on fclose.
63633         * lib/closein.c (close_stdin): Flush stdin before closing.
63634
63635         Work around glibc's failure to reset seekable stdin on exit.
63636         * modules/closein: New module.
63637         * lib/closein.c: New file.
63638         * lib/closein.h: Likewise.
63639         * m4/closein.m4: Likewise.
63640         * MODULES.html.sh (File stream based Input/Output): Document it.
63641
63642 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63643
63644         * gnulib-tool: Rename generated 'autobuild' script to
63645         'do-autobuild' in --create-megatestdir output.
63646
63647         * doc/gnulib.texi (Build robot for gnulib): Fix.
63648
63649 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63650
63651         * modules/sysexits (Depends-on): Add absolute-header.
63652
63653 2007-04-12  Eric Blake  <ebb9@byu.net>
63654
63655         No need to preserve errno on success.
63656         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
63657         Reported by Bruno Haible.
63658
63659 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63660
63661         * MODULES.html.sh (Support for maintaining and releasing
63662         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
63663
63664 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63665
63666         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
63667
63668 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63669
63670         * modules/autobuild: New module.
63671
63672         * m4/autobuild.m4: New file.
63673
63674 2007-04-11  Bruno Haible  <bruno@clisp.org>
63675
63676         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
63677         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
63678         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
63679         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
63680         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63681         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63682         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63683         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63684         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63685         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63686         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
63687         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63688         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63689         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
63690         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63691         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63692         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
63693         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63694         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63695         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
63696         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63697         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63698         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
63699         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63700         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63701         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
63702         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63703         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63704         Reported by Eric Blake.
63705
63706 2007-04-11  Bruno Haible  <bruno@clisp.org>
63707
63708         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
63709
63710 2007-04-10  Bruno Haible  <bruno@clisp.org>
63711
63712         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
63713         for NaN and Infinity. Needed on FreeBSD 6.1.
63714         * tests/test-vasnprintf-posix.c (test_function): Undo last change
63715         regarding results for "%010a" of Infinity and NaN.
63716         * tests/test-vasprintf-posix.c (test_function): Likewise.
63717         * tests/test-snprintf-posix.h (test_function): Likewise.
63718         * tests/test-sprintf-posix.h (test_function): Likewise.
63719         * tests/test-fprintf-posix.h (test_function): Likewise.
63720         * tests/test-printf-posix.h (test_function): Likewise.
63721         * tests/test-fprintf-posix.out: Likewise.
63722
63723 2007-04-10  Bruno Haible  <bruno@clisp.org>
63724
63725         * modules/locale-tests: New file.
63726         * tests/test-locale.c: New file.
63727
63728         * modules/locale: New file.
63729         * lib/locale_.h: New file.
63730         * m4/locale_h.m4: New file.
63731
63732 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
63733             Bruno Haible  <bruno@clisp.org>
63734
63735         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
63736         be determined, test for availability of the copysignf, copysign,
63737         copysignl functions.
63738         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
63739         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
63740         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
63741
63742 2007-04-09  Eric Blake  <ebb9@byu.net>
63743
63744         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
63745         * modules/stdio (Makefile.am): Support fflush.
63746         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
63747         * modules/fflush: New file.
63748         * lib/fflush.c: Likewise.
63749         * m4/fflush.m4: Likewise.
63750         * modules/fflush-tests: New test.
63751         * tests/test-fflush.c: Likewise.
63752         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
63753
63754 2007-04-06  Bruno Haible  <bruno@clisp.org>
63755
63756         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
63757         (VASNPRINTF): Use signbit for faster determination whether to print a
63758         minus sign.
63759         * modules/vasnprintf (Files): Remove lib/float+.h.
63760         * modules/fprintf-posix (Depends-on): Add signbit.
63761         * modules/snprintf-posix (Depends-on): Likewise.
63762         * modules/sprintf-posix (Depends-on): Likewise.
63763         * modules/vasnprintf-posix (Depends-on): Likewise.
63764         * modules/vasprintf-posix (Depends-on): Likewise.
63765         * modules/vfprintf-posix (Depends-on): Likewise.
63766         * modules/vsnprintf-posix (Depends-on): Likewise.
63767         * modules/vsprintf-posix (Depends-on): Likewise.
63768
63769 2007-04-06  Bruno Haible  <bruno@clisp.org>
63770
63771         * tests/test-frexp.c (main): Test also the sign bit of zero results.
63772         * tests/test-frexpl.c (main): Likewise.
63773         * tests/test-ldexpl.c (main): Likewise.
63774         * modules/frexp-tests (Depends-on): Add signbit.
63775         * modules/frexpl-tests (Depdends-on): Likewise.
63776         * modules/ldexpl-tests (Depdends-on): Likewise.
63777
63778 2007-04-06  Bruno Haible  <bruno@clisp.org>
63779
63780         * modules/signbit-tests: New file.
63781         * tests/test-signbit.c: New file.
63782
63783         * modules/signbit: New file.
63784         * lib/signbitf.c: New file.
63785         * lib/signbitd.c: New file.
63786         * lib/signbitl.c: New file.
63787         * m4/signbit.m4: New file.
63788         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
63789         (signbit): New macro.
63790         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
63791         REPLACE_SIGNBIT.
63792         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
63793         REPLACE_FREXPL into math.h.
63794
63795 2007-04-06  Bruno Haible  <bruno@clisp.org>
63796
63797         * modules/isnanf-nolibm-tests: New file.
63798         * tests/test-isnanf.c: New file.
63799
63800         * modules/isnanf-nolibm: New file.
63801         * lib/isnanf.h: New file.
63802         * lib/isnanf.c: New file.
63803         * lib/isnan.c: Consider the USE_FLOAT macro.
63804         * m4/isnanf.m4: New file.
63805
63806 2007-04-06  Bruno Haible  <bruno@clisp.org>
63807
63808         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
63809         (Link): New section.
63810
63811         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
63812
63813 2007-04-06  Bruno Haible  <bruno@clisp.org>
63814
63815         Assume the 'long double' type.
63816         * m4/longdouble.m4: Remove file.
63817         * config/srclist.txt: Don't mention longdouble.m4.
63818         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
63819         * lib/float+.h: Likewise.
63820         * lib/frexp.c: Likewise.
63821         * lib/printf-args.h: Likewise.
63822         * lib/printf-args.c: Likewise.
63823         * lib/printf-frexp.c: Likewise.
63824         * lib/printf-parse.c: Likewise.
63825         * lib/vasnprintf.c: Likewise.
63826         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
63827         * m4/intl.m4: Likewise.
63828         * m4/isnanl.m4: Likewise.
63829         * m4/printf.m4: Likewise.
63830         * m4/printf-frexpl.m4: Likewise.
63831         * m4/vasnprintf.m4: Likewise.
63832         * modules/allocsa (Files): Remove m4/longdouble.m4.
63833         * modules/gettext (Files): Likewise.
63834         * modules/relocatable-prog-wrapper (Files): Likewise.
63835         * modules/vasnprintf (Files): Likewise.
63836         * modules/isnanl (Files): Likewise.
63837         (Include): Simplify.
63838         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
63839         (Include): Simplify.
63840         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
63841         (Include): Simplify.
63842         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
63843         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63844         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
63845         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63846         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
63847         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63848         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
63849         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63850         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
63851         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63852         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
63853         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63854         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
63855         * tests/test-isnanl.c: Likewise.
63856         * tests/test-snprintf-posix.h: Likewise.
63857         * tests/test-sprintf-posix.h: Likewise.
63858         * tests/test-vasnprintf-posix.c: Likewise.
63859         * tests/test-vasnprintf-posix2.c: Likewise.
63860         * tests/test-vasprintf-posix.c: Likewise.
63861
63862 2007-04-06  Bruno Haible  <bruno@clisp.org>
63863
63864         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
63865         * lib/math_.h [__DECC]: Include the overridden include file through
63866         #include_next, outside the double-inclusion guard.
63867         * lib/stdio_.h [__DECC]: Likewise.
63868         * lib/stdlib_.h [__DECC]: Likewise.
63869         * lib/string_.h [__DECC]: Likewise.
63870         * lib/time_.h [__DECC]: Likewise.
63871         * lib/wchar_.h [__DECC]: Likewise.
63872         * lib/wctype_.h [__DECC]: Likewise.
63873         * lib/inttypes_.h [__DECC]: Likewise.
63874         Reported by Albert Chin <china@thewrittenword.com> in
63875         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
63876
63877 2007-04-04  Eric Blake  <ebb9@byu.net>
63878
63879         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
63880         1.5.x.
63881
63882 2007-04-04  Bruno Haible  <bruno@clisp.org>
63883
63884         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
63885         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
63886
63887 2007-04-04  Bruno Haible  <bruno@clisp.org>
63888
63889         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
63890         results for "%010a" of Infinity and NaN.
63891         * tests/test-vasprintf-posix.c (test_function): Likewise.
63892         * tests/test-snprintf-posix.h (test_function): Likewise.
63893         * tests/test-sprintf-posix.h (test_function): Likewise.
63894         * tests/test-fprintf-posix.h (test_function): Remove these tests.
63895         * tests/test-printf-posix.h (test_function): Likewise.
63896         * tests/test-fprintf-posix.out: Update.
63897         Needed for FreeBSD 6.1.
63898
63899 2007-04-04  Bruno Haible  <bruno@clisp.org>
63900
63901         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
63902         directly used by the gnulib modules nor by gnulib-tool.
63903
63904 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
63905
63906         * DEPENDENCIES: Give overall description of version dependency
63907         desirability.  Use more-typical names for apps.
63908         Add shell, coreutils, diffutils, grep, tar, gzip.
63909
63910 2007-04-04  Simon Josefsson  <simon@josefsson.org>
63911
63912         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
63913
63914 2007-04-04  Karl Berry  <karl@gnu.org>
63915
63916         * MODULES.html.sh (func_module): missing '.
63917
63918 2007-04-03  Bruno Haible  <bruno@clisp.org>
63919
63920         * modules/argmatch-tests (Makefile.am): New variable
63921         test_argmatch_LDADD.
63922         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
63923         * modules/array-list-tests (Makefile.am): New variable
63924         test_array_list_LDADD.
63925         * modules/array-oset-tests (Makefile.am): New variable
63926         test_array_oset_LDADD.
63927         * modules/avltree-list-tests (Makefile.am): New variable
63928         test_avltree_list_LDADD.
63929         * modules/avltree-oset-tests (Makefile.am): New variable
63930         test_avltree_oset_LDADD.
63931         * modules/avltreehash-list-tests (Makefile.am): New variable
63932         test_avltreehash_list_LDADD.
63933         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
63934         test_canonicalize_lgpl_LDADD.
63935         * modules/carray-list-tests (Makefile.am): New variable
63936         test_carray_list_LDADD.
63937         * modules/dirname-tests (Makefile.am): New variable
63938         test_dirname_LDADD.
63939         * modules/linked-list-tests (Makefile.am): New variable
63940         test_linked_list_LDADD.
63941         * modules/linkedhash-list-tests (Makefile.am): New variable
63942         test_linkedhash_list_LDADD.
63943         * modules/rbtree-list-tests (Makefile.am): New variable
63944         test_rbtree_list_LDADD.
63945         * modules/rbtree-oset-tests (Makefile.am): New variable
63946         test_rbtree_oset_LDADD.
63947         * modules/rbtreehash-list-tests (Makefile.am): New variable
63948         test_rbtreehash_list_LDADD.
63949         * modules/xvasprintf-tests (Makefile.am): New variable
63950         test_xvasprintf_LDADD.
63951         Reported by Eric Blake.
63952
63953 2007-04-03  Eric Blake  <ebb9@byu.net>
63954
63955         * DEPENDENCIES: Weaken m4 requirements.
63956
63957 2007-04-03  Bruno Haible  <bruno@clisp.org>
63958
63959         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
63960         * modules/isnanl-tests (configure.ac): Likewise.
63961
63962 2007-04-03  Ben Pfaff  <blp@gnu.org>
63963
63964         * modules/iconv_open: Add $(srcdir)/ to source directory
63965         references in Makefile fragments that call gperf, to fix VPATH
63966         builds.
63967
63968 2007-04-03  Bruno Haible  <bruno@clisp.org>
63969
63970         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
63971         * lib/ldexpl.c: Undo last change.
63972
63973 2007-04-03  Bruno Haible  <bruno@clisp.org>
63974
63975         * modules/printf-frexpl (Depends-on): Undo last change.
63976         (Files): Add m4/ldexpl.m4.
63977
63978 2007-04-03  Bruno Haible  <bruno@clisp.org>
63979
63980         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
63981         * modules/isnanl (Link): New section.
63982
63983         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
63984         * modules/frexp (Link): New section.
63985
63986         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
63987         * modules/frexpl (Link): New section.
63988
63989         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
63990         * modules/ldexpl (Link): New section.
63991
63992 2007-04-03  Bruno Haible  <bruno@clisp.org>
63993
63994         * modules/TEMPLATE-EXTENDED: New file.
63995         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
63996
63997 2007-04-03  Bruno Haible  <bruno@clisp.org>
63998
63999         * DEPENDENCIES: New file.
64000         Suggested by Simon Josefsson.
64001
64002 2007-04-03  Bruno Haible  <bruno@clisp.org>
64003
64004         * doc/gnulib.texi: Escape @.
64005
64006 2007-04-03  James Youngman  <jay@gnu.org>
64007         and Paul Eggert  <eggert@cs.ucla.edu>
64008
64009         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
64010         birthtime on all systems that have birthtime, not just those which
64011         use st_birthtimensec rather than st_birthtim.  Putting zero in
64012         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
64013         that the birth time is not available for files on an NFS mount.
64014
64015 2007-04-03  Simon Josefsson  <simon@josefsson.org>
64016
64017         * modules/memxor: Move back from crypto/, suggested by Bruno.
64018         * modules/crypto/hmac-sha1: Fix memxor dependency.
64019
64020         * modules/crypto/gc: Moved from ../.
64021
64022 2007-04-02  Eric Blake  <ebb9@byu.net>
64023
64024         * lib/ldexpl.c (includes): Avoid libm.
64025
64026         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
64027
64028 2007-04-02  Bruno Haible  <bruno@clisp.org>
64029
64030         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
64031         on IRIX.
64032
64033 2007-04-02  Bruno Haible  <bruno@clisp.org>
64034
64035         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
64036         x86 or x86_64 platforms running MacOS X.
64037         Reported by Ryan Schmidt <@ryandesign.com>.
64038
64039 2007-04-02  Bruno Haible  <bruno@clisp.org>
64040
64041         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
64042         i386.
64043
64044 2007-04-01  Simon Josefsson  <simon@josefsson.org>
64045
64046         * modules/crypto/arcfour: Moved from ../.
64047         * modules/crypto/arcfour-tests: Moved from ../.
64048         * modules/crypto/arctwo: Moved from ../.
64049         * modules/crypto/arctwo-tests: Moved from ../.
64050         * modules/crypto/des: Moved from ../.
64051         * modules/crypto/des-tests: Moved from ../.
64052         * modules/crypto/gc-arcfour: Moved from ../.
64053         * modules/crypto/gc-arcfour-tests: Moved from ../.
64054         * modules/crypto/gc-arctwo: Moved from ../.
64055         * modules/crypto/gc-arctwo-tests: Moved from ../.
64056         * modules/crypto/gc-des: Moved from ../.
64057         * modules/crypto/gc-des-tests: Moved from ../.
64058         * modules/crypto/gc-hmac-md5: Moved from ../.
64059         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
64060         * modules/crypto/gc-hmac-sha1: Moved from ../.
64061         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
64062         * modules/crypto/gc-md2: Moved from ../.
64063         * modules/crypto/gc-md2-tests: Moved from ../.
64064         * modules/crypto/gc-md4: Moved from ../.
64065         * modules/crypto/gc-md4-tests: Moved from ../.
64066         * modules/crypto/gc-md5: Moved from ../.
64067         * modules/crypto/gc-md5-tests: Moved from ../.
64068         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
64069         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
64070         * modules/crypto/gc-random: Moved from ../.
64071         * modules/crypto/gc-rijndael: Moved from ../.
64072         * modules/crypto/gc-rijndael-tests: Moved from ../.
64073         * modules/crypto/gc-sha1: Moved from ../.
64074         * modules/crypto/gc-sha1-tests: Moved from ../.
64075         * modules/crypto/gc-tests: Moved from ../.
64076         * modules/crypto/hmac-md5: Moved from ../.
64077         * modules/crypto/hmac-md5-tests: Moved from ../.
64078         * modules/crypto/hmac-sha1: Moved from ../.
64079         * modules/crypto/hmac-sha1-tests: Moved from ../.
64080         * modules/crypto/md2: Moved from ../.
64081         * modules/crypto/md2-tests: Moved from ../.
64082         * modules/crypto/md4: Moved from ../.
64083         * modules/crypto/md4-tests: Moved from ../.
64084         * modules/crypto/md5: Moved from ../.
64085         * modules/crypto/md5-tests: Moved from ../.
64086         * modules/crypto/memxor: Moved from ../.
64087         * modules/crypto/rijndael: Moved from ../.
64088         * modules/crypto/rijndael-tests: Moved from ../.
64089         * modules/crypto/sha1: Moved from ../.
64090
64091 2007-03-30  James Youngman  <jay@gnu.org>
64092
64093         * tests/test-stat-time.c (prepare_test): use chmod() rather than
64094         rename() to change the ctime of a file (because ctime is unaffected
64095         by rename on jfs2 on AIX 5.1).
64096         (main): Start by doing cleanup, in case a previous run failed leaving
64097         test files behind.
64098
64099 2007-03-31  Bruno Haible  <bruno@clisp.org>
64100
64101         Support old proprietary implementations of iconv.
64102         * modules/iconv_open: New file.
64103         * lib/iconv_.h: New file.
64104         * m4/iconv_h.m4: New file.
64105         * lib/iconv_open.c: New file.
64106         * lib/iconv_open-aix.gperf: New file.
64107         * lib/iconv_open-hpux.gperf: New file.
64108         * lib/iconv_open-irix.gperf: New file.
64109         * lib/iconv_open-osf.gperf: New file.
64110         * m4/iconv_open.m4: New file.
64111         * modules/linebreak (Depends-on): Add iconv_open.
64112         * modules/striconv (Depends-on): Likewise.
64113         * modules/striconveh (Depends-on): Likewise.
64114         * modules/unicodeio (Depends-on): Likewise.
64115         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
64116         (iconv_t)(-1).
64117         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
64118         conversion if cd is (iconv_t)(-1).
64119         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
64120         is not possible.
64121
64122 2007-03-31  Bruno Haible  <bruno@clisp.org>
64123
64124         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
64125         work on Solaris either. Protect also second use of "autodetect_jp".
64126
64127 2007-03-31  Bruno Haible  <bruno@clisp.org>
64128
64129         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
64130         the function is not present.
64131
64132 2007-03-31  Bruno Haible  <bruno@clisp.org>
64133
64134         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
64135         the function is not present.
64136
64137 2007-03-31  Bruno Haible  <bruno@clisp.org>
64138
64139         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
64140         a bug in HP-UX iconv_open().
64141
64142 2007-03-31  Bruno Haible  <bruno@clisp.org>
64143
64144         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
64145         (Mathematics <math.h>): New section, add fpieee.
64146         (Input/output <stdio.h>): Add fseterr.
64147         (Mathematics <math.h>): New section, add printf-frexp.
64148         (Container data structures): Add sublist.
64149         (Core language properties): Add fpucw, inline.
64150         (Functions for greatest-width integer types <inttypes.h>): Add
64151         imaxabs, imaxdiv, inttypes.
64152         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
64153         isnanl-nolibm, ldexp.
64154         (Mathematics <math.h>): New section, add printf-frexpl.
64155         (Support for systems lacking POSIX:2001): Add fprintf-posix,
64156         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
64157         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
64158         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
64159         (Unicode string functions): Add unistr/u*-mbtoucr.
64160         (Java): Add javacomp-script, javaexec-script.
64161         (C#): Add csharpcomp-script, csharpexec-script.
64162         (Support for building libraries and executables): Add havelib,
64163         relocatable-*.
64164         (Support for maintaining and releasing projects): Renamed from
64165         'Support for maintaining and release projects'. Add announce-gen.
64166
64167 2007-03-31  Bruno Haible  <bruno@clisp.org>
64168
64169         * README: Talk primarily about git.
64170         (git and CVS): Renamed from CVS.
64171         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
64172         gnulib is available through git.
64173         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
64174
64175 2007-03-30  Bruno Haible  <bruno@clisp.org>
64176
64177         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
64178         * lib/poll_.h: Likewise.
64179         * lib/stat_.h: Likewise.
64180         * lib/sys_time_.h: Likewise.
64181         * lib/sysexit_.h: Likewise.
64182         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
64183         * lib/stdbool_.h: Likewise.
64184         * lib/byteswap_.h: Add double-inclusion guard.
64185
64186 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
64187
64188         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
64189
64190 2007-03-30  Karl Berry  <karl@gnu.org>
64191
64192         * config/srclist-update: double space after USA in the license
64193         substitution, since that's how it's usually (?) written.
64194
64195 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
64196
64197         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
64198         reported by Bruno Haible.
64199
64200 2007-03-29  Bruno Haible  <bruno@clisp.org>
64201
64202         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
64203         a bug in AIX iconv().
64204
64205 2007-03-29  Bruno Haible  <bruno@clisp.org>
64206
64207         * modules/ldexpl-tests: New file.
64208         * tests/test-ldexpl.c: New file.
64209
64210 2007-03-29  Bruno Haible  <bruno@clisp.org>
64211
64212         * lib/ldexpl.c: Include fpucw.h.
64213         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
64214         multiplication.
64215         * modules/ldexpl (Depends-on): Add fpucw.
64216
64217 2007-03-29  Bruno Haible  <bruno@clisp.org>
64218
64219         * modules/ldexpl: New file.
64220         * m4/ldexpl.m4: New file.
64221         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
64222         set.
64223         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
64224         REPLACE_LDEXPL.
64225         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
64226         REPLACE_LDEXPL.
64227         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
64228         gl_FUNC_LDEXPL_WORKS.
64229         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
64230         * modules/mathl (Files): Remove lib/ldexpl.c.
64231         (Depends-on): Add ldexpl.
64232
64233 2007-03-29  Bruno Haible  <bruno@clisp.org>
64234
64235         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
64236
64237 2007-03-29  Bruno Haible  <bruno@clisp.org>
64238
64239         * tests/test-striconveh.c (main): Don't assume that a direct conversion
64240         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
64241         and possibly also HP-UX.
64242         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
64243         work on AIX, IRIX, HP-UX, OSF/1.
64244         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
64245         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
64246         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
64247         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
64248         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
64249         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
64250
64251 2007-03-29  Bruno Haible  <bruno@clisp.org>
64252
64253         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
64254
64255 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
64256
64257         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
64258         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
64259
64260 2007-03-29  Eric Blake  <ebb9@byu.net>
64261
64262         * lib/acl-internal.h: Remove redundant include.
64263         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
64264         Cygwin when a file is locked.
64265
64266 2007-03-29  Bruno Haible  <bruno@clisp.org>
64267
64268         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
64269         file.
64270         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
64271
64272 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
64273
64274         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
64275         try to remove a parent directory if the child couldn't be removed
64276         (except for the first rmdir, which could fail because the child
64277         doesn't exist).  Problem reported by Jeff Blaine in
64278         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
64279
64280 2007-03-28  Bruno Haible  <bruno@clisp.org>
64281
64282         * lib/striconveh.c (utf8conv_carefully): New function.
64283         (mem_cd_iconveh_internal): Invoke it.
64284
64285 2007-03-28  Bruno Haible  <bruno@clisp.org>
64286
64287         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
64288         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
64289         input.
64290         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
64291         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
64292         unistr/u8-uctomb.
64293
64294 2007-03-28  Bruno Haible  <bruno@clisp.org>
64295
64296         * modules/unistr/u8-mbtoucr: New file.
64297         * lib/unistr/u8-mbtoucr.c: New file.
64298         * modules/unistr/u16-mbtoucr: New file.
64299         * lib/unistr/u16-mbtoucr.c: New file.
64300         * modules/unistr/u16-mbtoucr: New file.
64301         * lib/unistr/u16-mbtoucr.c: New file.
64302         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
64303
64304 2007-03-27  Simon Josefsson  <simon@josefsson.org>
64305             Bruno Haible  <bruno@clisp.org>
64306
64307         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
64308         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
64309         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
64310
64311         * m4/stdio_h.m4: Add stubs for vasprintf too.
64312
64313         * modules/stdio: Support vasprintf in sed command.
64314
64315         * modules/vasprintf: Depend on stdio for prototypes.  Remove
64316         vasprintf.h.  Add stdio module indicator.
64317
64318         * lib/stdio_.h: Declare asprintf and vasprintf, based on
64319         vasprintf.h.
64320
64321         * lib/vasprintf.h: File removed.
64322
64323         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
64324         * lib/vasprintf.c: Ditto.
64325         * lib/xvasprintf.c: Ditto.
64326         * tests/test-vasprintf-posix.c: Ditto.
64327         * tests/test-vasprintf.c: Ditto.
64328
64329 2007-03-27  Bruno Haible  <bruno@clisp.org>
64330
64331         Make vasnprintf multithread-safe.
64332         * lib/vasnprintf.c (decimal_point_char): New function.
64333         (VASNPRINTF): Use it.
64334         Suggested by Simon Josefsson.
64335
64336 2007-03-27  Eric Blake  <ebb9@byu.net>
64337
64338         Support sub-second birthtime on cygwin.
64339         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
64340         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
64341         (get_stat_birthtime): Also work with st_birthtim.
64342
64343 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
64344
64345         * lib/stat-time.h (USE_BIRTHTIME): Remove.
64346         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
64347         (get_stat_birthtime_ns): Do not try to use "spare" fields.
64348         (get_stat_birthtime_ns): Simplify compile-time tests.
64349         (get_stat_birthtime): Change the API to look like
64350         get_stat_mtime etc., except return a negative tv_nsec on error.
64351         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
64352         Don't check for "spare" fields.
64353         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
64354         or for struct stat.st_birthtime, as these tests aren't used.
64355         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
64356
64357 2007-03-27  Bruno Haible  <bruno@clisp.org>
64358
64359         * lib/stat-time.h: Include <sys/stat.h>.
64360
64361 2007-03-27  James Youngman  <jay@gnu.org>
64362
64363         * lib/stat-time.h (get_stat_birthtime): New function for
64364           retrieving st_birthtime as provided by UFS2 (hence *BSD).
64365         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
64366           and its variants.
64367         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
64368         * modules/stat-time-test: New file.
64369         * tests/test-stat-time.c: New test, devised by Bruno Haible.
64370
64371 2007-03-26  Bruno Haible  <bruno@clisp.org>
64372
64373         Better support of signalling NaNs.
64374         * lib/atanl.c: Include isnanl.h.
64375         (atanl): Perform test for NaN at the beginning of the function and
64376         through a call to isnanl.
64377         * lib/cosl.c: Include isnanl.h.
64378         (cosl): Perform test for NaN at the beginning of the function and
64379         through a call to isnanl.
64380         * lib/ldexpl.c: Include isnanl.h.
64381         (ldexpl): Perform test for NaN through a call to isnanl.
64382         * lib/logl.c: Include isnanl.h.
64383         (logl): Perform test for NaN at the beginning of the function and
64384         through a call to isnanl.
64385         * lib/sinl.c: Include isnanl.h.
64386         (sinl): Perform test for NaN at the beginning of the function and
64387         through a call to isnanl.
64388         * lib/sqrtl.c: Include isnanl.h.
64389         (sqrtl): Perform test for NaN at the beginning of the function and
64390         through a call to isnanl.
64391         * lib/tanl.c: Include isnanl.h.
64392         (tanl): Perform test for NaN at the beginning of the function and
64393         through a call to isnanl.
64394         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
64395         * modules/mathl (Depends-on): Add isnanl.
64396
64397 2007-03-26  Eric Blake  <ebb9@byu.net>
64398
64399         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
64400         regression in logic sense of previous patch.
64401
64402 2007-03-26  Bruno Haible  <bruno@clisp.org>
64403
64404         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
64405         unportable shell command "if ! ...".
64406         Reported by Ralf Wildenhues.
64407
64408 2007-03-25  Bruno Haible  <bruno@clisp.org>
64409
64410         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
64411         <sysexits.h> file, and only add EX_CONFIG.
64412         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
64413         absolute file name and whether it is sufficient. Substitute also
64414         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
64415         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
64416         ABSOLUTE_SYSEXITS_H into sysexits.h.
64417
64418 2007-03-25  Bruno Haible  <bruno@clisp.org>
64419
64420         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
64421         hints is NULL.
64422
64423 2007-03-25  Bruno Haible  <bruno@clisp.org>
64424
64425         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
64426         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
64427
64428 2007-03-25  Bruno Haible  <bruno@clisp.org>
64429
64430         * lib/vasnprintf.c: Include langinfo.h.
64431         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
64432         multithread-safe.
64433         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
64434         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
64435         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64436         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64437         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64438         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64439         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64440         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
64441         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64442         Reported by Simon Josefsson.
64443
64444 2007-03-25  Bruno Haible  <bruno@clisp.org>
64445
64446         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
64447         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
64448         * modules/vasnprintf (Depends-on): Add stdint.
64449
64450 2007-03-25  Bruno Haible  <bruno@clisp.org>
64451
64452         * modules/fpieee: New file.
64453         * m4/fpieee.m4: New file.
64454         * modules/isnan-nolibm (Depends-on): Add fpieee.
64455         * modules/isnanl-nolibm (Depends-on): Add fpieee.
64456         * modules/isnanl (Depends-on): Add fpieee.
64457
64458 2007-03-25  Bruno Haible  <bruno@clisp.org>
64459
64460         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
64461
64462 2007-03-25  Bruno Haible  <bruno@clisp.org>
64463
64464         Avoid test failures on IRIX 6.5.
64465         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
64466         (main): Use it.
64467         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
64468         macros.
64469         (main): Use them.
64470
64471 2007-03-25  Bruno Haible  <bruno@clisp.org>
64472
64473         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
64474         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
64475         exists but doesn't work.
64476         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
64477         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
64478         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
64479         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
64480         math.h.
64481
64482 2007-03-25  Bruno Haible  <bruno@clisp.org>
64483
64484         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
64485         returns inf. Needed on IRIX 6.5.
64486
64487 2007-03-25  Bruno Haible  <bruno@clisp.org>
64488
64489         * tests/test-frexpl.c: Include isnanl-nolibm.h.
64490         (main): Use isnanl instead of x != x idiom.
64491         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
64492
64493         * tests/test-frexp.c: Include isnan.h.
64494         (main): Use isnan instead of x != x idiom.
64495         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
64496
64497 2007-03-25  Bruno Haible  <bruno@clisp.org>
64498
64499         * tests/test-frexp.c (NaN): New function/macro.
64500         (main): Use it instead of 0.0 / 0.0.
64501         * tests/test-isnan.c (NaN): New function/macro.
64502         (main): Use it instead of 0.0 / 0.0.
64503         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
64504         (test_function): Use it instead of 0.0 / 0.0.
64505         * tests/test-vasprintf-posix.c (NaN): New function/macro.
64506         (test_function): Use it instead of 0.0 / 0.0.
64507         * tests/test-snprintf-posix.h (NaN): New function/macro.
64508         (test_function): Use it instead of 0.0 / 0.0.
64509         * tests/test-sprintf-posix.h (NaN): New function/macro.
64510         (test_function): Use it instead of 0.0 / 0.0.
64511         * tests/test-fprintf-posix.h (NaN): New function/macro.
64512         (test_function): Use it instead of 0.0 / 0.0.
64513         * tests/test-printf-posix.h (NaN): New function/macro.
64514         (test_function): Use it instead of 0.0 / 0.0.
64515
64516         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
64517
64518 2007-03-25  Bruno Haible  <bruno@clisp.org>
64519
64520         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
64521
64522 2007-03-25  Bruno Haible  <bruno@clisp.org>
64523
64524         * lib/regexec.c (merge_state_with_log): Make static.
64525
64526 2007-03-25  Bruno Haible  <bruno@clisp.org>
64527
64528         * lib/trigl.c (kernel_rem_pio2): Make static.
64529
64530 2007-03-25  Bruno Haible  <bruno@clisp.org>
64531
64532         * lib/sincosl.c (sincosl_table): Make static.
64533
64534 2007-03-25  Bruno Haible  <bruno@clisp.org>
64535
64536         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
64537         if the compiler does not support C99.
64538
64539 2007-03-25  Bruno Haible  <bruno@clisp.org>
64540
64541         * modules/time (Makefile.am): Ensure all rule action lines start with a
64542         tab.
64543
64544 2007-03-24  Bruno Haible  <bruno@clisp.org>
64545
64546         * modules/tsearch-tests: New file.
64547         * tests/test-tsearch.sh: New file.
64548         * tests/test-tsearch.c: New file, mostly copied from glibc.
64549
64550         * modules/search-tests: New file.
64551         * tests/test-search.c: New file.
64552
64553         * modules/search: New file.
64554         * lib/search_.h: New file, incorporating lib/tsearch.h.
64555         * m4/search_h.m4: New file.
64556         * lib/tsearch.h: Remove file.
64557         * lib/tsearch.c: Include search.h instead of tsearch.h.
64558         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
64559         HAVE_TSEARCH.
64560         * modules/tsearch (Files): Remove lib/tsearch.h.
64561         (Depends-on): Add search.
64562         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
64563         (Include): Change tsearch.h into search.h.
64564
64565 2007-03-24  Bruno Haible  <bruno@clisp.org>
64566
64567         * modules/fpucw: New file.
64568         * lib/fpucw.h: New file.
64569         * lib/frexp.c: Include fpucw.h.
64570         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
64571         (FUNC): Use them.
64572         * lib/printf-frexp.c: Include fpucw.h.
64573         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
64574         (FUNC): Use them.
64575         * lib/vasnprintf.c: Include fpucw.h.
64576         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
64577         'long double' calculations.
64578         * tests/test-frexpl.c: Include fpucw.h.
64579         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
64580         * tests/test-printf-frexpl.c: Include fpucw.h.
64581         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
64582         * modules/frexpl (Depends-on): Add fpucw.
64583         * modules/printf-frexpl (Depends-on): Likewise.
64584         * modules/fprintf-posix (Depends-on): Likewise.
64585         * modules/snprintf-posix (Depends-on): Likewise.
64586         * modules/sprintf-posix (Depends-on): Likewise.
64587         * modules/vasnprintf-posix (Depends-on): Likewise.
64588         * modules/vasprintf-posix (Depends-on): Likewise.
64589         * modules/vfprintf-posix (Depends-on): Likewise.
64590         * modules/vsnprintf-posix (Depends-on): Likewise.
64591         * modules/vsprintf-posix (Depends-on): Likewise.
64592         * modules/frexpl-tests (Depends-on): Likewise.
64593         * modules/printf-frexpl-tests (Depends-on): Likewise.
64594
64595 2007-03-24  Bruno Haible  <bruno@clisp.org>
64596
64597         * lib/float+.h: New file.
64598         * lib/isnan.c: Include float+.h.
64599         (SIZE): New macro.
64600         (FUNC): Compare only SIZE bytes of the value.
64601         * lib/vasnprintf.c: Include float+.h.
64602         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
64603         SIZEOF_LDBL or SIZEOF_DBL bytes.
64604         * modules/isnan-nolibm (Files): Add lib/float+.h.
64605         * modules/isnanl-nolibm (Files): Add lib/float+.h.
64606         * modules/isnanl (Files): Add lib/float+.h.
64607         * modules/vasnprintf (Files): Add lib/float+.h.
64608
64609 2007-03-24  Bruno Haible  <bruno@clisp.org>
64610
64611         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
64612         include isnanl-nolibm.h.
64613
64614 2007-03-24  Bruno Haible  <bruno@clisp.org>
64615
64616         * tests/test-read-file.c (main): Don't produce spurious output for
64617         expected situations. Make the test fail if it encountered unexpected
64618         results.
64619
64620 2007-03-24  Bruno Haible  <bruno@clisp.org>
64621
64622         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
64623         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
64624
64625 2007-03-24  Bruno Haible  <bruno@clisp.org>
64626
64627         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
64628
64629 2007-03-24  Bruno Haible  <bruno@clisp.org>
64630
64631         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
64632         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
64633
64634         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
64635         * modules/utf8-ucs4: Turn into a symbolic link to module
64636         unistr/u8-mbtouc.
64637
64638         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
64639         utf8-ucs4-unsafe.
64640         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
64641         unistr/u8-mbtouc-unsafe.
64642
64643         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
64644         * modules/utf16-ucs4: Turn into a symbolic link to module
64645         unistr/u16-mbtouc.
64646
64647         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
64648         utf16-ucs4-unsafe.
64649         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
64650         unistr/u16-mbtouc-unsafe.
64651
64652         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
64653         * modules/ucs4-utf8: Turn into a symbolic link to module
64654         unistr/u8-ubtomb.
64655
64656         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
64657         * modules/ucs4-utf16: Turn into a symbolic link to module
64658         unistr/u16-ubtomb.
64659
64660 2007-03-24  Bruno Haible  <bruno@clisp.org>
64661
64662         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
64663         Enable the function only if HAVE_INLINE.
64664         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
64665         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
64666         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
64667         Enable the function only if HAVE_INLINE.
64668         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
64669         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
64670         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
64671         Enable the function only if HAVE_INLINE.
64672         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
64673         Enable the function only if HAVE_INLINE.
64674         * modules/utf8-ucs4: Update.
64675         * modules/utf8-ucs4-unsafe: Update.
64676         * modules/utf16-ucs4: Update.
64677         * modules/utf16-ucs4-unsafe: Update.
64678         * modules/ucs4-utf8: Update.
64679         * modules/ucs4-utf16: Update.
64680
64681 2007-03-24  Bruno Haible  <bruno@clisp.org>
64682
64683         * lib/utf8-ucs4.h: Remove file.
64684         * lib/utf8-ucs4-unsafe.h: Remove file.
64685         * lib/utf16-ucs4.h: Remove file.
64686         * lib/utf16-ucs4-unsafe.h: Remove file.
64687         * lib/ucs4-utf8.h: Remove file.
64688         * lib/ucs4-utf16.h: Remove file.
64689         * lib/unistr.h: Include their previous contents.
64690         * m4/utf-ucs4.m4: Remove file.
64691         * m4/ucs4-utf.m4: Remove file.
64692         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
64693         (Depends-on): Add unistr/base.
64694         (configure.ac): Remove gl_UTF_UCS4.
64695         (Makefile.am): Update.
64696         (Include): Change to unistr.h.
64697         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
64698         (Depends-on): Add unistr/base.
64699         (configure.ac): Remove gl_UTF_UCS4.
64700         (Makefile.am): Update.
64701         (Include): Change to unistr.h.
64702         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
64703         (Depends-on): Add unistr/base.
64704         (configure.ac): Remove gl_UTF_UCS4.
64705         (Makefile.am): Update.
64706         (Include): Change to unistr.h.
64707         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
64708         (Depends-on): Add unistr/base.
64709         (configure.ac): Remove gl_UTF_UCS4.
64710         (Makefile.am): Update.
64711         (Include): Change to unistr.h.
64712         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
64713         (Depends-on): Add unistr/base.
64714         (configure.ac): Remove gl_UCS4_UTF.
64715         (Makefile.am): Update.
64716         (Include): Change to unistr.h.
64717         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
64718         (Depends-on): Add unistr/base.
64719         (configure.ac): Remove gl_UCS4_UTF.
64720         (Makefile.am): Update.
64721         (Include): Change to unistr.h.
64722         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
64723         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
64724         utf8-ucs4-unsafe.h.
64725         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
64726         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
64727         utf16-ucs4-unsafe.h.
64728         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
64729         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
64730         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
64731         * lib/unistr/u8-strchr.c: Likewise.
64732         * lib/unistr/u8-strrchr.c: Likewise.
64733         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
64734         * lib/unistr/u16-strchr.c: Likewise.
64735         * lib/unistr/u16-strrchr.c: Likewise.
64736         * lib/striconveh.c: Update.
64737         * lib/linebreak.c: Update.
64738
64739 2007-03-24  Bruno Haible  <bruno@clisp.org>
64740
64741         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
64742         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
64743
64744 2007-03-22  Bruno Haible  <bruno@clisp.org>
64745
64746         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
64747
64748 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
64749
64750         * MODULES.html.sh (File system functions): New module write-any-file.
64751         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
64752         * m4/write-any-file.m4: New files.
64753
64754 2007-03-23  Eric Blake  <ebb9@byu.net>
64755
64756         * gnulib-tool: Rearrange space-tab sequences, since some editors
64757         like to eat them.
64758
64759 2007-03-23  Eric Blake  <ebb9@byu.net>
64760
64761         * lib/version-etc.c (version_etc_va): Update license wording to
64762         be more concise.  Recommended by Richard Stallman.
64763
64764 2007-03-22  Bruno Haible  <bruno@clisp.org>
64765
64766         * lib/poll.c (MSG_PEEK): New fallback definition.
64767
64768 2007-03-22  Bruno Haible  <bruno@clisp.org>
64769
64770         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
64771         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
64772         (main): Update.
64773         Fixes a compilation error on BeOS.
64774
64775 2007-03-22  Bruno Haible  <bruno@clisp.org>
64776
64777         * modules/frexpl-tests: New file.
64778         * tests/test-frexpl.c: New file.
64779
64780         * modules/frexpl: New file.
64781         * m4/frexpl.m4: New file.
64782         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
64783         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
64784         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
64785         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
64786         (Depends-on): Add frexpl. Remove isnanl-nolibm.
64787         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
64788
64789 2007-03-22  Bruno Haible  <bruno@clisp.org>
64790
64791         * lib/frexpl.c: Share code with lib/frexp.c.
64792         * modules/mathl (Files): Add lib/frexp.c.
64793         (Depends-on): Add isnanl-nolibm.
64794
64795 2007-03-22  Bruno Haible  <bruno@clisp.org>
64796
64797         * modules/printf-frexp (Files): Add m4/frexp.m4.
64798         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
64799         only if the found frexp function actually works.
64800
64801 2007-03-22  Bruno Haible  <bruno@clisp.org>
64802
64803         * lib/frexp.c: Remove older implementation that uses divisions.
64804
64805 2007-03-21  Bruno Haible  <bruno@clisp.org>
64806
64807         * modules/frexp-tests: New file.
64808         * tests/test-frexp.c: New file.
64809
64810         * modules/frexp: New file.
64811         * lib/frexp.c: New file.
64812         * m4/frexp.m4: New file.
64813         * lib/math_.h (frexp): New declaration.
64814         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
64815         REPLACE_FREXP.
64816         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
64817
64818 2007-03-21  Bruno Haible  <bruno@clisp.org>
64819
64820         * modules/isnanl-tests: New file.
64821         * tests/test-isnanl.c: New file.
64822
64823         * modules/isnanl: New file.
64824         * lib/isnanl.h: New file.
64825         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
64826         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
64827         gl_FUNC_ISNANL_WORKS.
64828         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
64829         New macros.
64830
64831 2007-03-21  Bruno Haible  <bruno@clisp.org>
64832
64833         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
64834         lib/isnanl.h.
64835         (Include): Update.
64836         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
64837         * lib/vasnprintf.c: Update.
64838         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
64839         tests/test-isnanl.h, remove tests/test-isnanl.c.
64840         (Makefile.am): Update.
64841         * tests/test-isnanl-nolibm.c: New file.
64842         * tests/test-isnanl.h: New file.
64843         * tests/test-isnanl.c: Remove file.
64844
64845 2007-03-21  Jim Meyering  <jim@meyering.net>
64846
64847         When trying to open ".", treat ESTALE like EACCES.
64848         * lib/savewd.c (savewd_save): Resort to forking not just upon
64849         failure with EACCES, but also when errno is ESTALE.
64850
64851 2007-03-20  Bruno Haible  <bruno@clisp.org>
64852
64853         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
64854         Needed on AIX 5.1. Reported by Matthew Woehlke.
64855
64856 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
64857
64858         Suggestions by Bruno Haible:
64859         * lib/acl-internal.h: Include "gettext.h" rather than rolling
64860         our own.
64861         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
64862         * modules/acl (Depends-on): Add gettext.
64863
64864 2007-03-19  Bruno Haible  <bruno@clisp.org>
64865
64866         * modules/iconvme: Remove file.
64867         * lib/iconvme.h: Remove file.
64868         * lib/iconvme.c: Remove file.
64869         * m4/iconvme.m4: Remove file.
64870
64871 2007-03-19  Bruno Haible  <bruno@clisp.org>
64872
64873         * doc/relocatable-maint.texi: Break long shell script line.
64874         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
64875
64876 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
64877
64878         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
64879         handle file_has_acl.
64880         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
64881         * lib/acl.c: Move header inclusions and related macro defns into
64882         lib/acl-internal.h.
64883         (S_ISLNK): Remove defn, since that's now done for us.
64884         (file_has_acl): Move to lib/file-has-acl.c.
64885         Call acl_trivial if available.  This is the crucial part of the fix.
64886         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
64887         shared within the library.  Rewrite a bit, partly to make it compatible
64888         with the GNU coding style.
64889         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
64890         Remove unnecessary double-quotes.
64891         Don't test for acl_to_text; the build will catch that.
64892         Replace acl_entries if it doesn't exist and it is needed.
64893         Check for -lsec and acl_trivial (as used on Solaris 10).
64894         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
64895         lib/file-has-acl.c.
64896         (Depends-on): Add sys_stat, for S_ISLNK.
64897
64898 2007-03-19  Ben Pfaff  <blp@gnu.org>
64899
64900         * doc/gnulib.texi: Fix typos.
64901         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
64902
64903 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
64904
64905         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
64906         If size is zero here, buf must be zero.
64907
64908 2007-03-19  Simon Josefsson  <simon@josefsson.org>
64909
64910         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
64911         <bruno@clisp.org>.
64912
64913 2007-03-18  Bruno Haible  <bruno@clisp.org>
64914
64915         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
64916         Suggested by Eric Blake.
64917
64918 2007-03-18  Ben Pfaff  <blp@gnu.org>
64919
64920         * doc/relocatable.texi: Recommend using as prefix a directory
64921         that does not exist and will never be created.  Based on
64922         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
64923         and others.
64924
64925 2007-03-17  Bruno Haible  <bruno@clisp.org>
64926
64927         * lib/fchownat.c: Include lchown.h.
64928
64929 2007-03-17  Bruno Haible  <bruno@clisp.org>
64930
64931         Fix endless loop when the given allocated size was > INT_MAX.
64932         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
64933         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
64934         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
64935         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
64936         * lib/sprintf.c (sprintf): Likewise.
64937
64938 2007-03-17  Bruno Haible  <bruno@clisp.org>
64939
64940         * tests/test-argp-2.sh (func_compare): Output a context diff.
64941
64942 2007-03-17  Bruno Haible  <bruno@clisp.org>
64943
64944         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
64945         locale's decimal-point character.
64946
64947 2007-03-17  Bruno Haible  <bruno@clisp.org>
64948
64949         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
64950         before comparing it. Needed because on some platforms (e.g. x86) a
64951         'long double' occupies less bytes than sizeof (long double).
64952
64953 2007-03-17  Bruno Haible  <bruno@clisp.org>
64954
64955         * tests/test-crc.c (main): Make printf statements 64-bit clean.
64956         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
64957         * tests/test-getaddrinfo.c (simple): Likewise.
64958         * tests/test-read-file.c (main): Likewise.
64959
64960 2007-03-17  Bruno Haible  <bruno@clisp.org>
64961
64962         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
64963
64964 2007-03-17  Bruno Haible  <bruno@clisp.org>
64965
64966         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
64967         unused variable.
64968
64969 2007-03-17  Bruno Haible  <bruno@clisp.org>
64970
64971         * tests/test-c-strcasecmp.c: Include c-strcase.h.
64972         * tests/test-c-strncasecmp.c: Likewise.
64973
64974 2007-03-17  Bruno Haible  <bruno@clisp.org>
64975
64976         * modules/stdlib (Depends-on): Add unistd.
64977         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
64978         Needed for MacOS X 10.3.
64979
64980 2007-03-17  Bruno Haible  <bruno@clisp.org>
64981
64982         * lib/unistr/u-strdup.h: Include <stdlib.h>.
64983
64984 2007-03-17  Bruno Haible  <bruno@clisp.org>
64985
64986         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
64987
64988 2007-03-17  Bruno Haible  <bruno@clisp.org>
64989
64990         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
64991         to reflect files copied from gnulib (with or without modifications).
64992         Suggested by Jim Meyering.
64993
64994 2007-03-17  Eric Blake  <ebb9@byu.net>
64995
64996         * NEWS: Document stdlib change from 2007-02-18.
64997
64998 2007-03-17  Jim Meyering  <jim@meyering.net>
64999
65000         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
65001         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
65002         someone uses a name containing shell meta-characters.
65003         Reported by Alfred M. Szmidt.
65004
65005         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
65006
65007 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65008
65009         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
65010         and copy gettext configuration files only if configure.ac contains
65011         a use of AM_GNU_GETTEXT_VERSION.
65012
65013 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65014
65015         * build-aux/bootstrap (gnulib_name): New variable.
65016         (gnulib_tool_options): Use it.
65017
65018 2007-03-13  Simon Josefsson  <simon@josefsson.org>
65019
65020         * tests/test-des.c: Use new namespace.
65021
65022 2007-03-15  Bruno Haible  <bruno@clisp.org>
65023
65024         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
65025         Reported by James Youngman <jay@gnu.org>.
65026
65027 2007-03-15  Bruno Haible  <bruno@clisp.org>
65028
65029         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
65030         declared prototype. Needed with cc on OSF/1 5.1.
65031
65032 2007-03-15  Bruno Haible  <bruno@clisp.org>
65033
65034         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
65035         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
65036         (struct gl_list_implementation): Add dispose_fn argument to the
65037         'create_empty', 'create' methods.
65038         (struct gl_list_impl_base): Add field 'dispose_fn'.
65039         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
65040         argument.
65041         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
65042         dispose_fn argument.
65043         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
65044         dispose_fn on the dropped values.
65045         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
65046         dispose_fn argument.
65047         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
65048         dropped values.
65049         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
65050         (gl_tree_remove_node): Call dispose_fn on the dropped value.
65051         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
65052         (gl_tree_remove_node): Call dispose_fn on the dropped value.
65053         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
65054         argument.
65055         (gl_tree_list_free): Call dispose_fn on the dropped values.
65056         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
65057         the dropped values.
65058         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65059         Add dispose_fn argument.
65060         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
65061         Call dispose_fn on the dropped values.
65062         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
65063         Add dispose_fn argument.
65064         (gl_sublist_create): Initialize the 'dispose_fn' field.
65065         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
65066         * tests/test-array_list.c (main): Update.
65067         * tests/test-carray_list.c (main): Update.
65068         * tests/test-avltree_list.c (main): Update.
65069         * tests/test-rbtree_list.c (main): Update.
65070         * tests/test-avltreehash_list.c (main): Update.
65071         * tests/test-rbtreehash_list.c (main): Update.
65072         * tests/test-linked_list.c (main): Update.
65073         * tests/test-linkedhash_list.c (main): Update.
65074         * tests/test-array_oset.c (main): Update.
65075
65076 2007-03-15  Bruno Haible  <bruno@clisp.org>
65077
65078         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
65079         (gl_oset_create_empty): Add dispose_fn argument.
65080         (struct gl_oset_implementation): Add dispose_fn argument to
65081         'create_empty' method.
65082         (struct gl_oset_impl_base): Add dispose_fn field.
65083         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
65084         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
65085         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
65086         values.
65087         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
65088         (gl_tree_oset_free): Call dispose_fn on the dropped values.
65089         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
65090         dropped value.
65091         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
65092         dropped value.
65093         * tests/test-array_oset.c (main): Update.
65094         * tests/test-avltree_oset.c (main): Update.
65095         * tests/test-rbtree_oset.c (main): Update.
65096         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
65097
65098 2007-03-13  Bruno Haible  <bruno@clisp.org>
65099
65100         * tests/test-stdbool.c (i): Update after last patch.
65101
65102 2007-03-12  Bruno Haible  <bruno@clisp.org>
65103
65104         * lib/quotearg.c: Include <wctype.h> early, before the definition of
65105         the iswprint macro. Needed on Solaris 2.5.1.
65106
65107 2007-03-12  Bruno Haible  <bruno@clisp.org>
65108
65109         * tests/test-printf-frexp.c (main): Declare x as volatile.
65110
65111 2007-03-12  Simon Josefsson  <simon@josefsson.org>
65112
65113         * doc/gnulib.texi (Build robot for gnulib): New section.
65114
65115 2007-03-12  Jim Meyering  <jim@meyering.net>
65116
65117         * build-aux/bootstrap: New file.
65118         * build-aux/bootstrap.conf: New file, from coreutils.
65119
65120 2007-03-11  Bruno Haible  <bruno@clisp.org>
65121
65122         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
65123
65124 2007-03-12  Simon Josefsson  <simon@josefsson.org>
65125
65126         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
65127         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
65128         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
65129
65130 2007-03-11  Bruno Haible  <bruno@clisp.org>
65131
65132         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
65133         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
65134
65135 2007-03-11  Bruno Haible  <bruno@clisp.org>
65136
65137         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
65138         formula. Needed for SunPRO C 5.0.
65139
65140 2007-03-11  Bruno Haible  <bruno@clisp.org>
65141
65142         * modules/long-options (Depends-on): Add getopt.
65143
65144 2007-03-11  Bruno Haible  <bruno@clisp.org>
65145
65146         * modules/modechange (Depends-on): Add stdbool.
65147
65148 2007-03-11  Bruno Haible  <bruno@clisp.org>
65149
65150         * modules/i-ring (Depends-on): Add stdbool.
65151
65152 2007-03-11  Bruno Haible  <bruno@clisp.org>
65153
65154         * modules/gc-des (Depends-on): Add stdbool.
65155
65156 2007-03-11  Bruno Haible  <bruno@clisp.org>
65157
65158         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
65159
65160 2007-03-11  Bruno Haible  <bruno@clisp.org>
65161
65162         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
65163
65164 2007-03-11  Bruno Haible  <bruno@clisp.org>
65165
65166         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
65167
65168 2007-03-11  Bruno Haible  <bruno@clisp.org>
65169
65170         * lib/vasnprintf.c (sprintf): Undefine.
65171
65172 2007-03-11  Bruno Haible  <bruno@clisp.org>
65173
65174         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
65175         initializers in SunPRO C and Compaq C compilers.
65176
65177 2007-03-11  Bruno Haible  <bruno@clisp.org>
65178
65179         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
65180         decrementing code ANSI C compliant.
65181
65182 2007-03-11  Bruno Haible  <bruno@clisp.org>
65183
65184         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
65185         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
65186
65187 2007-03-11  Bruno Haible  <bruno@clisp.org>
65188
65189         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
65190         <stdbool.h> substitute doesn't pass.
65191
65192 2007-03-11  Bruno Haible  <bruno@clisp.org>
65193
65194         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
65195
65196 2007-03-11  Bruno Haible  <bruno@clisp.org>
65197
65198         * gnulib-tool (func_create_megatestdir): Create also an autobuild
65199         script, for submission to autobuild.josefsson.org.
65200
65201 2007-03-10  Bruno Haible  <bruno@clisp.org>
65202
65203         * modules/canonicalize-lgpl-tests: New file.
65204         * tests/test-canonicalize-lgpl.sh: New file.
65205         * tests/test-canonicalize-lgpl.c: New file.
65206
65207         * modules/c-strcase-tests: New file.
65208         * tests/test-c-strcase.sh: New file.
65209         * tests/test-c-strcasecmp.c: New file.
65210         * tests/test-c-strncasecmp.c: New file.
65211
65212         * modules/atexit-tests: New file.
65213         * tests/test-atexit.sh: New file.
65214         * tests/test-atexit.c: New file.
65215
65216 2007-03-10  Bruno Haible  <bruno@clisp.org>
65217
65218         * tests/test-binary-io.sh: Use temporary filenames that are not so
65219         likely to clash with those of other tests (in a parallel make).
65220         * tests/test-binary-io.c: Likewise.
65221
65222 2007-03-10  Bruno Haible  <bruno@clisp.org>
65223
65224         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
65225         fallback; use #error instead.
65226         Suggested by Simon Josefsson.
65227
65228 2007-03-10  Bruno Haible  <bruno@clisp.org>
65229
65230         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
65231         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
65232         first and the last.
65233
65234 2007-03-10  Bruno Haible  <bruno@clisp.org>
65235
65236         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
65237
65238 2007-03-10  Bruno Haible  <bruno@clisp.org>
65239
65240         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
65241         "make distcheck".
65242         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
65243         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
65244         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
65245
65246 2007-03-10  Bruno Haible  <bruno@clisp.org>
65247
65248         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
65249         variable.
65250         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
65251         variable.
65252
65253 2007-03-09  Eric Blake  <ebb9@byu.net>
65254         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
65255
65256         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
65257         types are not being provided by gnulib.
65258         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
65259         types are supported.
65260
65261 2007-03-10  Bruno Haible  <bruno@clisp.org>
65262
65263         * lib/stdio_.h (__attribute__): New macro.
65264         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
65265         vsprintf): Specify __attribute__ __format__ for GCC.
65266         Suggested by Eric Blake.
65267
65268 2007-03-09  Bruno Haible  <bruno@clisp.org>
65269
65270         * modules/printf-posix-tests: New file.
65271         * tests/test-printf-posix.sh: New file.
65272         * tests/test-printf-posix.c: New file.
65273
65274         * modules/printf-posix: New file.
65275         * lib/printf.c: New file.
65276         * m4/printf-posix-rpl.m4: New file.
65277         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
65278         REPLACE_PRINTF.
65279         * lib/stdio_.h (printf): New declaration.
65280         (format, __format__, ____printf____, ____scanf____, ____strftime____,
65281         ____strfmon____): New macros.
65282         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
65283         REPLACE_PRINTF.
65284
65285 2007-03-09  Bruno Haible  <bruno@clisp.org>
65286
65287         * tests/test-vasnprintf-posix2.sh: New file.
65288         * tests/test-vasnprintf-posix2.c: New file.
65289         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
65290         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
65291         (Makefile.am): Activate test-vasnprintf-posix2.sh.
65292
65293         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
65294         a locale dependent decimal point, rather than always '.'.
65295
65296 2007-03-09  Eric Blake  <ebb9@byu.net>
65297
65298         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
65299         spite of platforms like Tandem/NSK that define it to -1.
65300
65301 2007-03-08  Bruno Haible  <bruno@clisp.org>
65302
65303         * modules/vprintf-posix-tests: New file.
65304         * tests/test-vprintf-posix.sh: New file.
65305         * tests/test-vprintf-posix.c: New file.
65306         * tests/test-printf-posix.h: New file.
65307
65308         * modules/vprintf-posix: New file.
65309         * lib/vprintf.c: New file.
65310         * m4/vprintf-posix.m4: New file.
65311         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
65312         REPLACE_VPRINTF.
65313         * lib/stdio_.h (vprintf): New declaration.
65314         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
65315         REPLACE_VPRINTF.
65316
65317 2007-03-08  Bruno Haible  <bruno@clisp.org>
65318
65319         * modules/fprintf-posix-tests: New file.
65320         * tests/test-fprintf-posix.sh: New file.
65321         * tests/test-fprintf-posix.c: New file.
65322
65323         * modules/fprintf-posix: New file.
65324         * lib/fprintf.c: New file.
65325         * m4/fprintf-posix.m4: New file.
65326         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
65327         REPLACE_FPRINTF.
65328         * lib/stdio_.h (fprintf): New declaration.
65329         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
65330         REPLACE_FPRINTF.
65331
65332 2007-03-08  Bruno Haible  <bruno@clisp.org>
65333
65334         * modules/vfprintf-posix-tests: New file.
65335         * tests/test-vfprintf-posix.sh: New file.
65336         * tests/test-vfprintf-posix.c: New file.
65337         * tests/test-fprintf-posix.h: New file.
65338         * tests/test-fprintf-posix.out: New file.
65339
65340         * modules/vfprintf-posix: New file.
65341         * lib/vfprintf.c: New file.
65342         * m4/vfprintf-posix.m4: New file.
65343         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
65344         REPLACE_VFPRINTF.
65345         * lib/stdio_.h (vfprintf): New declaration.
65346         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
65347         REPLACE_VFPRINTF.
65348
65349 2007-03-08  Bruno Haible  <bruno@clisp.org>
65350
65351         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
65352
65353 2007-03-08  Bruno Haible  <bruno@clisp.org>
65354
65355         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
65356         instead of 'expr' invocations.
65357         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65358         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65359         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65360         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65361         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65362         Suggested by Paul Eggert.
65363
65364 2007-03-08  Bruno Haible  <bruno@clisp.org>
65365
65366         * modules/fseterr-tests: New file.
65367         * tests/test-fseterr.c: New file.
65368
65369         * modules/fseterr: New file.
65370         * lib/fseterr.h: New file.
65371         * lib/fseterr.c: New file.
65372
65373 2007-03-08  Bruno Haible  <bruno@clisp.org>
65374
65375         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
65376         * lib/getopt_.h: Likewise.
65377         * lib/mbswidth.h: Likewise.
65378         * lib/setenv.h: Likewise.
65379         * lib/vasnprintf.h: Likewise.
65380         * lib/vasprintf.h: Likewise.
65381         * lib/verror.h: Likewise.
65382         * lib/xsetenv.h: Likewise.
65383         * lib/xvasprintf.h: Likewise.
65384
65385 2007-03-08  Jim Meyering  <jim@meyering.net>
65386
65387         * users.txt: Add parted.
65388
65389         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
65390
65391 2007-03-07  Bruno Haible  <bruno@clisp.org>
65392
65393         * m4/printf.m4: Make the shell script snippets copy&pastable.
65394
65395 2007-03-02  Bruno Haible  <bruno@clisp.org>
65396
65397         * lib/netinet_in_.h: New file.
65398         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
65399         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
65400         * modules/netinet_in (Files): Add lib/netinet_in_.h.
65401         (Depends-on): Add absolute-header.
65402         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
65403         into netinet/in.h.
65404
65405 2007-03-03  Bruno Haible  <bruno@clisp.org>
65406
65407         * lib/sys_select_.h: New file.
65408         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
65409         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
65410         * modules/sys_select (Files): Add lib/sys_select_.h.
65411         (Depends-on): Add absolute-header.
65412         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
65413         into sys/select.h.
65414
65415 2007-03-02  Bruno Haible  <bruno@clisp.org>
65416
65417         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
65418         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
65419         values.
65420         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
65421         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
65422         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
65423         * modules/sys_socket (Depends-on): Add absolute-header.
65424         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
65425         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
65426         (Include): Remove requirement of inclusion of <sys/types.h>.
65427
65428 2007-03-02  Bruno Haible  <bruno@clisp.org>
65429
65430         * lib/byteswap_.h (bswap_32): Fix formula.
65431
65432 2007-03-06  Bruno Haible  <bruno@clisp.org>
65433
65434         * modules/sprintf-posix-tests: New file.
65435         * tests/test-sprintf-posix.c: New file.
65436
65437         * modules/sprintf-posix: New file.
65438         * lib/sprintf.c: New file.
65439         * m4/sprintf-posix.m4: New file.
65440         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
65441         REPLACE_SPRINTF.
65442         * lib/stdio_.h (sprintf): New declaration.
65443         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
65444         REPLACE_SPRINTF.
65445
65446 2007-03-06  Bruno Haible  <bruno@clisp.org>
65447
65448         * modules/vsprintf-posix-tests: New file.
65449         * tests/test-vsprintf-posix.c: New file.
65450         * tests/test-sprintf-posix.h: New file.
65451
65452         * modules/vsprintf-posix: New file.
65453         * lib/vsprintf.c: New file.
65454         * m4/vsprintf-posix.m4: New file.
65455         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
65456         REPLACE_VSPRINTF.
65457         * lib/stdio_.h (vsprintf): New declaration.
65458         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
65459         REPLACE_VSPRINTF.
65460
65461 2007-03-06  Bruno Haible  <bruno@clisp.org>
65462
65463         * modules/vsnprintf (Depend-on): Remove minmax.
65464
65465 2007-03-06  Bruno Haible  <bruno@clisp.org>
65466
65467         * modules/snprintf-posix-tests: New file.
65468         * tests/test-snprintf-posix.c: New file.
65469
65470         * modules/snprintf-posix: New file.
65471         * m4/snprintf-posix.m4: New file.
65472         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
65473         gl_FUNC_SNPRINTF.
65474         (gl_FUNC_SNPRINTF): Invoke it.
65475         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
65476         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
65477         is set.
65478         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
65479
65480 2007-03-06  Bruno Haible  <bruno@clisp.org>
65481
65482         * modules/vsnprintf-posix-tests: New file.
65483         * tests/test-vsnprintf-posix.c: New file.
65484         * tests/test-snprintf-posix.h: New file.
65485
65486         * modules/vsnprintf-posix: New file.
65487         * m4/vsnprintf-posix.m4: New file.
65488         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
65489         gl_FUNC_VSNPRINTF.
65490         (gl_FUNC_VSNPRINTF): Invoke it.
65491         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
65492         * lib/stdio_.h (vsnprintf): Define as a replacement if
65493         REPLACE_VSNPRINTF is set.
65494         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
65495
65496 2007-03-06  Bruno Haible  <bruno@clisp.org>
65497
65498         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
65499         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
65500
65501 2007-03-06  Bruno Haible  <bruno@clisp.org>
65502
65503         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
65504         (asinl): Declare also if HAVE_DECL_ASINL is set.
65505         (atanl): Declare also if HAVE_DECL_ATANL is set.
65506         (ceill): Declare also if HAVE_DECL_CEILL is set.
65507         (cosl): Declare also if HAVE_DECL_COSL is set.
65508         (expl): Declare also if HAVE_DECL_EXPL is set.
65509         (floorl): Declare also if HAVE_DECL_FLOORL is set.
65510         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
65511         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
65512         (logl): Declare also if HAVE_DECL_LOGL is set.
65513         (sinl): Declare also if HAVE_DECL_SINL is set.
65514         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
65515         (tanl): Declare also if HAVE_DECL_TANL is set.
65516         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
65517         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
65518         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
65519         declaration of frexpl, ldexpl.
65520         * modules/printf-frexpl (Depends-on): Add math.
65521         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
65522
65523 2007-03-05  Bruno Haible  <bruno@clisp.org>
65524
65525         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
65526         frexpl and ldexpl are declared.
65527         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
65528
65529 2007-03-05  Bruno Haible  <bruno@clisp.org>
65530
65531         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
65532         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
65533
65534 2007-03-05  Bruno Haible  <bruno@clisp.org>
65535
65536         * lib/stdio_.h: Include <stddef.h>.
65537
65538 2007-03-05  Bruno Haible  <bruno@clisp.org>
65539
65540         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
65541
65542 2007-03-05  Bruno Haible  <bruno@clisp.org>
65543
65544         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
65545         NetBSD 4, from Ralf Wildenhues.
65546
65547 2007-03-04  Bruno Haible  <bruno@clisp.org>
65548
65549         * lib/vasprintf.h: Update #if logic for the case when the functions
65550         exist but are overridden.
65551
65552 2007-03-04  Bruno Haible  <bruno@clisp.org>
65553
65554         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
65555         implementations: glibc-2.4 and MacOS X 10.3.
65556         * tests/test-vasnprintf-posix.c (test_function): Test also the case
65557         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
65558         * tests/test-vasprintf-posix.c (test_function): Likewise.
65559
65560 2007-03-04  Bruno Haible  <bruno@clisp.org>
65561
65562         * modules/vasprintf-posix-tests: New file.
65563         * tests/test-vasprintf-posix.c: New file.
65564
65565         * modules/vasprintf-posix: New file.
65566         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
65567         defined.
65568         * m4/vasprintf-posix.m4: New file.
65569         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
65570         gl_FUNC_VASPRINTF.
65571         (gl_FUNC_VASPRINTF): Invoke it.
65572         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
65573         here.
65574         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
65575
65576 2007-03-04  Bruno Haible  <bruno@clisp.org>
65577
65578         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
65579         REPLACE_GETTIMEOFDAY.
65580         * modules/sys_time (Makefile.am): Likewise.
65581         * m4/sys_time_h.m4: Likewise.
65582         * m4/gettimeofday.m4: Likewise.
65583
65584 2007-03-04  Bruno Haible  <bruno@clisp.org>
65585
65586         * modules/vasnprintf-posix-tests: New file.
65587         * tests/test-vasnprintf-posix.c: New file.
65588
65589         * modules/vasnprintf-posix: New file.
65590         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
65591         printf-frexpl.h.
65592         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
65593         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
65594         REPLACE_VASNPRINTF is defined.
65595         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
65596         gl_FUNC_VASNPRINTF.
65597         (gl_FUNC_VASNPRINTF): Invoke it.
65598         * m4/vasnprintf-posix.m4: New file.
65599         * m4/printf.m4: New file.
65600
65601 2007-03-04  Bruno Haible  <bruno@clisp.org>
65602
65603         Compile progreloc.c only if --enable-relocatable is specified.
65604         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
65605         if --enable-relocatable was specified.
65606         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
65607         lib_SOURCES.
65608
65609 2007-03-04  Jim Meyering  <jim@meyering.net>
65610
65611         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
65612         Use it consistently, rather than enumerating errno constants.
65613
65614 2007-03-04  Bruno Haible  <bruno@clisp.org>
65615
65616         * modules/xvasprintf-tests: New file.
65617         * tests/test-xvasprintf.c: New file.
65618
65619         * modules/vasprintf-tests: New file.
65620         * tests/test-vasprintf.c: New file.
65621
65622         * modules/vasnprintf-tests: New file.
65623         * tests/test-vasnprintf.c: New file.
65624
65625         * modules/vsnprintf-tests: New file.
65626         * tests/test-vsnprintf.c: New file.
65627
65628         * modules/snprintf-tests: New file.
65629         * tests/test-snprintf.c: New file.
65630
65631 2007-03-04  Bruno Haible  <bruno@clisp.org>
65632
65633         Compile relocatable.c only if --enable-relocatable is specified.
65634         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
65635         gl_RELOCATABLE_LIBRARY.
65636         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
65637         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
65638         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
65639         gl_RELOCATABLE_LIBRARY.
65640         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
65641         (Makefile.am): Remove lib_SOURCES.
65642         * modules/relocatable-lib-lgpl (configure.ac): Invoke
65643         gl_RELOCATABLE_LIBRARY.
65644         (Makefile.am): Remove lib_SOURCES.
65645         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
65646         always.
65647         * modules/relocatable-prog-wrapper (configure.ac): Invoke
65648         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
65649
65650 2007-03-04  Bruno Haible  <bruno@clisp.org>
65651
65652         * modules/argmatch-tests: New file.
65653         * tests/test-argmatch.c: New file.
65654
65655         * tests/test-allocsa.c (main): Halve the number of loop runs.
65656
65657         * modules/alloca-opt-tests: New file.
65658         * tests/test-alloca-opt.c: New file.
65659
65660 2007-03-04  Jim Meyering  <jim@meyering.net>
65661
65662         Work around difference between Linux ACLs and Solaris 10 ZFS.
65663         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
65664         for EINVAL.
65665
65666 2007-03-03  Bruno Haible  <bruno@clisp.org>
65667
65668         * modules/relocatable-prog (Depends-on): Add back progreloc's
65669         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
65670
65671 2007-03-03  Bruno Haible  <bruno@clisp.org>
65672
65673         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
65674         * modules/relocatable-lib: New file.
65675
65676 2007-03-03  Bruno Haible  <bruno@clisp.org>
65677
65678         * modules/relocatable-prog: Renamed from modules/relocatable.
65679         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
65680
65681 2007-03-03  Bruno Haible  <bruno@clisp.org>
65682
65683         * modules/relocatable-script (Files): Add doc/relocatable.texi,
65684         m4/relocatable-lib.m4.
65685         (Depends-on): Remove 'relocatable'.
65686         (configure.ac): Add gl_RELOCATABLE_NOP.
65687
65688 2007-03-03  Bruno Haible  <bruno@clisp.org>
65689
65690         * modules/relocatable-prog-wrapper: New file.
65691         * modules/relocatable (Depends-on): Add it. Remove all other
65692         dependencies except progname.
65693         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
65694
65695         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
65696         (gl_FUNC_STRERROR): Nop.
65697         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
65698
65699         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
65700         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
65701
65702         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
65703         (gl_FUNC_READLINK): Update.
65704
65705         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
65706
65707 2007-03-03  Bruno Haible  <bruno@clisp.org>
65708
65709         * lib/xreadlink.c: Include <unistd.h> unconditionally.
65710         * modules/xreadlink (Depends-on): Add unistd.
65711         * modules/xreadlink-with-size (Depends-on): Likewise.
65712
65713 2007-03-03  Bruno Haible  <bruno@clisp.org>
65714
65715         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
65716         extracted from gt_FUNC_SETENV.
65717         (gt_FUNC_SETENV): Remove macro.
65718         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
65719         remove gt_FUNC_SETENV.
65720
65721 2007-03-03  Bruno Haible  <bruno@clisp.org>
65722
65723         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
65724         ENABLE_RELOCATABLE here.
65725         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
65726
65727 2007-03-03  Bruno Haible  <bruno@clisp.org>
65728
65729         * modules/rbtreehash-list-tests (Depends-on): Add progname.
65730         * tests/test-rbtreehash_list.c: Include progname.h.
65731         (main): Call set_program_name.
65732
65733         * modules/rbtree-oset-tests (Depends-on): Add progname.
65734         * tests/test-rbtree_oset.c: Include progname.h.
65735         (main): Call set_program_name.
65736
65737         * modules/rbtree-list-tests (Depends-on): Add progname.
65738         * tests/test-rbtree_list.c: Include progname.h.
65739         (main): Call set_program_name.
65740
65741         * modules/linked-list-tests (Depends-on): Add progname.
65742         * tests/test-linked_list.c: Include progname.h.
65743         (main): Call set_program_name.
65744
65745 2007-03-03  Bruno Haible  <bruno@clisp.org>
65746
65747         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
65748         All uses of __restrict changed to _Restrict_.
65749         * lib/glob_.h (__restrict): Remove macro.
65750
65751 2007-03-02  Bruno Haible  <bruno@clisp.org>
65752
65753         * modules/gettext (configure.ac): Require gettext infrastructure
65754         from version 0.16.1.
65755
65756 2007-03-02  Bruno Haible  <bruno@clisp.org>
65757
65758         * modules/linkedhash-list-tests (Depends-on): Add progname.
65759         * tests/test-linkedhash_list.c: Include progname.h.
65760         (main): Call set_program_name.
65761
65762         * modules/carray-list-tests (Depends-on): Add progname.
65763         * tests/test-carray_list.c: Include progname.h.
65764         (main): Call set_program_name.
65765
65766         * modules/avltreehash-list-tests (Depends-on): Add progname.
65767         * tests/test-avltreehash_list.c: Include progname.h.
65768         (main): Call set_program_name.
65769
65770         * modules/avltree-oset-tests (Depends-on): Add progname.
65771         * tests/test-avltree_oset.c: Include progname.h.
65772         (main): Call set_program_name.
65773
65774         * modules/avltree-list-tests (Depends-on): Add progname.
65775         * tests/test-avltree_list.c: Include progname.h.
65776         (main): Call set_program_name.
65777
65778         * modules/array-oset-tests (Depends-on): Add progname.
65779         * tests/test-array_oset.c: Include progname.h.
65780         (main): Call set_program_name.
65781
65782         * modules/array-list-tests (Depends-on): Add progname.
65783         * tests/test-array_list.c: Include progname.h.
65784         (main): Call set_program_name.
65785
65786         * modules/argp-tests (Depends-on): Add progname.
65787         * tests/test-argp.c: Include argp.h first. Include progname.h.
65788         (main): Call set_program_name.
65789
65790 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
65791
65792         * doc/gnulib-tool.texi (Initial import): Reword description of
65793         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
65794         limited effect even if defined after the first system include.
65795
65796 2007-03-01  Bruno Haible  <bruno@clisp.org>
65797
65798         * build-aux/config.libpath: Update to libtool-1.5.22.
65799         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
65800
65801 2007-03-01  Bruno Haible  <bruno@clisp.org>
65802
65803         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
65804         foo_CFLAGS.
65805         Reported by Ralf Wildenhues.
65806
65807 2007-03-01  Bruno Haible  <bruno@clisp.org>
65808
65809         * build-aux/install-reloc: Remove object files left over by some
65810         compilers.
65811         Reported by Ralf Wildenhues.
65812
65813 2007-03-01  Bruno Haible  <bruno@clisp.org>
65814
65815         * build-aux/install-reloc: Break long lines.
65816
65817 2007-03-01  Bruno Haible  <bruno@clisp.org>
65818
65819         * doc/relocatable.texi: Document that it may not work on OpenBSD.
65820         Reported by Ralf Wildenhues.
65821
65822 2007-03-01  Bruno Haible  <bruno@clisp.org>
65823
65824         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
65825         include ordering constraints.
65826
65827 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65828
65829         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
65830         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
65831         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
65832         as another example.
65833         * lib/time_.h: Fix misspelling.
65834         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
65835         Require gl_HEADER_TIME_H_DEFAULTS.
65836         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
65837         * m4/time_r.m4 (gl_TIME_R): Likewise.
65838         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
65839
65840 2007-03-01  Bruno Haible  <bruno@clisp.org>
65841
65842         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
65843         * m4/utimens.m4 (gl_UTIMENS): Likewise.
65844
65845 2007-03-01  Jim Meyering  <jim@meyering.net>
65846
65847         * modules/xreadlink (Maintainer): Add my name.
65848         * modules/xreadlink-with-size (Depends-on): Alphabetize.
65849
65850 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
65851             Bruno Haible  <bruno@clisp.org>
65852
65853         * build-aux/install-reloc: Compile also c-ctype.c.
65854         * build-aux/relocatable.sh.in: New file.
65855         * doc/relocatable.texi: New file.
65856         * doc/relocatable-maint.texi: New file.
65857         * doc/gnulib.texi: Include relocatable-maint.texi.
65858         * lib/progreloc.c: Include unistd.h unconditionally.
65859         * lib/relocwrapper.c: Include unistd.h unconditionally.
65860         Include c-ctype.h.
65861         (add_dotbin): Use c_tolower.
65862         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
65863         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
65864         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
65865         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
65866         to m4/relocatable-lib.m4.
65867         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
65868         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
65869         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
65870         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
65871         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
65872         * modules/relocatable: New file.
65873         * modules/relocatable-lib: New file.
65874         * modules/relocatable-script: New file.
65875
65876 2007-02-28  Bruno Haible  <bruno@clisp.org>
65877
65878         Import --enable-relocatable infrastructure.
65879         * build-aux/config.libpath: New file, from GNU gettext.
65880         * build-aux/install-reloc: New file, from GNU gettext.
65881         * build-aux/reloc-ldflags: New file, from GNU gettext.
65882         * lib/relocatable.h: New file, from GNU gettext.
65883         * lib/relocatable.c: New file, from GNU gettext.
65884         * lib/relocwrapper.c: New file, from GNU gettext.
65885         * m4/relocatable.m4: New file, from GNU gettext.
65886
65887 2007-02-28  Bruno Haible  <bruno@clisp.org>
65888
65889         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
65890
65891         * modules/xreadlink: New file, from GNU gettext with modifications.
65892         * lib/xreadlink.c: New file, from GNU gettext.
65893         * lib/xreadlink.h: Add comments.
65894         (xreadlink): New declaration.
65895
65896         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
65897         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
65898         lib/xreadlink-with-size.c.
65899         (configure.ac): Remove gl_XREADLINK invocation.
65900         (Makefile.am): Augment lib_SOURCES.
65901         * m4/xreadlink.m4: Remove file.
65902         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
65903         (xreadlink_with_size): Renamed from xreadink.
65904         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
65905         * modules/canonicalize (Depends-on): Replace xreadlink with
65906         xreadlink-with-size.
65907         * lib/canonicalize.c (canonicalize_filename_mode): Update.
65908
65909 2007-02-25  Jim Meyering  <jim@meyering.net>
65910
65911         * build-aux/announce-gen: When complaining about excess arguments,
65912         list them.
65913
65914 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
65915
65916         * README: Document signed integer overflow situation more
65917         accurately.
65918
65919 2007-02-25  Bruno Haible  <bruno@clisp.org>
65920
65921         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
65922         'a' or 'A' conversion.
65923
65924 2007-02-25  Bruno Haible  <bruno@clisp.org>
65925
65926         * modules/filename: Renamed from modules/pathname.
65927         (Files): Replace lib/pathname.h with lib/filename.h. Replace
65928         lib/concatpath.c with lib/concat-filename.c.
65929         (Makefile.am): Update.
65930         (Include): Replace pathname.h with filename.h.
65931         * lib/filename.h: Renamed from lib/pathname.h.
65932         (concatenated_filename): Renamed from concatenated_pathname.
65933         * lib/concat-filename.c: Renamed from lib/concatpath.c.
65934         (concatenated_filename): Renamed from concatenated_pathname.
65935         * lib/findprog.c: Include filename.h instead of pathname.h.
65936         (find_in_path): Update.
65937         * lib/javacomp.c: Include filename.h instead of pathname.h.
65938         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
65939         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
65940         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
65941         is_oldgcj_14_13_usable, is_javac_usable): Update.
65942         * lib/javaexec.c: Include filename.h instead of pathname.h.
65943         (execute_java_class): Update.
65944         * modules/findprog: Update.
65945         * modules/javacomp: Update.
65946         * modules/javaexec: Update.
65947         * MODULES.html.sh (File system functions): Add 'filename', remove
65948         'pathname'.
65949
65950 2007-02-25  Bruno Haible  <bruno@clisp.org>
65951
65952         * modules/printf-frexpl-tests: New file.
65953         * tests/test-printf-frexpl.c: New file.
65954
65955         * modules/printf-frexpl: New file.
65956         * lib/printf-frexpl.h: New file.
65957         * lib/printf-frexpl.c: New file.
65958         * m4/printf-frexpl.m4: New file.
65959
65960 2007-02-25  Bruno Haible  <bruno@clisp.org>
65961
65962         * modules/printf-frexp-tests: New file.
65963         * tests/test-printf-frexp.c: New file.
65964
65965         * modules/printf-frexp: New file.
65966         * lib/printf-frexp.h: New file.
65967         * lib/printf-frexp.c: New file.
65968         * m4/printf-frexp.m4: New file.
65969
65970 2007-02-25  Bruno Haible  <bruno@clisp.org>
65971
65972         Assume automake >= 1.10 for the tests.
65973         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
65974         * modules/arctwo-tests: Likewise.
65975         * modules/argp-tests: Likewise.
65976         * modules/avltree-list-tests: Likewise.
65977         * modules/avltree-oset-tests: Likewise.
65978         * modules/avltreehash-list-tests: Likewise.
65979         * modules/carray-list-tests: Likewise.
65980         * modules/crc-tests: Likewise.
65981         * modules/des-tests: Likewise.
65982         * modules/gc-arcfour-tests: Likewise.
65983         * modules/gc-arctwo-tests: Likewise.
65984         * modules/gc-des-tests: Likewise.
65985         * modules/gc-hmac-md5-tests: Likewise.
65986         * modules/gc-hmac-sha1-tests: Likewise.
65987         * modules/gc-md2-tests: Likewise.
65988         * modules/gc-md4-tests: Likewise.
65989         * modules/gc-md5-tests: Likewise.
65990         * modules/gc-pbkdf2-sha1-tests: Likewise.
65991         * modules/gc-rijndael-tests: Likewise.
65992         * modules/gc-sha1-tests: Likewise.
65993         * modules/gc-tests: Likewise.
65994         * modules/getaddrinfo-tests: Likewise.
65995         * modules/hmac-md5-tests: Likewise.
65996         * modules/hmac-sha1-tests: Likewise.
65997         * modules/linked-list-tests: Likewise.
65998         * modules/linkedhash-list-tests: Likewise.
65999         * modules/lock-tests: Likewise.
66000         * modules/md2-tests: Likewise.
66001         * modules/md4-tests: Likewise.
66002         * modules/md5-tests: Likewise.
66003         * modules/rbtree-list-tests: Likewise.
66004         * modules/rbtree-oset-tests: Likewise.
66005         * modules/rbtreehash-list-tests: Likewise.
66006         * modules/read-file-tests: Likewise.
66007         * modules/rijndael-tests: Likewise.
66008         * modules/stdint-tests: Likewise.
66009         * modules/tls-tests: Likewise.
66010
66011 2007-02-24  Bruno Haible  <bruno@clisp.org>
66012
66013         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
66014         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
66015         function; instead check whether isnan with a double argument links.
66016         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
66017         function; instead check whether isnan with a 'long double' argument
66018         links.
66019         Reported by Eric Blake <ebb9@byu.net>.
66020
66021 2007-02-24  Bruno Haible  <bruno@clisp.org>
66022
66023         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
66024         defined.
66025         * lib/isnanl.c: Remove all code. Just include isnan.c.
66026         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
66027
66028 2007-02-25  Jim Meyering  <jim@meyering.net>
66029
66030         Avoid conflicting types for 'unsetenv' on FreeBSD.
66031         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
66032         conflicting with FreeBSD's (5.0 and 6.1) function declaration
66033         in stdlib.h.
66034
66035 2007-02-24  Bruno Haible  <bruno@clisp.org>
66036
66037         * modules/isnanl-nolibm-tests: New file.
66038         * tests/test-isnanl.c: New file.
66039
66040         * modules/isnanl-nolibm: New file.
66041         * lib/isnanl.h: New file.
66042         * lib/isnanl.c: New file.
66043         * m4/isnanl.m4: New file.
66044
66045 2007-02-24  Bruno Haible  <bruno@clisp.org>
66046
66047         * modules/isnan-nolibm-tests: New file.
66048         * tests/test-isnan.c: New file.
66049
66050         * modules/isnan-nolibm: New file.
66051         * lib/isnan.h: New file.
66052         * lib/isnan.c: New file.
66053         * m4/isnan.m4: New file.
66054
66055 2007-02-24  Bruno Haible  <bruno@clisp.org>
66056
66057         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
66058         assume that an exponent fits in 20 bits.
66059
66060 2007-02-24  Jim Meyering  <jim@meyering.net>
66061
66062         * m4/regex.m4: Update the description of the configure-time option,
66063         --without-included-regex, to state accurately what the defaults are,
66064         and perhaps to give people an idea why using this option is risky.
66065
66066 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
66067
66068         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
66069         loops on small arguments.  This attempts to avoid the problem
66070         Bruno Haible reported for AIX 4.3.2 in
66071         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
66072
66073 2007-02-23  Bruno Haible  <bruno@clisp.org>
66074
66075         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
66076         Needed for help2man.
66077
66078 2007-02-23  Karl Berry  <karl@gnu.org>
66079
66080         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
66081         exists, foo.h should be cvs-ignored, not committed.
66082
66083 2007-02-23  Eric Blake  <ebb9@byu.net>
66084
66085         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
66086         * lib/stat-time.h (includes): Likewise.
66087         * lib/utimecmp.c (includes): Likewise.
66088         * lib/utimens.h (includes): Likewise.
66089         * lib/getdate.y (includes): Also include "timespec.h" for use
66090         internal to the module.
66091         * modules/utimens (Depends-on): Revert yesterday's patch.
66092         * modules/nanosleep (Depends-on): Add missing dependency.
66093
66094 2007-02-22  Bruno Haible  <bruno@clisp.org>
66095
66096         * lib/glob.c: Don't include getlogin_r.h.
66097
66098 2007-02-22  Jim Meyering  <jim@meyering.net>
66099
66100         * modules/utimens (Depends-on): Add timespec, required for
66101         utimens.h's inclusion of timespec.h.
66102
66103 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
66104
66105         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
66106         long unreadable paths in GNU/Linux.  Problem reported by Andreas
66107         Schwab in
66108         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
66109         I'll try to think of a better way to fix the Solaris problem.
66110
66111         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
66112         like glibc; on Solaris 10, it fails with errno == EINVAL.
66113         POSIX says the behavior is unspecified if the first argument is NULL,
66114         so play it safe and never pass NULL to the system getcwd.
66115
66116 2007-02-21  Jim Meyering  <jim@meyering.net>
66117
66118         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
66119         of gettimeofday.  It would conflict with the one now always
66120         provided via sys_time_.h.  Reported by Matthew Woehlke, as
66121         an IRIX 6.5 build failure.
66122
66123 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
66124
66125         Minor fixups to port to Solaris 10 with Sun C 5.8.
66126         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
66127         * modules/getcwd (Depends-on): Add dirfd.
66128         * lib/putenv.c (putenv): #undef it.
66129         (rpl_putenv): New decl.
66130         (malloc, free): Include <stdlib.h> rather than prototyping separately.
66131
66132 2007-02-20  Bruno Haible  <bruno@clisp.org>
66133
66134         * modules/stdio-tests: New file.
66135         * tests/test-stdio.c: New file.
66136
66137         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
66138         (Depends-on): Add stdio.
66139         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
66140         (Include): Use <stdio.h> instead of vsnprintf.h.
66141         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
66142         HAVE_DECL_VSNPRINTF.
66143         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
66144
66145         * modules/snprintf (Files): Remove lib/snprintf.h.
66146         (Depends-on): Add stdio.
66147         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
66148         (Include): Use <stdio.h> instead of snprintf.h.
66149         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
66150         HAVE_DECL_SNPRINTF.
66151         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
66152         * lib/getaddrinfo.c: Likewise.
66153
66154         * modules/stdio: New file.
66155         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
66156         * lib/snprintf.h: Remove file.
66157         * lib/vsnprintf.h: Remove file.
66158         * lib/.cppi-disable: Remove snprintf.h.
66159         * m4/stdio_h.m4: New file.
66160         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
66161
66162 2007-02-20  Jim Meyering  <jim@meyering.net>
66163
66164         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
66165         used by e.g., mingw.  From Bruno Haible.
66166
66167 2007-02-19  Bruno Haible  <bruno@clisp.org>
66168
66169         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
66170         warnings.
66171         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66172
66173 2007-02-19  Bruno Haible  <bruno@clisp.org>
66174
66175         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
66176         from mingw users.
66177
66178 2007-02-19  Bruno Haible  <bruno@clisp.org>
66179
66180         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
66181         warnings.
66182         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
66183
66184 2007-02-19  Jim Meyering  <jim@meyering.net>
66185
66186         Don't use FD after a successful "fdopendir (fd)".
66187         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
66188         Reset it by calling dirfd on the just-obtained DIR*.
66189
66190         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
66191         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
66192
66193 2007-02-18  Bruno Haible  <bruno@clisp.org>
66194
66195         * lib/readlink.c: Include <unistd.h>.
66196         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
66197         HAVE_READLINK.
66198         * modules/readlink (Depends-on): Add unistd.
66199         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66200         (Include): Add <unistd.h>.
66201
66202         * lib/getlogin_r.h: Remove file.
66203         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
66204         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
66205         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
66206         HAVE_DECL_GETLOGIN_R.
66207         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
66208         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66209         (Include): Use <unistd.h> instead of getlogin_r.h.
66210
66211         * lib/getcwd.h: Remove file.
66212         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
66213         * lib/xgetcwd.c: Likewise.
66214         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
66215         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
66216         * modules/getcwd (Files): Remove lib/getcwd.h.
66217         (Depends-on): Add unistd.
66218         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66219         (Include): Use <unistd.h> instad of getcwd.h.
66220
66221         * lib/ftruncate.c: Include <unistd.h> first.
66222         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
66223         Set HAVE_FTRUNCATE.
66224         * modules/ftruncate (Depends-on): Add unistd.
66225         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66226
66227         * lib/fchdir.c: Include <unistd.h> first.
66228         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
66229         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
66230         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
66231         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66232         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
66233
66234         * lib/dup2.c: Include <unistd.h> first.
66235         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
66236         HAVE_DUP2.
66237         * modules/dup2 (Depends-on): Add unistd.
66238         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66239
66240         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
66241         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
66242         REPLACE_CHOWN. Don't define chown as a macro here.
66243         * modules/chown (Depends-on): Add unistd.
66244         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66245
66246         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
66247         Add definition for GL_LINK_WARNING.
66248         (chown, dup2): New declarations.
66249         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
66250         link warning.
66251         (ftruncate): New declaration.
66252         (getcwd): New declaration, taken from old getcwd.h.
66253         (getlogin_r): New declaration, taken from old getlogin_r.h.
66254         (readlink): New declaration.
66255         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
66256         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
66257         (gl_PREREQ_UNISTD): Remove macro.
66258         (gl_UNISTD_MODULE_INDICATOR): New macro.
66259         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
66260         many new variables. Don't set UNISTD_H.
66261         * modules/unistd (Description): Change.
66262         (Depends-on): Add link-warning.
66263         (configure.ac): Update.
66264         (Makefile.am): Create unistd.h always. Substitute many new variables
66265         into it.
66266
66267 2007-02-18  Bruno Haible  <bruno@clisp.org>
66268
66269         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
66270         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
66271         HAVE_GETSUBOPT.
66272         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
66273         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
66274         * lib/getsubopt.h: Remove file.
66275         * modules/getsubopt (Files): Remove lib/getsubopt.h.
66276         (Depends-on): Add stdlib.
66277         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66278         (Includes): Use <stdlib.h> instead of getsubopt.h.
66279         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
66280         Set HAVE_GETSUBOPT.
66281         * lib/getsubopt.c: Don't include getsubopt.h.
66282
66283 2007-02-18  Bruno Haible  <bruno@clisp.org>
66284
66285         * modules/fchdir (Depends-on): Add dup2.
66286
66287 2007-02-18  Bruno Haible  <bruno@clisp.org>
66288
66289         * lib/stdlib_.h: Handle glibc's special invocation convention
66290         specially.
66291
66292 2007-02-18  Bruno Haible  <bruno@clisp.org>
66293
66294         * modules/stdlib-tests: New file.
66295         * tests/test-stdlib.c: New file.
66296
66297         * modules/mkstemp (Files): Remove lib/mkstemp.h.
66298         (Depends-on): Add stdlib.
66299         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66300         (Includes): Use <stdlib.h> instead of mkstemp.h.
66301         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
66302         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
66303         * lib/mkstemp.c: Don't include mkstemp.h.
66304         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
66305         * lib/stdlib--.h: Don't include mkstemp.h.
66306
66307         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
66308         (Depends-on): Add stdlib.
66309         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66310         (Includes): Use <stdlib.h> instead of mkdtemp.h.
66311         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
66312         HAVE_MKDTEMP.
66313         * lib/mkdtemp.c: Don't include mkdtemp.h.
66314         * lib/clean-temp.c: Don't include mkdtemp.h.
66315
66316         * modules/exit (Files): Remove lib/exit.h.
66317         (Depends-on): Add stdlib.
66318         (Makefile.am): Remove lib_SOURCES.
66319         (Include): Use <stdlib.h> instead of exit.h.
66320         * lib/argmatch.c: Don't include exit.h.
66321         * lib/execute.c: Likewise.
66322         * lib/pagealign_alloc.c: Likewise.
66323         * lib/pipe.c: Likewise.
66324         * lib/wait-process.c: Likewise.
66325         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
66326         * lib/exitfail.c: Likewise.
66327         * lib/savewd.c: Likewise.
66328         * lib/xsetenv.c: Likewise.
66329
66330         * modules/stdlib: New file.
66331         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
66332         and extra comments about mkstemp().
66333         * lib/exit.h: Remove file.
66334         * lib/mkdtemp.h: Remove file.
66335         * lib/mkstemp.h: Remove file.
66336         * m4/stdlib_h.m4: New file.
66337         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
66338
66339 2007-02-18  Bruno Haible  <bruno@clisp.org>
66340
66341         * modules/math-tests: New file.
66342         * tests/test-math.c: New file.
66343
66344         * modules/math: New file.
66345         * modules/mathl (Files): Remove lib/mathl.h.
66346         (Depends-on): Add math.
66347         (Makefile.am): Don't mention mathl.h.
66348         (Include): Use <math.h> instead of mathl.h.
66349         * lib/math_.h: New file.
66350         * lib/mathl.h: Remove file.
66351         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
66352         mathl.h.
66353         * lib/asinl.c: Likewise.
66354         * lib/atanl.c: Likewise.
66355         * lib/ceill.c: Likewise.
66356         * lib/cosl.c: Likewise.
66357         * lib/expl.c: Likewise.
66358         * lib/floorl.c: Likewise.
66359         * lib/frexpl.c: Likewise.
66360         * lib/ldexpl.c: Likewise.
66361         * lib/logl.c: Likewise.
66362         * lib/sincosl.c: Likewise.
66363         * lib/sinl.c: Likewise.
66364         * lib/sqrtl.c: Likewise.
66365         * lib/tanl.c: Likewise.
66366         * lib/trigl.c: Likewise.
66367         * m4/math_h.m4: New file.
66368         * MODULES.html.sh (Mathematics): Add math.
66369
66370 2007-02-17  Bruno Haible  <bruno@clisp.org>
66371
66372         * modules/wctype-tests: New file.
66373         * tests/test-wctype.c: New file.
66374
66375         * modules/wchar-tests: New file.
66376         * tests/test-wchar.c: New file.
66377
66378         * modules/unistd-tests: New file.
66379         * tests/test-unistd.c: New file.
66380
66381         * modules/time-tests: New file.
66382         * tests/test-time.c: New file.
66383
66384         * modules/sysexits-tests: New file.
66385         * tests/test-sysexits.c: New file.
66386
66387         * modules/sys_time-tests: New file.
66388         * tests/test-sys_time.c: New file.
66389
66390         * modules/sys_stat-tests: New file.
66391         * tests/test-sys_stat.c: New file.
66392
66393         * modules/sys_socket-tests: New file.
66394         * tests/test-sys_socket.c: New file.
66395
66396         * modules/sys_select-tests: New file.
66397         * tests/test-sys_select.c: New file.
66398
66399         * modules/string-tests: New file.
66400         * tests/test-string.c: New file.
66401
66402         * modules/stdbool-tests: New file.
66403         * tests/test-stdbool.c: New file.
66404
66405         * modules/netinet_in-tests: New file.
66406         * tests/test-netinet_in.c: New file.
66407
66408         * modules/inttypes-tests: New file.
66409         * tests/test-inttypes.c: New file.
66410
66411         * modules/fcntl-tests: New file.
66412         * tests/test-fcntl.c: New file.
66413
66414         * modules/byteswap-tests: New file.
66415         * tests/test-byteswap.c: New file.
66416
66417         * modules/arpa_inet-tests: New file.
66418         * tests/test-arpa_inet.c: New file.
66419
66420 2007-02-17  Bruno Haible  <bruno@clisp.org>
66421
66422         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
66423         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
66424         if the corresponding module is not enabled. Emit link warnings if
66425         the function is used nevertheless.
66426         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
66427         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
66428         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
66429         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
66430         * modules/inttypes (Depends-on): Add link-warning.
66431         (Makefile.am): Copy the contents of build-aux/link-warning.h into
66432         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
66433         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
66434         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
66435         * modules/imaxdiv (configure.ac): Likewise.
66436         * modules/strtoimax (configure.ac): Likewise.
66437         * modules/strtoumax (configure.ac): Likewise.
66438
66439 2007-02-17  Bruno Haible  <bruno@clisp.org>
66440
66441         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
66442         gl_STRING_MODULE_INDICATOR_DEFAULTS.
66443         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
66444         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
66445
66446 2007-02-17  Bruno Haible  <bruno@clisp.org>
66447
66448         * modules/link-warning: New file.
66449         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
66450         * lib/string_.h (GL_LINK_WARNING): Remove definition.
66451         * modules/string (Depends-on): Add link-warning.
66452         (Makefile.am): Copy the contents of build-aux/link-warning.h into
66453         string.h.
66454         * MODULES.html.sh (Support for building libraries and executables): Add
66455         link-warning.
66456
66457 2007-02-17  Bruno Haible  <bruno@clisp.org>
66458
66459         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
66460         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
66461         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
66462         long lines.
66463
66464 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
66465             Bruno Haible  <bruno@clisp.org>
66466
66467         * modules/tmpfile: New file.
66468         * lib/tmpfile.c: New file.
66469         * m4/tmpfile.m4: New file.
66470         * MODULES.html.sh (func_all_modules): New section "Input/output".
66471
66472 2007-02-15  Bruno Haible  <bruno@clisp.org>
66473
66474         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
66475         (supports_delete_on_close): New function.
66476         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
66477
66478 2007-02-14  Bruno Haible  <bruno@clisp.org>
66479
66480         * modules/mbspcasecmp-tests: New file.
66481         * tests/test-mbspcasecmp.sh: New file.
66482         * tests/test-mbspcasecmp.c: New file.
66483
66484         New module mbspcasecmp.
66485         * modules/mbspcasecmp: New file.
66486         * lib/mbspcasecmp.c: New file.
66487         * lib/string_.h (strncasecmp): Change warning message.
66488         (mbspcasecmp): New declaration.
66489         * m4/mbspcasecmp.m4: New file.
66490         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66491         GNULIB_MBSPCASECMP.
66492         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
66493         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
66494
66495 2007-02-14  Bruno Haible  <bruno@clisp.org>
66496
66497         * modules/mbsncasecmp-tests: New file.
66498         * tests/test-mbsncasecmp.sh: New file.
66499         * tests/test-mbsncasecmp.c: New file.
66500
66501         New module mbsncasecmp.
66502         * modules/mbsncasecmp: New file.
66503         * lib/mbsncasecmp.c: New file.
66504         * lib/string_.h (mbsncasecmp): New declaration.
66505         * m4/mbsncasecmp.m4: New file.
66506         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66507         GNULIB_MBSNCASECMP.
66508         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
66509         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
66510
66511 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
66512
66513         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
66514         Verify that it doesn't overlap with our flags.
66515         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
66516         do not have the desired effect in multibyte locales; instead, use
66517         mbscasecmp.
66518         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
66519         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
66520         we don't require GNU fnmatch ourselves (if our users require it, they
66521         should do so explicitly).
66522
66523         Fix regex code so it doesn't rely on strcasecmp.
66524         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
66525         Otherwise, include gnulib's langinfo.h.
66526         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
66527         undesirable behavior in non-C locales.  Instead, rely on localecharset.
66528         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
66529         * modules/regex (FILES): Remove m4/codeset.m4.
66530         (Depends-on): Add localcharset.  Remove strcase.
66531
66532 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66533
66534         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
66535         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
66536
66537 2007-02-13  Bruno Haible  <bruno@clisp.org>
66538
66539         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
66540         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66541
66542 2007-02-12  Bruno Haible  <bruno@clisp.org>
66543
66544         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
66545         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
66546         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
66547         time warning rather than a link error.
66548
66549 2007-02-12  Bruno Haible  <bruno@clisp.org>
66550
66551         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
66552         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
66553         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66554
66555 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
66556
66557         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
66558         args, not 2.
66559
66560 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
66561
66562         New module 'time', so that apps can include <time.h> as per
66563         POSIX and GNU instead of separate include files like time_r.h
66564         and timegm.h.  This implementation tries out a simpler approach
66565         for replacing decls in standard include files (as compared to
66566         the string module), somewhat as an experiment.
66567
66568         * config/srclist.txt: Comment out mktime.c for now.
66569         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
66570         since it doesn't apply any more.  Use generic wording instead.
66571         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
66572         'time'.
66573         * lib/time_.h, m4/time_h.m4, modules/time: New files.
66574         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
66575         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
66576         Don't include <sys/types.h>; no longer needed since we assume C89.
66577         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
66578         * lib/strftime.c: Likewise.
66579         * lib/time_r.c: Likewise.
66580         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
66581         * lib/nanosleep.c: Include <time.h> first, to check interface.
66582         * lib/strptime.c: Likewise.
66583         * lib/time_r.c: Likewise.
66584         * lib/timegm.c: Likewise.
66585         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
66586         needed.
66587         * lib/timegm.c: Don't include timegm.h; no longer needed.
66588         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
66589         time.h now handles any problems in that area.
66590         (struct timespec, nanosleep): Remove; time.h now arranges for these.
66591         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
66592         that time.h defines struct timespec.
66593         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
66594         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
66595         handles that.
66596         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
66597         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
66598         needed.  Set REPLACE_LOCALTIME.
66599         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
66600         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
66601         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
66602         nanosleep; time_h.m4 now does that.  Don't require
66603         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
66604         module handles this now.
66605         * modules/getdate (Depends-on): Remove timespec.  Add time.
66606         * modules/nanosleep (Depends-on): Likewise.
66607         * modules/stat-time (Depends-on): Likewise.
66608         * modules/nanosleep (Include): Include time.h, not timespec.h.
66609         * modules/strptime (Files): Remove lib/strptime.h.
66610         (Depends-on): Add extensions, time.
66611         (Include): Include time.h, not strptime.h.
66612         * modules/time_r (Files): Remove lib/time_r.h.
66613         (Depends-on): Add time.
66614         (Include): Include time.h, not time_r.h.
66615         * modules/timegm: Likewise.
66616         * modules/timespec (Description): Now does timespec-related decls
66617         of our own, instead of struct timespec itself.
66618         (Depends-on): Add time; remove extensions.
66619         (Maintainer): Add self.
66620         * modules/utimecmp (Depends-on): Add time; remove timespec.
66621         * modules/utimens (Depends-on): Likewise.
66622         * modules/xnanosleep (Depends-on): Likewise.
66623
66624 2007-02-11  Bruno Haible  <bruno@clisp.org>
66625
66626         * lib/c-strstr.c: Include allocsa.h.
66627         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
66628         * lib/c-strcasestr.c: Include allocsa.h.
66629         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
66630         * lib/strcasestr.c: Include allocsa.h.
66631         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
66632         * lib/mbsstr.c: Include allocsa.h.
66633         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
66634         allocsa/freesa instead of malloc/free.
66635         * lib/mbscasestr.c: Include allocsa.h.
66636         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
66637         allocsa/freesa instead of malloc/free.
66638         * modules/c-strstr (Depends-on): Add allocsa.
66639         * modules/c-strcasestr (Depends-on): Likewise.
66640         * modules/strcasestr (Depends-on): Likewise.
66641         * modules/mbsstr (Depends-on): Likewise.
66642         * modules/mbscasestr (Depends-on): Likewise.
66643
66644 2007-02-11  Bruno Haible  <bruno@clisp.org>
66645
66646         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
66647
66648         * modules/mbsspn-tests: New file.
66649         * tests/test-mbsspn.sh: New file.
66650         * tests/test-mbsspn.c: New file.
66651
66652 2007-02-11  Bruno Haible  <bruno@clisp.org>
66653
66654         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
66655
66656         * modules/mbspbrk-tests: New file.
66657         * tests/test-mbspbrk.sh: New file.
66658         * tests/test-mbspbrk.c: New file.
66659
66660 2007-02-11  Bruno Haible  <bruno@clisp.org>
66661
66662         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
66663         unneeded cast.
66664
66665         * modules/mbscspn-tests: New file.
66666         * tests/test-mbscspn.sh: New file.
66667         * tests/test-mbscspn.c: New file.
66668
66669 2007-02-11  Bruno Haible  <bruno@clisp.org>
66670
66671         * modules/mbscasecmp-tests: New file.
66672         * tests/test-mbscasecmp.sh: New file.
66673         * tests/test-mbscasecmp.c: New file.
66674
66675 2007-02-11  Bruno Haible  <bruno@clisp.org>
66676
66677         Ensure O(n) worst-case complexity of mbscasestr.
66678         * lib/mbscasestr.c: Include stdbool.h.
66679         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
66680         functions.
66681         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
66682         the bookkeeping indicates that it's worth it.
66683         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
66684
66685         * modules/mbscasestr-tests: New file.
66686         * tests/test-mbscasestr1.c: New file.
66687         * tests/test-mbscasestr2.sh: New file.
66688         * tests/test-mbscasestr2.c: New file.
66689         * tests/test-mbscasestr3.sh: New file.
66690         * tests/test-mbscasestr3.c: New file.
66691         * tests/test-mbscasestr4.sh: New file.
66692         * tests/test-mbscasestr4.c: New file.
66693         * m4/locale-tr.m4: New file.
66694
66695 2007-02-11  Bruno Haible  <bruno@clisp.org>
66696
66697         Ensure O(n) worst-case complexity of mbsstr.
66698         * lib/mbsstr.c: Include stdbool.h.
66699         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
66700         functions.
66701         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
66702         bookkeeping indicates that it's worth it.
66703         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
66704
66705         * modules/mbsstr-tests: New file.
66706         * tests/test-mbsstr1.c: New file.
66707         * tests/test-mbsstr2.sh: New file.
66708         * tests/test-mbsstr2.c: New file.
66709         * tests/test-mbsstr3.sh: New file.
66710         * tests/test-mbsstr3.c: New file.
66711         * m4/locale-fr.m4: New file.
66712
66713 2007-02-11  Bruno Haible  <bruno@clisp.org>
66714
66715         * lib/mbsrchr.c (mbsrchr): Fix bug.
66716
66717         * modules/mbsrchr-tests: New file.
66718         * tests/test-mbsrchr.sh: New file.
66719         * tests/test-mbsrchr.c: New file.
66720
66721 2007-02-11  Bruno Haible  <bruno@clisp.org>
66722
66723         * lib/mbschr.c (mbschr): Fix bug.
66724
66725         * modules/mbschr-tests: New file.
66726         * tests/test-mbschr.sh: New file.
66727         * tests/test-mbschr.c: New file.
66728         * m4/locale-zh.m4: New file.
66729
66730 2007-02-11  Bruno Haible  <bruno@clisp.org>
66731
66732         Support for copying multibyte string iterators.
66733         * lib/mbiter.h: Include <string.h>.
66734         (mbiter_multi_copy): New function.
66735         (mbi_copy): New macro.
66736         * lib/mbuiter.h: Include <string.h>.
66737         (mbuiter_multi_copy): New function.
66738         (mbui_copy): New macro.
66739
66740 2007-02-11  Bruno Haible  <bruno@clisp.org>
66741
66742         New module mbslen.
66743         * modules/mbslen: New file.
66744         * lib/mbslen.c: New file.
66745         * lib/string_.h (mbslen): New declaration.
66746         * m4/mbslen.m4: New file.
66747         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66748         GNULIB_MBSLEN.
66749         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
66750         * MODULES.html.sh (Internationalization functions): Add mbslen.
66751
66752 2007-02-11  Bruno Haible  <bruno@clisp.org>
66753
66754         Ensure O(n) worst-case complexity of strcasestr substitute.
66755         * lib/strcasestr.c: Include stdbool.h.
66756         (knuth_morris_pratt): New function.
66757         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
66758         bookkeeping indicates that it's worth it.
66759         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
66760
66761         * modules/strcasestr-tests: New file.
66762         * tests/test-strcasestr.c: New file.
66763
66764 2007-02-11  Bruno Haible  <bruno@clisp.org>
66765
66766         Ensure O(n) worst-case complexity of c_strcasestr.
66767         * lib/c-strcasestr.c: Include stdbool.h, string.h.
66768         (knuth_morris_pratt): New function.
66769         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
66770         the bookkeeping indicates that it's worth it.
66771         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
66772
66773         * modules/c-strcasestr-tests: New file.
66774         * tests/test-c-strcasestr.c: New file.
66775
66776 2007-02-11  Bruno Haible  <bruno@clisp.org>
66777
66778         Ensure O(n) worst-case complexity of c_strstr.
66779         * lib/c-strstr.c: Include stdbool.h, string.h.
66780         (knuth_morris_pratt): New function.
66781         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
66782         bookkeeping indicates that it's worth it.
66783         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
66784
66785         * lib/c-strstr.c: Complete rewrite for maintainability.
66786
66787         * modules/c-strstr-tests: New file.
66788         * tests/test-c-strstr.c: New file.
66789
66790 2007-02-11  Bruno Haible  <bruno@clisp.org>
66791
66792         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
66793         5.2.1 and earlier, whereby \055 was treated just like the range
66794         delimiter '-'.
66795         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
66796
66797 2007-02-08  Bruno Haible  <bruno@clisp.org>
66798
66799         * modules/regex (Depends-on): Add stdbool.
66800         Reported by Dalibor Topic <robilad@kaffe.org>.
66801
66802 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
66803
66804         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
66805         Prefer returning from main to exiting from it.
66806         Remove unnecessary parens after sizeof.
66807
66808 2007-02-05  Bruno Haible  <bruno@clisp.org>
66809
66810         New module mbssep.
66811         * modules/mbssep: New file.
66812         * lib/mbssep.c: New file.
66813         * lib/string_.h (strsep): Add a conditional link warning.
66814         (mbssep): New declaration.
66815         * m4/mbssep.m4: New file.
66816         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66817         GNULIB_MBSSEP.
66818         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
66819         * MODULES.html.sh (Internationalization functions): Add mbssep.
66820
66821 2007-02-05  Bruno Haible  <bruno@clisp.org>
66822
66823         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
66824         Optimize search in case of 1 delimiter.
66825
66826 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
66827
66828         * lib/acl.h: Include sys/types.h before sys/acl.h.
66829
66830 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
66831
66832         Merge upstream fix for glibc bugzilla #3957:
66833
66834         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
66835
66836         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
66837         bit for RE_HAT_LISTS_NOT_NEWLINE.
66838         (build_charclass_op): Remove bogus comment.
66839
66840 2007-02-05  Simon Josefsson  <simon@josefsson.org>
66841
66842         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
66843
66844 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
66845
66846         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
66847         * lib/memmem.c [!defined _LIBC]: Include config.h.
66848
66849 2007-02-04  Bruno Haible  <bruno@clisp.org>
66850
66851         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
66852         warning message.
66853
66854 2007-02-04  Bruno Haible  <bruno@clisp.org>
66855
66856         New module mbstok_r.
66857         * modules/mbstok_r: New file.
66858         * lib/mbstok_r.c: New file.
66859         * lib/string_.h (strtok_r): Change argument names to match the
66860         comments. Add a conditional link warning.
66861         (mbstok_r): New declaration.
66862         * m4/mbstok_r.m4: New file.
66863         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66864         GNULIB_MBSTOK_R.
66865         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
66866         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
66867
66868 2007-02-04  Bruno Haible  <bruno@clisp.org>
66869
66870         New module mbsspn.
66871         * modules/mbsspn: New file.
66872         * lib/mbsspn.c: New file.
66873         * lib/string_.h (strspn): Add a conditional link warning.
66874         (mbsspn): New declaration.
66875         * m4/mbsspn.m4: New file.
66876         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66877         GNULIB_MBSSPN.
66878         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
66879         * MODULES.html.sh (Internationalization functions): Add mbsspn.
66880
66881 2007-02-04  Bruno Haible  <bruno@clisp.org>
66882
66883         New module mbspbrk.
66884         * modules/mbspbrk: New file.
66885         * lib/mbspbrk.c: New file.
66886         * lib/string_.h (strpbrk): Add a conditional link warning.
66887         (mbspbrk): New declaration.
66888         * m4/mbspbrk.m4: New file.
66889         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66890         GNULIB_MBSPBRK.
66891         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
66892         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
66893
66894 2007-02-04  Bruno Haible  <bruno@clisp.org>
66895
66896         New module mbscspn.
66897         * modules/mbscspn: New file.
66898         * lib/mbscspn.c: New file.
66899         * lib/string_.h (strcspn): Add a conditional link warning.
66900         (mbscspn): New declaration.
66901         * m4/mbscspn.m4: New file.
66902         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66903         GNULIB_MBSCSPN.
66904         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
66905         * MODULES.html.sh (Internationalization functions): Add mbscspn.
66906
66907 2007-02-04  Bruno Haible  <bruno@clisp.org>
66908
66909         New module mbscasestr, reduced goal of strcasestr.
66910         * modules/mbscasestr: New file.
66911         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
66912         (mbscasestr): Renamed from strcasestr.
66913         * lib/strcasestr.c: Don't include mbuiter.h.
66914         (strcasestr): Remove support for multibyte locales.
66915         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
66916         Change the conditional link warning.
66917         (mbscasestr): New declaration.
66918         * m4/mbscasestr.m4: New file.
66919         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
66920         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
66921         REPLACE_STRCASESTR.
66922         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
66923         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
66924         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
66925         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
66926         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
66927         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
66928         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
66929         (Depends-on): Remove mbuiter.
66930         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
66931
66932 2007-02-04  Bruno Haible  <bruno@clisp.org>
66933
66934         Simplify handling of strncasecmp.
66935         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
66936         the conditional link warning.
66937         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
66938         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
66939         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
66940         * modules/strcase (configure.ac): Don't invoke
66941         gl_STRING_MODULE_INDICATOR.
66942         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
66943
66944 2007-02-04  Bruno Haible  <bruno@clisp.org>
66945
66946         New module mbscasecmp, reduced goal of strcasecmp.
66947         * modules/mbscasecmp: New file.
66948         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
66949         (mbscasecmp): Renamed from strcasecmp.
66950         * lib/strcasecmp.c: Don't include mbuiter.h.
66951         (strcasecmp): Remove support for multibyte locales.
66952         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
66953         Change the conditional link warning.
66954         (mbscasecmp): New declaration.
66955         * m4/mbscasecmp.m4: New file.
66956         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
66957         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
66958         REPLACE_STRCASECMP.
66959         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
66960         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66961         GNULIB_MBSCASECMP.
66962         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
66963         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
66964         * modules/strcase (Files): Remove m4/mbrtowc.m4.
66965         (Depends-on): Remove mbuiter.
66966         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
66967
66968 2007-02-04  Bruno Haible  <bruno@clisp.org>
66969
66970         New module mbsstr. Remove module strstr.
66971         * modules/mbsstr: New file.
66972         * modules/strstr: Remove file.
66973         * lib/mbsstr.c: Renamed from lib/strstr.c.
66974         (mbsstr): Renamed from strstr.
66975         * lib/string_.h (strstr): Remove declaration. Change the conditional
66976         link warning.
66977         (mbsstr): New declaration.
66978         * m4/mbsstr.m4: New file.
66979         * m4/strstr.m4: Remove file.
66980         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
66981         REPLACE_STRSTR.
66982         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
66983         Don't initialize GNULIB_STRSTR.
66984         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
66985         substitute GNULIB_STRSTR and REPLACE_STRSTR.
66986         * MODULES.html.sh (Internationalization functions): Add mbsstr.
66987         (Support for systems lacking ANSI C 89): Remove strstr.
66988
66989 2007-02-04  Bruno Haible  <bruno@clisp.org>
66990
66991         New module mbsrchr.
66992         * modules/mbsrchr: New file.
66993         * lib/mbsrchr.c: New file.
66994         * lib/string_.h (strrchr): Add a conditional link warning.
66995         (mbsrchr): New declaration.
66996         * m4/mbsrchr.m4: New file.
66997         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66998         GNULIB_MBSRCHR.
66999         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
67000         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
67001
67002 2007-02-04  Bruno Haible  <bruno@clisp.org>
67003
67004         New module mbschr.
67005         * modules/mbschr: New file.
67006         * lib/mbschr.c: New file.
67007         * lib/string_.h (strchr): Add a conditional link warning.
67008         (mbschr): New declaration.
67009         * m4/mbschr.m4: New file.
67010         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67011         GNULIB_MBSCHR.
67012         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
67013         * MODULES.html.sh (Internationalization functions): Add mbschr.
67014
67015 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67016
67017         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
67018
67019         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
67020
67021 2007-02-04  Bruno Haible  <bruno@clisp.org>
67022
67023         New module description section 'configure.ac-early'.
67024         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
67025         (func_get_autoconf_early_snippet): New function.
67026         (func_import, func_create_testdir): Use it. Remove special cases for
67027         modules 'extensions' and 'lock'.
67028         * modules/extensions (configure.ac-early): Require
67029         gl_USE_SYSTEM_EXTENSIONS.
67030         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
67031
67032 2007-02-04  Bruno Haible  <bruno@clisp.org>
67033
67034         Make use of gcj-4.3's -fsource and -ftarget option.
67035         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
67036         and if so try the options -fsource and -ftarget.
67037         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
67038         source_version, ftarget_option, target_version arguments.
67039         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
67040         (is_envjavac_oldgcj_14_14_usable): Renamed from
67041         is_envjavac_gcj_14_14_usable.
67042         (is_envjavac_oldgcj_14_13_usable): Renamed from
67043         is_envjavac_gcj_14_13_usable.
67044         (is_gcj_present): Update.
67045         (is_gcj_43, is_gcj43_usable): New functions.
67046         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
67047         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
67048         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
67049         try the options -fsource and -ftarget.
67050
67051 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67052
67053         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
67054         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
67055         larger value.
67056
67057 2007-02-03  Jim Meyering  <jim@meyering.net>
67058
67059         Give tools a better chance to allocate space for very large buffers.
67060         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
67061
67062         Make pwd and readlink work also when run with an unreadable parent dir
67063         on systems with openat support.
67064         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
67065         provided getcwd function, even when we have openat support.
67066         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
67067
67068 2007-02-02  Bruno Haible  <bruno@clisp.org>
67069
67070         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
67071         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
67072         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
67073         portability problems if one of these functions is only used on specific
67074         platforms.
67075         Reported by Paul Eggert.
67076
67077 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
67078
67079         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
67080         is causing more trouble than it's curing.
67081         * lib/regex_internal.h (__mempcpy): Remove.
67082         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
67083         (and make the code a tad smaller to boot).
67084         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
67085
67086 2007-02-02  Jim Meyering  <jim@meyering.net>
67087
67088         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
67089         section, not in the Makefile.am: one.
67090
67091 2007-02-02  Eric Blake  <ebb9@byu.net>
67092
67093         * lib/strchrnul.c: Always include config.h first.
67094
67095         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
67096         gnulib strstr is not necessary here.
67097
67098 2007-02-02  Simon Josefsson  <simon@josefsson.org>
67099
67100         * m4/socklen.m4: Fix typo.
67101
67102 2007-02-02  Eric Blake  <ebb9@byu.net>
67103
67104         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
67105         * modules/netinet_in (Makefile.am): Likewise.
67106
67107 2007-02-01  Bruno Haible  <bruno@clisp.org>
67108
67109         * lib/string_.h (GL_LINK_WARNING): New macro.
67110         (strcasecmp, strstr, strcasestr): If provided by the system,
67111         conditionally define as a macro that leads to a warning instead of to
67112         an error.
67113         (strncasecmp): Conditionally define as a macro that leads to a warning.
67114
67115 2007-02-01  Karl Berry  <karl@gnu.org>
67116
67117         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
67118
67119 2007-02-01  Bruno Haible  <bruno@clisp.org>
67120
67121         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
67122         renamings.
67123
67124 2007-02-01  Eric Blake  <ebb9@byu.net>
67125
67126         * modules/regex (Depends-on): Revert dependence on mempcpy.
67127         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
67128         module's definition of mempcpy.
67129         Reported by Paul Eggert.
67130
67131 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
67132
67133         * lib/string_.h: If the gnulib module XYZ is not present, undefine
67134         the symbol XYZ before redefining it.  This fixes a problem with
67135         programs that don't use XYZ, when compiled on systems that define
67136         XYZ to something else.
67137
67138 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
67139
67140         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
67141         occurs when "mkdir -m foo" creates a setgid directory that is (1)
67142         writeable to group or other and (2) is intended to have a special
67143         mode bit that is set or cleared.  In such a case, the directory
67144         should be neither group- nor other-writeable until the special
67145         mode bits are right.
67146
67147 2007-01-31  Eric Blake  <ebb9@byu.net>
67148
67149         * modules/mountlist (Depends-on): Add strstr.
67150
67151         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
67152         bug.
67153         * modules/string (Makefile.am): Remove redundant replacement.
67154         * modules/regex (Depends-on): Add mempcpy.
67155
67156 2007-01-31  Bruno Haible  <bruno@clisp.org>
67157
67158         New module description field 'Link'.
67159         * gnulib-tool (func_usage): Document --extract-link-directive.
67160         (sed_extract_prog): Recognize 'Link' directive.
67161         (func_get_link_directive): New function.
67162         (func_import): Show summary of link directives.
67163         Handle --extract-link-directive option.
67164         * modules/acl (Link): New section.
67165         * modules/clock-time (Link): New section.
67166         * modules/euidaccess (Link): New section.
67167         * modules/gettext (Link): New section.
67168         * modules/iconv (Link): New section.
67169         * modules/lock (Link): New section.
67170         * modules/nanosleep (Link): New section.
67171         * modules/readline (Link): New section.
67172
67173 2007-01-27  Bruno Haible  <bruno@clisp.org>
67174
67175         Enforce the use of gnulib modules for unportable <string.h> functions.
67176         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
67177         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
67178         (gl_HEADER_STRING_H_BODY): Require it.
67179         * lib/string_.h: If the gnulib module XYZ is not present, redefine
67180         the symbol XYZ to one that gives a link error.
67181         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
67182         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
67183         * modules/mempcpy (configure.ac): Likewise.
67184         * modules/memrchr (configure.ac): Likewise.
67185         * modules/stpcpy (configure.ac): Likewise.
67186         * modules/stpncpy (configure.ac): Likewise.
67187         * modules/strcase (configure.ac): Likewise.
67188         * modules/strcasestr (configure.ac): Likewise.
67189         * modules/strchrnul (configure.ac): Likewise.
67190         * modules/strdup (configure.ac): Likewise.
67191         * modules/strndup (configure.ac): Likewise.
67192         * modules/strnlen (configure.ac): Likewise.
67193         * modules/strpbrk (configure.ac): Likewise.
67194         * modules/strsep (configure.ac): Likewise.
67195         * modules/strstr (configure.ac): Likewise.
67196         * modules/strtok_r (configure.ac): Likewise.
67197
67198 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
67199
67200         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
67201
67202 2007-01-30  Jim Meyering  <jim@meyering.net>
67203
67204         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
67205
67206 2007-01-29  Bruno Haible  <bruno@clisp.org>
67207
67208         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
67209         * lib/execute.c: Likewise.
67210         * lib/pipe.c: Likewise.
67211         * lib/printf-args.h: Likewise.
67212         * lib/printf-args.c: Likewise.
67213         * lib/printf-parse.c: Likewise.
67214         * lib/vasnprintf.c: Likewise.
67215
67216 2007-01-29  Eric Blake  <ebb9@byu.net>
67217
67218         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
67219         declaration.
67220
67221 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
67222
67223         * lib/strptime.h (strptime): Use 'restrict' for args where
67224         POSIX requires this.
67225         * lib/strptime.c (strptime): Likewise.
67226         Change license notice from LGPL to GPL, since gnulib-tool will
67227         change this as needed.
67228         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
67229         defined.
67230         Include "strptime.h" first, to check interface.
67231         Do not #undef _LIBC and _NL_CURRENT.
67232         Do not include <stdlib.h>; no longer needed.
67233         Include "time_r.h" and declare ptime_locale_status
67234         only if _LIBC is not defined.
67235         (__P): Remove unused macro.
67236         (match_string): Bring back glibc version, but use it only if _LIBC
67237         is defined.
67238         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
67239         Remove unnecessary assertion and abort() call.
67240         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
67241         * m4/strptime.m4: Fix serial number comment.
67242         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
67243         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
67244         (Depends-on): Add time_r.
67245
67246 2007-01-29  Bruno Haible  <bruno@clisp.org>
67247
67248         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67249         strptime.
67250         * modules/strptime (Depends-on): Add stdbool.
67251         * lib/strptime.h: Include <time.h> always. Add comments.
67252
67253 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67254
67255         * modules/strptime: New file.
67256         * lib/strptime.h: New file.
67257         * lib/strptime.c: New file.
67258         * m4/strptime.m4: New file.
67259
67260 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
67261
67262         * MODULES.html.sh: New module mpsort.
67263         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
67264
67265         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
67266         a circularity problem with HP-UX ia64 reported by Bob Proulx in
67267         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
67268         All uses changed.
67269         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
67270         All uses changed.
67271         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
67272         to _Restrict_.
67273         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
67274         the parameter matches the prototype.
67275
67276 2007-01-28  Jim Meyering  <jim@meyering.net>
67277
67278         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
67279         sys/time.h here, reverting that part of the previous patch:
67280         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
67281
67282 2007-01-28  Bruno Haible  <bruno@clisp.org>
67283
67284         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
67285         value of $(SYS_TIME_H).
67286         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
67287         remove it conditionally, too. [added by Jim Meyering]
67288         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
67289         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
67290         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
67291         GETTIMEOFDAY_REPLACEMENT to 1.
67292
67293 2007-01-28  Bruno Haible  <bruno@clisp.org>
67294
67295         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
67296         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
67297         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
67298         Set UNISTD_H instead of UNISTD_H2.
67299         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
67300
67301 2007-01-28  Bruno Haible  <bruno@clisp.org>
67302
67303         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
67304         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
67305
67306 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67307
67308         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
67309         (func_create_testdir): Ensure C locale for `grep' and `tr'
67310         character ranges.
67311         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
67312         ACLOCAL_AMFLAGS parsing state machine.
67313
67314 2007-01-27  Bruno Haible  <bruno@clisp.org>
67315
67316         * modules/unistr/base: Update.
67317
67318 2007-01-27  Bruno Haible  <bruno@clisp.org>
67319
67320         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
67321         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
67322         * modules/unistr/u32-mbtouc-unsafe: Renamed from
67323         modules/unistr/u32-mbtouc.
67324         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
67325         * lib/unistr.h: Update.
67326         * lib/linebreak.c: Update.
67327         * modules/unistr/u32-mbtouc: Renamed from
67328         modules/unistr/u32-mbtouc-safe.
67329         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
67330         * lib/unistr.h: Update.
67331         * lib/unistr/u32-to-u8.c: Update.
67332         * lib/unistr/u32-to-u16.c: Update.
67333
67334 2007-01-27  Bruno Haible  <bruno@clisp.org>
67335
67336         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
67337         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
67338         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
67339         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
67340         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
67341         * modules/unistr/u16-mbtouc-unsafe: Renamed from
67342         modules/unistr/u16-mbtouc.
67343         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
67344         * lib/unistr.h: Update.
67345         * lib/linebreak.c: Update.
67346         * modules/linebreak: Update.
67347         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
67348         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
67349         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
67350         * modules/unistr/u16-mbtouc: Renamed from
67351         modules/unistr/u16-mbtouc-safe.
67352         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
67353         * lib/unistr.h: Update.
67354         * lib/unistr/u16-to-u8.c: Update.
67355         * modules/unistr/u16-to-u8: Update.
67356         * lib/unistr/u16-to-u32.c: Update.
67357         * modules/unistr/u16-to-u32: Update.
67358
67359 2007-01-27  Bruno Haible  <bruno@clisp.org>
67360
67361         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
67362         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
67363         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
67364         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
67365         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
67366         * modules/unistr/u8-mbtouc-unsafe: Renamed from
67367         modules/unistr/u8-mbtouc.
67368         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
67369         * lib/unistr.h: Update.
67370         * lib/striconveh.c: Update.
67371         * modules/striconveh: Update.
67372         * lib/linebreak.c: Update.
67373         * modules/linebreak: Update.
67374         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
67375         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
67376         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
67377         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
67378         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
67379         * lib/unistr.h: Update.
67380         * lib/striconveh.c: Update.
67381         * modules/striconveh: Update.
67382         * lib/unistr/u8-to-u16.c: Update.
67383         * modules/unistr/u8-to-u16: Update.
67384         * lib/unistr/u8-to-u32.c: Update.
67385         * modules/unistr/u8-to-u32: Update.
67386
67387 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67388
67389         Sync from Libtool.
67390         * lib/argz.c: Do not include strings.h nor memory.h, include
67391         string.h unconditionally.  Patch by Simon Josefsson.
67392
67393 2007-01-27  Bruno Haible  <bruno@clisp.org>
67394
67395         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
67396         from gl_HEADER_STRING_H_BODY.
67397         (gl_HEADER_STRING_H_BODY): Require it.
67398         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
67399         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
67400         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
67401         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
67402         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
67403         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
67404         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
67405         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
67406         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
67407         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
67408         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
67409         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
67410         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
67411         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
67412         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
67413
67414 2007-01-27  Bruno Haible  <bruno@clisp.org>
67415
67416         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
67417         check_PROGRAMS into noinst_PROGRAMS.
67418         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
67419         check_PROGRAMS in this case.
67420         (func_import): Set for_test to false.
67421         (func_create_testdir): Set for_test to true.
67422
67423 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
67424             Bruno Haible  <bruno@clisp.org>
67425
67426         * modules/strcasestr (Files): Remove lib/strcasestr.h.
67427         (Depends-on): Add string.
67428         (Includes): Use <string.h> instead of strcasestr.h.
67429         * modules/string (Makefile.am): Also substitute the value of
67430         REPLACE_STRCASESTR.
67431         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
67432         assume strcasestr is declared in <string.h> not <strings.h>. Also
67433         set REPLACE_STRCASESTR.
67434         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
67435         REPLACE_STRCASESTR.
67436         * lib/strcasestr.h: Remove file.
67437         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
67438         * lib/string_.h (strcasestr): New declaration.
67439
67440 2007-01-27  Bruno Haible  <bruno@clisp.org>
67441
67442         * lib/string_.h: Use 'extern'.
67443
67444 2007-01-27  Jim Meyering  <jim@meyering.net>
67445
67446         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
67447         of set-but-not-used local, "q".
67448
67449         * lib/mempcpy.c: Include <config.h> before <string.h>.
67450         This fixes a compilation error on HP-UX, due to the system's
67451         "restrict"-using mempcpy prototype.
67452
67453 2007-01-26  Bruno Haible  <bruno@clisp.org>
67454
67455         Small optimization.
67456         * lib/javacomp.c: Include c-strstr.h.
67457          (is_envjavac_gcj): Use c_strstr instead of strstr.
67458         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
67459
67460 2007-01-26  Bruno Haible  <bruno@clisp.org>
67461
67462         * MODULES.html.sh (Unicode string functions): Add the new modules.
67463
67464         * modules/uniconv/u32-strconv-to-locale: New file.
67465         * lib/uniconv/u32-strconv-to-locale.c: New file.
67466
67467         * modules/uniconv/u16-strconv-to-locale: New file.
67468         * lib/uniconv/u16-strconv-to-locale.c: New file.
67469
67470         * modules/uniconv/u8-strconv-to-locale: New file.
67471         * lib/uniconv/u8-strconv-to-locale.c: New file.
67472
67473         * modules/uniconv/u32-strconv-from-locale: New file.
67474         * lib/uniconv/u32-strconv-from-locale.c: New file.
67475
67476         * modules/uniconv/u16-strconv-from-locale: New file.
67477         * lib/uniconv/u16-strconv-from-locale.c: New file.
67478
67479         * modules/uniconv/u8-strconv-from-locale: New file.
67480         * lib/uniconv/u8-strconv-from-locale.c: New file.
67481
67482         * modules/uniconv/u32-strconv-to-enc: New file.
67483         * lib/uniconv/u32-strconv-to-enc.c: New file.
67484         * modules/uniconv/u32-strconv-to-enc-tests: New file.
67485         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
67486
67487         * modules/uniconv/u16-strconv-to-enc: New file.
67488         * lib/uniconv/u16-strconv-to-enc.c: New file.
67489         * lib/uniconv/u-strconv-to-enc.h: New file.
67490         * modules/uniconv/u16-strconv-to-enc-tests: New file.
67491         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
67492
67493         * modules/uniconv/u8-strconv-to-enc: New file.
67494         * lib/uniconv/u8-strconv-to-enc.c: New file.
67495         * modules/uniconv/u8-strconv-to-enc-tests: New file.
67496         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
67497
67498         * modules/uniconv/u32-strconv-from-enc: New file.
67499         * lib/uniconv/u32-strconv-from-enc.c: New file.
67500         * modules/uniconv/u32-strconv-from-enc-tests: New file.
67501         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
67502
67503         * modules/uniconv/u16-strconv-from-enc: New file.
67504         * lib/uniconv/u16-strconv-from-enc.c: New file.
67505         * modules/uniconv/u16-strconv-from-enc-tests: New file.
67506         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
67507
67508         * modules/uniconv/u8-strconv-from-enc: New file.
67509         * lib/uniconv/u8-strconv-from-enc.c: New file.
67510         * lib/uniconv/u-strconv-from-enc.h: New file.
67511         * modules/uniconv/u8-strconv-from-enc-tests: New file.
67512         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
67513
67514         * modules/uniconv/u32-conv-from-enc: New file.
67515         * lib/uniconv/u32-conv-from-enc.c: New file.
67516         * modules/uniconv/u32-conv-from-enc-tests: New file.
67517         * tests/uniconv/test-u32-conv-from-enc.c: New file.
67518
67519         * modules/uniconv/u16-conv-from-enc: New file.
67520         * lib/uniconv/u16-conv-from-enc.c: New file.
67521         * lib/uniconv/u-conv-from-enc.h: New file.
67522         * modules/uniconv/u16-conv-from-enc-tests: New file.
67523         * tests/uniconv/test-u16-conv-from-enc.c: New file.
67524
67525         * modules/uniconv/u8-conv-from-enc: New file.
67526         * lib/uniconv/u8-conv-from-enc.c: New file.
67527         * modules/uniconv/u8-conv-from-enc-tests: New file.
67528         * tests/uniconv/test-u8-conv-from-enc.c: New file.
67529
67530         * modules/uniconv/base: New file.
67531         * lib/uniconv.h: New file.
67532
67533 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
67534
67535         * doc/gnulib-tool.texi (Initial import): Update to match current
67536         behavior with strdup module.
67537         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
67538         * lib/memmem.h: Remove; all uses removed.  This is now done
67539         by <string.h>.
67540         * lib/mempcpy.h: Likewise.
67541         * lib/memrchr.h: Likewise.
67542         * lib/stpcpy.h: Likewise.
67543         * lib/stpncpy.h: Likewise.
67544         * lib/strcase.h: Likewise.
67545         * lib/strchrnul.h: Likewise.
67546         * lib/strdup.h: Likewise.
67547         * lib/strndup.h: Likewise.
67548         * lib/strnlen.h: Likewise.
67549         * lib/strpbrk.h: Likewise.
67550         * lib/strsep.h: Likewise.
67551         * lib/strstr.h: Likewise.
67552         * lib/strtok_r.h: Likewise.
67553         * lib/string_.h: New file.
67554         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
67555         Rely on <string.h> instead.
67556         * lib/canon-host.c: Likewise.
67557         * lib/chdir-long.c: Likewise.
67558         * lib/concatpath.c: Likewise.
67559         * lib/exclude.c: Likewise.
67560         * lib/fchdir.c: Likewise.
67561         * lib/getaddrinfo.c: Likewise.
67562         * lib/getcwd.c: Likewise.
67563         * lib/getsubopt.c: Likewise.
67564         * lib/glob.c: Likewise.
67565         * lib/hard-locale.c: Likewise.
67566         * lib/iconvme.c: Likewise.
67567         * lib/javacomp.c: Likewise.
67568         * lib/mempcpy.c: Likewise.
67569         * lib/memrchr.c: Likewise.
67570         * lib/regex_internal.h: Likewise.
67571         * lib/stpncpy.c: Likewise.
67572         * lib/strcasecmp.c: Likewise.
67573         * lib/strchrnul.c: Likewise.
67574         * lib/strdup.c: Likewise.
67575         * lib/striconv.c: Likewise.
67576         * lib/striconveh.c: Likewise.
67577         * lib/striconveha.c: Likewise.
67578         * lib/strncasecmp.c: Likewise.
67579         * lib/strndup.c: Likewise.
67580         * lib/strnlen.c: Likewise.
67581         * lib/strsep.c: Likewise.
67582         * lib/strstr.c: Likewise.
67583         * lib/strtok_r.c: Likewise.
67584         * lib/userspec.c: Likewise.
67585         * lib/w32spawn.h: Likewise.
67586         * lib/xstrndup.c: Likewise.
67587         * lib/mountlist.c (strstr): Remove decl.
67588         * m4/string_h.m4: New file.
67589         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
67590         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
67591         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
67592         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
67593         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
67594         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
67595         Set REPLACE_STRCASECMP if necessary.
67596         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
67597         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
67598         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
67599         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
67600         HAVE_DECL_STRDUP if necessary.
67601         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
67602         since gl_FUNC_STRNDUP does that now.
67603         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
67604         Check for decl here...
67605         (gl_PREREQ_STRNLEN): ... not here.
67606         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
67607         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
67608         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
67609         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
67610         necessary.
67611         * modules/string: New file.
67612         * modules/memmem (Files): Remove special-purpose include file.
67613         (Depends-on): Add string.
67614         (Include): Include <string.h>, not the removed file.
67615         * modules/mempcpy: Likewise.
67616         * modules/memrchr: Likewise.
67617         * modules/stpcpy: Likewise.
67618         * modules/stpncpy: Likewise.
67619         * modules/strcase: Likewise.
67620         * modules/strchrnul: Likewise.
67621         * modules/strdup: Likewise.
67622         * modules/strndup: Likewise.
67623         * modules/strnlen: Likewise.
67624         * modules/strpbrk: Likewise.
67625         * modules/strsep: Likewise.
67626         * modules/strstr: Likewise.
67627         * modules/strtok_r: Likewise.
67628         * tests/test-dirname.c: Don't include "strdup.h", since
67629         <string.h> now suffices.
67630         * tests/test-memmem.c: Don't include "memmem.h", since
67631         <string.h> now suffices.
67632
67633 2007-01-25  Bruno Haible  <bruno@clisp.org>
67634
67635         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
67636         *resultp is 0.
67637
67638         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
67639         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
67640         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
67641         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
67642
67643         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
67644         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
67645         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
67646         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
67647         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
67648         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
67649
67650 2007-01-24  Bruno Haible  <bruno@clisp.org>
67651
67652         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
67653         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
67654         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
67655         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
67656         gl_FUNC_FTS_CORE.
67657         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
67658         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
67659         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67660         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
67661         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
67662         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
67663         gl_FUNC_FCHOWNAT.
67664         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
67665         gl_FUNC_STRFTIME.
67666         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
67667         Reported by Ralf Wildenhues.
67668
67669 2007-01-24  Bruno Haible  <bruno@clisp.org>
67670
67671         Drop AC_REQUIRE calls that are redundant with the module dependencies.
67672         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
67673         gl_GETADDRINFO.
67674         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
67675         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
67676         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
67677
67678 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
67679
67680         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
67681         Don't use 'exit'; just return from 'main'.
67682         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
67683
67684         * lib/fnmatch_.h: Readjust white space and comments to match
67685         glibc, to avoid spurious diffs.
67686
67687 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67688
67689         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
67690         2004-12-01 change by Jakub Jelinek, since this code won't compile
67691         if !LIBC.  Problem reported by Bob Proulx.
67692
67693 2007-01-23  Bruno Haible  <bruno@clisp.org>
67694
67695         * lib/striconveh.c: Include c-strcaseeq.h.
67696         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
67697         * modules/striconveh (Depends-on): Add c-strcaseeq.
67698
67699 2007-01-23  Bruno Haible  <bruno@clisp.org>
67700
67701         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
67702
67703         * modules/c-strcaseeq: New file.
67704         * lib/c-strcaseeq.h: New file.
67705
67706         * modules/streq: New file.
67707         * lib/streq.h: New file.
67708
67709 2007-01-23  Bruno Haible  <bruno@clisp.org>
67710
67711         * modules/striconveha-tests: New file.
67712         * tests/test-striconveha.c: New file.
67713
67714         * lib/striconveha.h: Include <stdbool.h>.
67715         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
67716         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
67717         (mem_iconveha_notranslit): Renamed from mem_iconveha.
67718         (mem_iconveha): New function.
67719         (str_iconveha_notranslit): Renamed from str_iconveha.
67720         (str_iconveha): New function.
67721         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
67722         c-strcase.
67723
67724 2007-01-23  Bruno Haible  <bruno@clisp.org>
67725
67726         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
67727         encodings without forgiving before trying any encoding with handler.
67728         (str_iconveha): Try all encodings without forgiving before trying any
67729         encoding with handler.
67730
67731 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67732
67733         Import the following changes from libc.
67734
67735         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
67736
67737         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
67738
67739         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
67740
67741         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
67742         normal_bracket label.
67743
67744         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
67745
67746         [BZ #361]
67747         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
67748         to normal_bracket after fetching the next character.
67749
67750 2007-01-22  Bruno Haible  <bruno@clisp.org>
67751
67752         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
67753         argument.
67754         * lib/striconveh.c (iconv_carefully_1): New function.
67755         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
67756         argument.
67757         (str_cd_iconveh): Update.
67758         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
67759         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
67760         * tests/test-striconveh.c (MAGIC): New macro.
67761         (new_offsets): New function.
67762         (main): Test call with and without offsets.
67763
67764 2007-01-22  Bruno Haible  <bruno@clisp.org>
67765
67766         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
67767         * modules/sys_select (Makefile.am): Likewise.
67768         * modules/sys_socket (Makefile.am): Likewise.
67769         * modules/sys_time (Makefile.am): Likewise.
67770
67771 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
67772
67773         * modules/gettimeofday (License): Change from GPL to LGPL, since
67774         gettimeofday is a library function.
67775
67776 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67777
67778         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
67779
67780 2007-01-21  Bruno Haible  <bruno@clisp.org>
67781
67782         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
67783
67784 2007-01-21  Bruno Haible  <bruno@clisp.org>
67785
67786         * modules/striconveha: New file.
67787         * lib/striconveha.h: New file.
67788         * lib/striconveha.c: New file.
67789         * MODULES.html.sh (Internationalization functions): Add striconveha.
67790         * lib/striconv.c (str_iconv): Optimize the case of an empty input
67791         string.
67792         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
67793
67794 2007-01-21  Bruno Haible  <bruno@clisp.org>
67795
67796         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
67797         * lib/striconveh.c (str_iconveh): Likewise.
67798
67799 2007-01-21  Bruno Haible  <bruno@clisp.org>
67800
67801         * lib/striconveh.h (mem_iconveh): New declaration.
67802         * lib/striconveh.c (mem_iconveh): New function.
67803         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
67804
67805 2007-01-21  Bruno Haible  <bruno@clisp.org>
67806
67807         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
67808
67809         * lib/striconveh.h (mem_cd_iconveh): Change specification.
67810         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
67811         original result buffer.
67812         (str_cd_iconveh): Update.
67813         * tests/test-striconveh.c (main): Update.
67814
67815         * lib/striconv.h (mem_cd_iconv): Change specification.
67816         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
67817         result buffer.
67818         (str_cd_iconv): Update.
67819         * tests/test-striconv.c (main): Update.
67820
67821 2007-01-21  Bruno Haible  <bruno@clisp.org>
67822
67823         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
67824
67825 2007-01-20  Jim Meyering  <jim@meyering.net>
67826
67827         * lib/userspec.c (parse_with_separator): If a user or group string
67828         starts with "+", skip the corresponding name-to-ID look-up, since
67829         such a look-up must fail: user and group names may not include "+".
67830
67831 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
67832
67833         * lib/poll.c: Include sys/time.h and time.h unconditionally,
67834         since we now assume the sys_time module.
67835         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
67836         check for sys/time.h; no longer needed.
67837         * modules/poll (Depends-on): Depend on sys_time.
67838
67839 2007-01-18  Bruno Haible  <bruno@clisp.org>
67840
67841         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
67842         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
67843
67844         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
67845         gettimeofday.
67846
67847         * tests/test-gettimeofday.c: Include <time.h>.
67848         (dummy): Remove variable.
67849
67850         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
67851         gl_HEADER_SYS_TIME_H.
67852         (gl_HEADER_SYS_TIME_H): New macro.
67853
67854         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
67855         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67856         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
67857         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
67858         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67859         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
67860         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
67861         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67862         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
67863         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
67864         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67865
67866         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
67867         last change; it caused a compilation error when cross-compiling to
67868         Cygwin.
67869
67870 2007-01-18  Jim Meyering  <jim@meyering.net>
67871
67872         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
67873         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
67874         than the race-prone "test -d sys || mkdir sys".
67875         (configure.ac): Use AC_PROG_MKDIR_P.
67876         * modules/sys_select: Likewise.
67877         * modules/sys_socket: Likewise.
67878         * modules/sys_time: Likewise.
67879
67880 2007-01-18  Eric Blake  <ebb9@byu.net>
67881
67882         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
67883         replace gettimeofday.
67884         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
67885         name, to avoid infinite recursion.
67886
67887 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
67888
67889         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
67890         module sys_time.
67891         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
67892         assume timespec.h defines struct timeval.
67893         * lib/settime.c: Likewise.
67894         * lib/utimens.c: Likewise.
67895         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
67896         since we now assume the gettimeofday module.
67897         * lib/tempname.c (__gen_tempname): Likewise.
67898         * lib/gettimeofday.h: Remove.
67899         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
67900         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
67901         Include <time.h>, for 'time()'.
67902         (localtime_buffer_addr): Also use this workaround if
67903         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
67904         to simplify the uses.  All uses changed.
67905         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
67906         that #undef is inside {}, and 'const' follows type name consistently.
67907         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
67908         (gettimeofday): Do not use the maximum possible value for
67909         tv->tv_usec, since that might break usages other than ls.c.
67910         Instead, we'll leave ls.c alone.  This undoes today's patch
67911         by Bruno.  Add a compile-time warning for 1s-clock resolution;
67912         we've never observed the problem but might as well keep the
67913         canary.
67914         * lib/nanosleep.c: Include timespec.h first, for interface check.
67915         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
67916         now assume the sys_time module.
67917         * lib/tempname.c: Likewise.
67918         * lib/timespec.h: Likewise.
67919         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
67920         needed.
67921         * lib/strftime.c: Likewise.
67922         * lib/timespec.h: Likewise.
67923         * lib/posixtm.c: Include posixtm.h first, for interface check.
67924         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
67925         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
67926         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
67927         * lib/sys_time_.h: New file.
67928         * lib/timespec.h (struct timespec): Use long int, not long.
67929         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
67930         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
67931         Remove obsolescent call to AC_HEADER_TIME.
67932         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
67933         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
67934         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
67935         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
67936         Likewise.
67937         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
67938         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
67939         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
67940         into the sys_time module.  Check for gettimeofday just once.
67941         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
67942         for gettimeofday signature to just check the signature.  Merely
67943         compile it, since linking doesn't test signature.  Improve test for
67944         whether gettimeofday.o is actually needed.
67945         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
67946         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
67947         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
67948         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67949         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
67950         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
67951         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
67952         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
67953         than worrying about sys/time.h.
67954         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
67955         Don't bother worrying about TIME_WITH_SYS_TIME.
67956         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
67957         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
67958         * m4/sys_time_h.m4: New file.
67959         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
67960         Don't include sys/time.h.  Return from main rather than exiting.
67961         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
67962         all uses changed.
67963         * modules/gethrxtime (Depends-on): Add sys_time.
67964         * modules/gettime (Depends-on): Likewise.
67965         * modules/gettimeofday (Depends-on): Likewise.
67966         * modules/nanosleep (Depends-on): Likewise.
67967         * modules/settime (Depends-on): Likewise.
67968         * modules/tempname (Depends-on): Likewise.
67969         * modules/utimens (Depends-on): Likewise.
67970         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
67971         (Include): Change back to <sys/time.h>.
67972         (Maintainer): Add self.
67973         * modules/sys_time: New file.
67974         * modules/tempname (Depends-on): Add gettimeofday.
67975         * tests/test-gettimeofday.c: Include <sys/time.h>
67976         rather than gettimeofday.h.
67977
67978 2007-01-17  Bruno Haible  <bruno@clisp.org>
67979
67980         * gnulib-tool (func_get_license): Revert last patch. Instead, let
67981         the license default to GPL.
67982         (func_create_testdir): Don't complain if a module is LGPL and its
67983         tests module depends on GPLed modules.
67984
67985 2007-01-17  Bruno Haible  <bruno@clisp.org>
67986
67987         * lib/gettimeofday.c (gettimeofday): Add code for the case
67988         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
67989         maximum possible value for tv->tv_usec, rather than the minimum one.
67990
67991 2005-10-08  Martin Lambers  <marlam@marlam.de>
67992 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
67993 2007-01-16  Bruno Haible  <bruno@clisp.org>
67994
67995         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
67996         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
67997         gl_FUNC_GETTIMEOFDAY.
67998         (Include): Add gettimeofday.h.
67999         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
68000         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
68001         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
68002         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
68003         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
68004         * lib/gettimeofday.h: New file.
68005         * lib/gettimeofday.c: Include <sys/timeb.h>.
68006         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
68007         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68008         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
68009         fall back on time().
68010
68011         * tests/test-gettimeofday.c: New file.
68012         * modules/gettimeofday-tests: New file.
68013
68014 2007-01-16  Eric Blake  <ebb9@byu.net>
68015
68016         * modules/fnmatch (Depends-on): Depend on wchar.
68017         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
68018         * m4/fnmatch.m4: Likewise.
68019         * modules/mbchar (Makefile.am): Assume <wchar.h>.
68020         * m4/mbchar.m4: Likewise.
68021         * modules/mbswidth (Depends-on): Depend on wchar.
68022         * lib/mbswidth.c: Assume <wchar.h>.
68023         * m4/mbswidth.m4: Likewise.
68024         * modules/quotearg (Depends-on): Depend on wchar.
68025         * lib/quotearg.c: Assume <wchar.h>.
68026         * m4/quotearg.m4: Likewise.
68027         * modules/regex (Depends-on): Depend on wchar.
68028         * lib/regex_internal.h: Assume <wchar.h>.
68029         * m4/regex.m4: Likewise.
68030         * modules/stdint (Depends-on): Depend on wchar.
68031         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
68032         * m4/stdint.m4: Likewise.
68033         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
68034         * modules/strftime (Depends-on): Depend on wchar.
68035         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
68036         * modules/strtol (Depends-on): Depend on wchar.
68037         * lib/strtol.c: Assume <wchar.h>.
68038         * modules/wcwidth (Depends-on): Depend on wchar.
68039         * lib/wcwidth.h: Assume <wchar.h>.
68040         * m4/wcwidth.m4: Likewise.
68041
68042 2007-01-16  Bruno Haible  <bruno@clisp.org>
68043
68044         * modules/csharpexec-script: New, created from...
68045         * modules/csharpexec: ... this.
68046
68047 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
68048
68049         * modules/javaexec-script: New, created from...
68050         * modules/javaexec: ... this.
68051
68052 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68053
68054         * modules/poll (Dependencies): Add sys_select.
68055
68056 2007-01-15  Jim Meyering  <jim@meyering.net>
68057
68058         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
68059         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
68060         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
68061         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
68062
68063 2007-01-15  Bruno Haible  <bruno@clisp.org>
68064
68065         * modules/striconveh: New file.
68066         * lib/striconveh.h: New file.
68067         * lib/striconveh.c: New file.
68068         * MODULES.html.sh (Internationalization functions): Add striconveh.
68069
68070         * modules/striconveh-tests: New file.
68071         * tests/test-striconveh.c: New file.
68072
68073 2007-01-15  Bruno Haible  <bruno@clisp.org>
68074
68075         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
68076         not from GNU libiconv or GNU libc.
68077
68078 2007-01-15  Bruno Haible  <bruno@clisp.org>
68079
68080         * doc/gnulib-intro.texi (Copyright): Explain the different license
68081         terms for module descriptions, autoconf macros, tests, documentation.
68082
68083 2007-01-14  Bruno Haible  <bruno@clisp.org>
68084
68085         * modules/striconv-tests: New file.
68086         * tests/test-striconv.c: New file.
68087
68088 2007-01-14  Bruno Haible  <bruno@clisp.org>
68089
68090         * modules/iconv-tests: New file.
68091         * tests/test-iconv.c: New file.
68092
68093 2007-01-14  Bruno Haible  <bruno@clisp.org>
68094
68095         * gnulib-tool (func_get_license): For test modules, use the license of
68096         the main module.
68097
68098 2007-01-14  Bruno Haible  <bruno@clisp.org>
68099
68100         * modules/iconv (Include): Clarify that <iconv.h> can only be included
68101         if iconv is found to exist.
68102
68103 2007-01-14  Bruno Haible  <bruno@clisp.org>
68104
68105         * modules/c-ctype-tests: New file.
68106         * tests/test-c-ctype.c: New file.
68107
68108 2007-01-14  Bruno Haible  <bruno@clisp.org>
68109
68110         * modules/binary-io-tests: New file.
68111         * tests/test-binary-io.sh: New file.
68112         * tests/test-binary-io.c: New file.
68113
68114 2007-01-14  Bruno Haible  <bruno@clisp.org>
68115
68116         * modules/array-oset-tests: New file.
68117         * tests/test-array_oset.c: New file.
68118
68119 2007-01-14  Bruno Haible  <bruno@clisp.org>
68120
68121         * modules/array-list-tests: New file.
68122         * tests/test-array_list.c: New file.
68123
68124 2007-01-14  Bruno Haible  <bruno@clisp.org>
68125
68126         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
68127         and make.
68128         Reported by Simon Josefsson in
68129         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
68130
68131 2007-01-14  Bruno Haible  <bruno@clisp.org>
68132
68133         * modules/allocsa-tests: New file.
68134         * tests/test-allocsa.c: New file.
68135
68136 2007-01-14  Bruno Haible  <bruno@clisp.org>
68137
68138         * modules/fchdir (Depends-on): Add absolute-header.
68139         * modules/unistd (Depends-on): Likewise.
68140
68141 2006-12-30  Bruno Haible  <bruno@clisp.org>
68142
68143         * modules/fchdir: New file.
68144         * modules/unistd (Files): Add lib/unistd_.h.
68145         (Makefile.am): Generate unistd.h from unistd_.h.
68146         * lib/fchdir.c: New file.
68147         * lib/dirent_.h: New file.
68148         * lib/unistd_.h: New file.
68149         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
68150         * m4/fchdir.m4: New file.
68151         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
68152         (gl_HEADER_UNISTD): Invoke it.
68153         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
68154         function.
68155         * lib/backupfile.c (opendir, closedir): Undefine.
68156         * lib/chown.c (open, close): Undefine.
68157         * lib/clean-temp.c (open, close): Undefine.
68158         * lib/copy-file.c (open, close): Undefine.
68159         * lib/execute.c (open, close): Undefine.
68160         * lib/fsusage.c (open, close): Undefine.
68161         * lib/gc-gnulib.c (open, close): Undefine.
68162         * lib/getcwd.c (opendir, closedir): Undefine.
68163         * lib/glob.c (opendir, closedir): Undefine.
68164         * lib/javacomp.c (open, close): Undefine.
68165         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
68166         * lib/openat-proc.c (open, close): Undefine.
68167         * lib/pagealign_alloc.c (open, close): Undefine.
68168         * lib/pipe.c (open, close): Undefine.
68169         * lib/progreloc.c (open, close): Undefine.
68170         * lib/savedir.c (opendir, closedir): Undefine.
68171         * lib/utime.c (open, close): Undefine.
68172         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
68173
68174 2007-01-10  Bruno Haible  <bruno@clisp.org>
68175
68176         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
68177
68178 2007-01-12  Eric Blake  <ebb9@byu.net>
68179
68180         Provide a robust <wchar.h>.  Further simplifications are now
68181         possible in other modules, but not included here.
68182         * modules/wchar: New module.
68183         * m4/wchar.m4: New file.
68184         * lib/wchar_.h: Likewise.
68185         * modules/mbchar (Depends-on): Depend on wchar, as the first use
68186         of the new module.
68187         * MODULES.html.sh (Extended multibyte and wide character utilities):
68188         New section.
68189
68190 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
68191
68192         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
68193         to a reasonable default for memory allocation.
68194         (xreadlink): Don't allocate a huge buffer, to work around a buggy
68195         file system that reports garbage st_size values for symlinks.
68196         Problem reported by Liyang Hu.
68197
68198 2007-01-11  Simon Josefsson  <simon@josefsson.org>
68199
68200         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
68201         Emacs .#* auto-save files).
68202
68203 2007-01-11  Bruno Haible  <bruno@clisp.org>
68204
68205         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
68206         directory.
68207
68208 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
68209
68210         Use @...@ consistently in lib/wctype_.h.
68211         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
68212         on it being set to 1 or 0.
68213         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
68214         go back to AC_SUBSTing it.
68215         * modules/wctype (Makefile.am): Undo previous change.
68216
68217 2007-01-10  Eric Blake  <ebb9@byu.net>
68218
68219         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
68220         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
68221         * modules/wctype (Makefile.am): Likewise.
68222         Reported by Chris McGuire.
68223
68224 2007-01-10  Jim Meyering  <jim@meyering.net>
68225
68226         fts.c: a small readability/maintainability improvement
68227         * lib/fts.c (fts_read): Make this code slightly more readable and
68228         maintainable by hoisting the "sp->fts_cur = p" assignments to
68229         immediately follow the statements that set P.  Derived from
68230         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
68231
68232 2007-01-10  Eric Blake  <ebb9@byu.net>
68233
68234         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
68235         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
68236         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
68237         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
68238         Reported by Chris McGuire.
68239
68240 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68241
68242         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
68243         in sed script.
68244
68245 2007-01-09  Bruno Haible  <bruno@clisp.org>
68246
68247         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
68248         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
68249         variables.
68250         (func_module): Use them.
68251
68252 2007-01-09  Bruno Haible  <bruno@clisp.org>
68253
68254         * modules/unistr/base: New file.
68255         * lib/unistr.h: New file.
68256
68257         * modules/unistr/u8-to-u16: New file.
68258         * lib/unistr/u8-to-u16.c: New file.
68259
68260         * modules/unistr/u8-to-u32: New file.
68261         * lib/unistr/u8-to-u32.c: New file.
68262
68263         * modules/unistr/u16-to-u8: New file.
68264         * lib/unistr/u16-to-u8.c: New file.
68265
68266         * modules/unistr/u16-to-u32: New file.
68267         * lib/unistr/u16-to-u32.c: New file.
68268
68269         * modules/unistr/u32-to-u8: New file.
68270         * lib/unistr/u32-to-u8.c: New file.
68271
68272         * modules/unistr/u32-to-u16: New file.
68273         * lib/unistr/u32-to-u16.c: New file.
68274
68275         * modules/unistr/u8-check: New file.
68276         * modules/unistr/u16-check: New file.
68277         * modules/unistr/u32-check: New file.
68278         * lib/unistr/u8-check.c: New file.
68279         * lib/unistr/u16-check.c: New file.
68280         * lib/unistr/u32-check.c: New file.
68281
68282         * modules/unistr/u8-chr: New file.
68283         * modules/unistr/u16-chr: New file.
68284         * modules/unistr/u32-chr: New file.
68285         * lib/unistr/u8-chr.c: New file.
68286         * lib/unistr/u16-chr.c: New file.
68287         * lib/unistr/u32-chr.c: New file.
68288
68289         * modules/unistr/u8-cmp: New file.
68290         * modules/unistr/u16-cmp: New file.
68291         * modules/unistr/u32-cmp: New file.
68292         * lib/unistr/u8-cmp.c: New file.
68293         * lib/unistr/u16-cmp.c: New file.
68294         * lib/unistr/u32-cmp.c: New file.
68295
68296         * modules/unistr/u8-cpy: New file.
68297         * modules/unistr/u16-cpy: New file.
68298         * modules/unistr/u32-cpy: New file.
68299         * lib/unistr/u8-cpy.c: New file.
68300         * lib/unistr/u16-cpy.c: New file.
68301         * lib/unistr/u32-cpy.c: New file.
68302         * lib/unistr/u-cpy.h: New file.
68303
68304         * modules/unistr/u8-cpy-alloc: New file.
68305         * modules/unistr/u16-cpy-alloc: New file.
68306         * modules/unistr/u32-cpy-alloc: New file.
68307         * lib/unistr/u8-cpy-alloc.c: New file.
68308         * lib/unistr/u16-cpy-alloc.c: New file.
68309         * lib/unistr/u32-cpy-alloc.c: New file.
68310         * lib/unistr/u-cpy-alloc.h: New file.
68311
68312         * modules/unistr/u8-endswith: New file.
68313         * modules/unistr/u16-endswith: New file.
68314         * modules/unistr/u32-endswith: New file.
68315         * lib/unistr/u8-endswith.c: New file.
68316         * lib/unistr/u16-endswith.c: New file.
68317         * lib/unistr/u32-endswith.c: New file.
68318         * lib/unistr/u-endswith.h: New file.
68319
68320         * modules/unistr/u8-mblen: New file.
68321         * modules/unistr/u16-mblen: New file.
68322         * modules/unistr/u32-mblen: New file.
68323         * lib/unistr/u8-mblen.c: New file.
68324         * lib/unistr/u16-mblen.c: New file.
68325         * lib/unistr/u32-mblen.c: New file.
68326
68327         * modules/unistr/u8-mbtouc: New file.
68328         * modules/unistr/u16-mbtouc: New file.
68329         * modules/unistr/u32-mbtouc: New file.
68330         * lib/unistr/u8-mbtouc.c: New file.
68331         * lib/unistr/u16-mbtouc.c: New file.
68332         * lib/unistr/u32-mbtouc.c: New file.
68333
68334         * modules/unistr/u8-mbtouc-safe: New file.
68335         * modules/unistr/u16-mbtouc-safe: New file.
68336         * modules/unistr/u32-mbtouc-safe: New file.
68337         * lib/unistr/u8-mbtouc-safe.c: New file.
68338         * lib/unistr/u16-mbtouc-safe.c: New file.
68339         * lib/unistr/u32-mbtouc-safe.c: New file.
68340
68341         * modules/unistr/u8-move: New file.
68342         * modules/unistr/u16-move: New file.
68343         * modules/unistr/u32-move: New file.
68344         * lib/unistr/u8-move.c: New file.
68345         * lib/unistr/u16-move.c: New file.
68346         * lib/unistr/u32-move.c: New file.
68347         * lib/unistr/u-move.h: New file.
68348
68349         * modules/unistr/u8-next: New file.
68350         * modules/unistr/u16-next: New file.
68351         * modules/unistr/u32-next: New file.
68352         * lib/unistr/u8-next.c: New file.
68353         * lib/unistr/u16-next.c: New file.
68354         * lib/unistr/u32-next.c: New file.
68355
68356         * modules/unistr/u8-prev: New file.
68357         * modules/unistr/u16-prev: New file.
68358         * modules/unistr/u32-prev: New file.
68359         * lib/unistr/u8-prev.c: New file.
68360         * lib/unistr/u16-prev.c: New file.
68361         * lib/unistr/u32-prev.c: New file.
68362
68363         * modules/unistr/u8-set: New file.
68364         * modules/unistr/u16-set: New file.
68365         * modules/unistr/u32-set: New file.
68366         * lib/unistr/u8-set.c: New file.
68367         * lib/unistr/u16-set.c: New file.
68368         * lib/unistr/u32-set.c: New file.
68369         * lib/unistr/u-set.h: New file.
68370
68371         * modules/unistr/u8-startswith: New file.
68372         * modules/unistr/u16-startswith: New file.
68373         * modules/unistr/u32-startswith: New file.
68374         * lib/unistr/u8-startswith.c: New file.
68375         * lib/unistr/u16-startswith.c: New file.
68376         * lib/unistr/u32-startswith.c: New file.
68377         * lib/unistr/u-startswith.h: New file.
68378
68379         * modules/unistr/u8-stpcpy: New file.
68380         * modules/unistr/u16-stpcpy: New file.
68381         * modules/unistr/u32-stpcpy: New file.
68382         * lib/unistr/u8-stpcpy.c: New file.
68383         * lib/unistr/u16-stpcpy.c: New file.
68384         * lib/unistr/u32-stpcpy.c: New file.
68385         * lib/unistr/u-stpcpy.h: New file.
68386
68387         * modules/unistr/u8-stpncpy: New file.
68388         * modules/unistr/u16-stpncpy: New file.
68389         * modules/unistr/u32-stpncpy: New file.
68390         * lib/unistr/u8-stpncpy.c: New file.
68391         * lib/unistr/u16-stpncpy.c: New file.
68392         * lib/unistr/u32-stpncpy.c: New file.
68393         * lib/unistr/u-stpncpy.h: New file.
68394
68395         * modules/unistr/u8-strcat: New file.
68396         * modules/unistr/u16-strcat: New file.
68397         * modules/unistr/u32-strcat: New file.
68398         * lib/unistr/u8-strcat.c: New file.
68399         * lib/unistr/u16-strcat.c: New file.
68400         * lib/unistr/u32-strcat.c: New file.
68401         * lib/unistr/u-strcat.h: New file.
68402
68403         * modules/unistr/u8-strchr: New file.
68404         * modules/unistr/u16-strchr: New file.
68405         * modules/unistr/u32-strchr: New file.
68406         * lib/unistr/u8-strchr.c: New file.
68407         * lib/unistr/u16-strchr.c: New file.
68408         * lib/unistr/u32-strchr.c: New file.
68409
68410         * modules/unistr/u8-strcmp: New file.
68411         * modules/unistr/u16-strcmp: New file.
68412         * modules/unistr/u32-strcmp: New file.
68413         * lib/unistr/u8-strcmp.c: New file.
68414         * lib/unistr/u16-strcmp.c: New file.
68415         * lib/unistr/u32-strcmp.c: New file.
68416
68417         * modules/unistr/u8-strcpy: New file.
68418         * modules/unistr/u16-strcpy: New file.
68419         * modules/unistr/u32-strcpy: New file.
68420         * lib/unistr/u8-strcpy.c: New file.
68421         * lib/unistr/u16-strcpy.c: New file.
68422         * lib/unistr/u32-strcpy.c: New file.
68423         * lib/unistr/u-strcpy.h: New file.
68424
68425         * modules/unistr/u8-strcspn: New file.
68426         * modules/unistr/u16-strcspn: New file.
68427         * modules/unistr/u32-strcspn: New file.
68428         * lib/unistr/u8-strcspn.c: New file.
68429         * lib/unistr/u16-strcspn.c: New file.
68430         * lib/unistr/u32-strcspn.c: New file.
68431         * lib/unistr/u-strcspn.h: New file.
68432
68433         * modules/unistr/u8-strdup: New file.
68434         * modules/unistr/u16-strdup: New file.
68435         * modules/unistr/u32-strdup: New file.
68436         * lib/unistr/u8-strdup.c: New file.
68437         * lib/unistr/u16-strdup.c: New file.
68438         * lib/unistr/u32-strdup.c: New file.
68439         * lib/unistr/u-strdup.h: New file.
68440
68441         * modules/unistr/u8-strlen: New file.
68442         * modules/unistr/u16-strlen: New file.
68443         * modules/unistr/u32-strlen: New file.
68444         * lib/unistr/u8-strlen.c: New file.
68445         * lib/unistr/u16-strlen.c: New file.
68446         * lib/unistr/u32-strlen.c: New file.
68447         * lib/unistr/u-strlen.h: New file.
68448
68449         * modules/unistr/u8-strmblen: New file.
68450         * modules/unistr/u16-strmblen: New file.
68451         * modules/unistr/u32-strmblen: New file.
68452         * lib/unistr/u8-strmblen.c: New file.
68453         * lib/unistr/u16-strmblen.c: New file.
68454         * lib/unistr/u32-strmblen.c: New file.
68455
68456         * modules/unistr/u8-strmbtouc: New file.
68457         * modules/unistr/u16-strmbtouc: New file.
68458         * modules/unistr/u32-strmbtouc: New file.
68459         * lib/unistr/u8-strmbtouc.c: New file.
68460         * lib/unistr/u16-strmbtouc.c: New file.
68461         * lib/unistr/u32-strmbtouc.c: New file.
68462
68463         * modules/unistr/u8-strncat: New file.
68464         * modules/unistr/u16-strncat: New file.
68465         * modules/unistr/u32-strncat: New file.
68466         * lib/unistr/u8-strncat.c: New file.
68467         * lib/unistr/u16-strncat.c: New file.
68468         * lib/unistr/u32-strncat.c: New file.
68469         * lib/unistr/u-strncat.h: New file.
68470
68471         * modules/unistr/u8-strncmp: New file.
68472         * modules/unistr/u16-strncmp: New file.
68473         * modules/unistr/u32-strncmp: New file.
68474         * lib/unistr/u8-strncmp.c: New file.
68475         * lib/unistr/u16-strncmp.c: New file.
68476         * lib/unistr/u32-strncmp.c: New file.
68477
68478         * modules/unistr/u8-strncpy: New file.
68479         * modules/unistr/u16-strncpy: New file.
68480         * modules/unistr/u32-strncpy: New file.
68481         * lib/unistr/u8-strncpy.c: New file.
68482         * lib/unistr/u16-strncpy.c: New file.
68483         * lib/unistr/u32-strncpy.c: New file.
68484         * lib/unistr/u-strncpy.h: New file.
68485
68486         * modules/unistr/u8-strnlen: New file.
68487         * modules/unistr/u16-strnlen: New file.
68488         * modules/unistr/u32-strnlen: New file.
68489         * lib/unistr/u8-strnlen.c: New file.
68490         * lib/unistr/u16-strnlen.c: New file.
68491         * lib/unistr/u32-strnlen.c: New file.
68492         * lib/unistr/u-strnlen.h: New file.
68493
68494         * modules/unistr/u8-strpbrk: New file.
68495         * modules/unistr/u16-strpbrk: New file.
68496         * modules/unistr/u32-strpbrk: New file.
68497         * lib/unistr/u8-strpbrk.c: New file.
68498         * lib/unistr/u16-strpbrk.c: New file.
68499         * lib/unistr/u32-strpbrk.c: New file.
68500         * lib/unistr/u-strpbrk.h: New file.
68501
68502         * modules/unistr/u8-strrchr: New file.
68503         * modules/unistr/u16-strrchr: New file.
68504         * modules/unistr/u32-strrchr: New file.
68505         * lib/unistr/u8-strrchr.c: New file.
68506         * lib/unistr/u16-strrchr.c: New file.
68507         * lib/unistr/u32-strrchr.c: New file.
68508
68509         * modules/unistr/u8-strspn: New file.
68510         * modules/unistr/u16-strspn: New file.
68511         * modules/unistr/u32-strspn: New file.
68512         * lib/unistr/u8-strspn.c: New file.
68513         * lib/unistr/u16-strspn.c: New file.
68514         * lib/unistr/u32-strspn.c: New file.
68515         * lib/unistr/u-strspn.h: New file.
68516
68517         * modules/unistr/u8-strstr: New file.
68518         * modules/unistr/u16-strstr: New file.
68519         * modules/unistr/u32-strstr: New file.
68520         * lib/unistr/u8-strstr.c: New file.
68521         * lib/unistr/u16-strstr.c: New file.
68522         * lib/unistr/u32-strstr.c: New file.
68523         * lib/unistr/u-strstr.h: New file.
68524
68525         * modules/unistr/u8-strtok: New file.
68526         * modules/unistr/u16-strtok: New file.
68527         * modules/unistr/u32-strtok: New file.
68528         * lib/unistr/u8-strtok.c: New file.
68529         * lib/unistr/u16-strtok.c: New file.
68530         * lib/unistr/u32-strtok.c: New file.
68531         * lib/unistr/u-strtok.h: New file.
68532
68533         * modules/unistr/u8-uctomb: New file.
68534         * modules/unistr/u16-uctomb: New file.
68535         * modules/unistr/u32-uctomb: New file.
68536         * lib/unistr/u8-uctomb.c: New file.
68537         * lib/unistr/u16-uctomb.c: New file.
68538         * lib/unistr/u32-uctomb.c: New file.
68539
68540         * MODULES.html.sh (Unicode string functions): Add the new modules.
68541
68542 2007-01-08  Bruno Haible  <bruno@clisp.org>
68543
68544         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
68545         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
68546         subdirectories.
68547
68548 2007-01-08  Karl Berry  <karl@gnu.org>
68549
68550         * doc/error.texi: mention that main() fns must set program_name
68551         when progname is used.
68552
68553 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
68554
68555         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
68556         WCTYPE_H is empty, for the benefit of builds from non-distclean
68557         directories.  Problem reported by Eric Blake in
68558         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
68559
68560 2007-01-08  Bruno Haible  <bruno@clisp.org>
68561
68562         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
68563         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
68564         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
68565         PROVIDE_CANONICALIZE_FILENAME_MODE.
68566         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
68567
68568 2007-01-08  Bruno Haible  <bruno@clisp.org>
68569
68570         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
68571         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
68572         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
68573         * lib/fts.c: Likewise.
68574         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
68575
68576 2006-12-25  Bruno Haible  <bruno@clisp.org>
68577
68578         * modules/utf8-ucs4-safe: New file.
68579         * lib/utf8-ucs4-safe.h: New file.
68580         * lib/unistr/utf8-ucs4-safe.c: New file.
68581
68582         * modules/utf16-ucs4-safe: New file.
68583         * lib/utf16-ucs4-safe.h: New file.
68584         * lib/unistr/utf16-ucs4-safe.c: New file.
68585
68586         * MODULES.html.sh (Unicode string functions): Add the new modules.
68587
68588 2007-01-08  Bruno Haible  <bruno@clisp.org>
68589
68590         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
68591         (Depends-on): Add unitypes.
68592         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
68593         (u8_mbtouc_aux): Move out to separate file.
68594         (u8_mbtouc): Use ucs4_t, uint8_t types.
68595         * lib/unistr/utf8-ucs4.c: New file.
68596
68597         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
68598         (Depends-on): Add unitypes.
68599         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
68600         (u16_mbtouc_aux): Move out to separate file.
68601         (u16_mbtouc): Use ucs4_t, uint16_t types.
68602         * lib/unistr/utf16-ucs4.c: New file.
68603
68604         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
68605         (Depends-on): Add unitypes.
68606         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
68607         (u8_uctomb_aux): Move out to separate file.
68608         (u8_uctomb): Use ucs4_t, uint8_t types.
68609         * lib/unistr/ucs4-utf8.c: New file.
68610
68611         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
68612         (Depends-on): Add unitypes.
68613         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
68614         (u16_uctomb_aux): Move out to separate file.
68615         (u16_uctomb): Use ucs4_t, uint16_t types.
68616         * lib/unistr/ucs4-utf16.c: New file.
68617
68618 2006-12-25  Bruno Haible  <bruno@clisp.org>
68619
68620         * modules/unitypes: New file.
68621         * lib/unitypes.h: New file.
68622         * MODULES.html.sh (func_all_modules): New section "Unicode string
68623         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
68624         this section. Add unitypes.
68625
68626 2007-01-08  Bruno Haible  <bruno@clisp.org>
68627
68628         Avoid variable names that conflict with those from libtool.
68629         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
68630         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
68631         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
68632         library_names_spec to acl_library_names_spec, hardcode_* to
68633         acl_hardcode_*.
68634         Reported by Ralf Wildenhues.
68635
68636 2007-01-08  Bruno Haible  <bruno@clisp.org>
68637
68638         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
68639         definition.
68640         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
68641         definition.
68642         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
68643         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
68644         definition.
68645         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
68646         definition.
68647         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
68648         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
68649         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
68650         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
68651         definition.
68652         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
68653         definition.
68654         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
68655         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
68656         GC_USE_<algorithm>.
68657         * lib/gc-libgcrypt.c: Likewise.
68658         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
68659         * modules/gc-arctwo (configure.ac): Likewise.
68660         * modules/gc-des (configure.ac): Likewise.
68661         * modules/gc-hmac-md5 (configure.ac): Likewise.
68662         * modules/gc-hmac-sha1 (configure.ac): Likewise.
68663         * modules/gc-md2 (configure.ac): Likewise.
68664         * modules/gc-md4 (configure.ac): Likewise.
68665         * modules/gc-md5 (configure.ac): Likewise.
68666         * modules/gc-random (configure.ac): Likewise.
68667         * modules/gc-rijndael (configure.ac): Likewise.
68668         * modules/gc-sha1 (configure.ac): Likewise.
68669
68670 2007-01-08  Bruno Haible  <bruno@clisp.org>
68671
68672         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
68673         macro definition.
68674         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
68675         definition.
68676         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
68677         definition.
68678         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
68679         * modules/fcntl-safer (configure.ac): Likewise.
68680         * modules/fopen-safer (configure.ac): Likewise.
68681         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
68682         GNULIB_FWRITEERROR macro definition.
68683
68684 2007-01-08  Bruno Haible  <bruno@clisp.org>
68685
68686         * m4/gnulib-common.m4: New file.
68687         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
68688         (func_get_filelist): Add m4/gnulib-common.m4.
68689
68690 2007-01-08  Bruno Haible  <bruno@clisp.org>
68691
68692         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
68693         command.
68694
68695 2007-01-08  Jim Meyering  <jim@meyering.net>
68696
68697         Use a more robust test for a "can't happen" condition.
68698         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
68699         narrowed the st_size value.  Presuming the "can't happen" condition
68700         is true, that narrowing could conceivably convert an invalid st_size
68701         value into a valid one.  Instead, use a change based on Matthew
68702         Woehlke's original patch.
68703
68704         Slight readability improvement: use an assert-like macro
68705         in place of literal "abort ()" uses.
68706         * lib/fts.c (fts_assert): Define.
68707         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
68708         Use this macro instead of a bare 'abort'.
68709
68710 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
68711
68712         Don't worry about using IRIX 5.3's wctype.h broken definitions;
68713         simply work around them.
68714         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
68715         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
68716         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
68717         declaring.
68718         Don't bother to define as macros, since the standard doesn't require it.
68719         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
68720         longer worry about IRIX 5.3.
68721         (HAVE_WCTYPE_CTMP_BUG): Remove.
68722
68723 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68724
68725         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
68726         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
68727         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68728         Problems reported by Georg Schwarz for IRIX 5.3.
68729
68730         * gnulib-tool (autoconf_minversion): Take the maximum version number
68731         found, not the minimum.  Problem reported by James Youngman.
68732
68733 2007-01-03  Karl Berry  <karl@gnu.org>
68734
68735         * doc/error.texi: new file, explaining interaction with progname.
68736         * doc/gnulib.texi: include it.  Update copyright.
68737
68738 2007-01-03  Simon Josefsson  <simon@josefsson.org>
68739
68740         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
68741         AC_CANONICAL_HOST, to improve autobuild outputs.
68742
68743 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
68744             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
68745
68746         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
68747         sockets, server sockets, and other file descriptors.  Count errors
68748         to compute the return value.  Reorder the code a bit to be easier
68749         to follow.  Don't set event bits that were not requested (except
68750         POLLERR and POLLHUP).
68751
68752 2007-01-01  Bruno Haible  <bruno@clisp.org>
68753
68754         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
68755
68756 2007-01-03  Jim Meyering  <jim@meyering.net>
68757
68758         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
68759
68760 2007-01-02  Bruno Haible  <bruno@clisp.org>
68761
68762         * modules/settime (Include): Require timespec.h.
68763         * modules/nanosleep (Include): Likewise.
68764
68765 2007-01-01  Bruno Haible  <bruno@clisp.org>
68766
68767         * gnulib-tool (func_emit_copyright_notice): Bump year.
68768         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
68769
68770 2007-01-01  Bruno Haible  <bruno@clisp.org>
68771
68772         Improve support for OpenBSD.
68773         * build-aux/config.rpath (libname_spec): Export.
68774         (library_names_spec): New variable. Export.
68775         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
68776         library_names_spec from the config.rpath output. Locate shared library
68777         through the name pattern in library_names_spec.
68778
68779 2007-01-01  Eric Blake  <ebb9@byu.net>
68780
68781         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
68782
68783 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
68784
68785         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
68786         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
68787         assume the C locale, and avoid an "eval" that could cause trouble.
68788         Problem with SORT reported by Bob Proulx.
68789
68790         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
68791         Define.  Trivial patch from Henning Nielsen Lund, originally
68792         sent to bug-grep@gnu.org today.
68793
68794 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
68795
68796         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
68797         struct stat.  Problem reported by Henning Nielsen Lund.
68798         * lib/acl.c: Include acl.h first, to check interface.  Don't
68799         bother to include sys/types.h and sys/stat.h again.
68800
68801 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
68802
68803         Import the following change from libc; problem reported by
68804         Sven Verdoolaege.
68805
68806         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
68807
68808         [BZ #1373]
68809         * lib/argp.h: Remove __NTH for __argp_usage inline function.
68810
68811 2006-12-28  Jim Meyering  <jim@meyering.net>
68812
68813         * build-aux/announce-gen: Do not assume that the package
68814         builds any of tar.gz, tar.bz2, and .xdelta files.
68815         Suggestion from Simon Josefsson.
68816
68817 2006-12-28  Simon Josefsson  <simon@josefsson.org>
68818
68819         * modules/announce-gen: New file.
68820
68821 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
68822
68823         * lib/mbchar.h: Just include <wctype.h>; the wctype module
68824         handles its gotchas now.
68825         * lib/mbswidth.c: Likewise.
68826         * lib/wcwidth.h: Likewise.
68827         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
68828         and iswcntrl; the wctype module does this stuff now.
68829         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
68830         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
68831         * modules/mbchar (Depends-on): Add wctype.
68832         * modules/mbswidth (Depends-on): Likewise.
68833         * modules/wcwidth (Depends-on): Likewise.
68834
68835 2006-12-27  Eric Blake  <ebb9@byu.net>
68836
68837         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
68838         module uses more than what <wctype.h> is required to provide.
68839
68840 2006-12-26  Eric Blake  <ebb9@byu.net>
68841
68842         * gnulib-tool (sed_extract_prog): Avoid space-tab.
68843
68844 2006-12-26  Eric Blake  <ebb9@byu.net>
68845
68846         * modules/absolute-header: New module.
68847         * modules/fcntl (Depends-on): Depend on it.
68848         * modules/inttypes (Depends-on): Likewise.
68849         * modules/stdint (Depends-on): Likewise.
68850         * modules/sys_stat (Depends-on): Likewise.
68851         * modules/wctype (Depends-on): Likewise.
68852         * MODULES.html.sh (Support for building libraries and
68853         executables): Document it.
68854
68855 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
68856
68857         * gnulib-tool (SED): Remove, undoing previous change.
68858         The problem was that it broke coreutils on Solaris, because
68859         "sed --posix" leaked into a makefile.
68860         (sed): New alias, if 'alias' and GNU sed.
68861
68862 2006-12-24  Jim Meyering  <jim@meyering.net>
68863
68864         Work around an fchownat bug in glibc-2.4:
68865         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
68866         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
68867         in spite of the -P option.
68868         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
68869         New macros.
68870         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
68871         * modules/openat (Files): Add lib/fchownat.c.
68872         * lib/openat.c (fchownat): Don't define here.  Move to...
68873         * lib/fchownat.c: ...this new file.
68874
68875 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
68876
68877         Fix bug reported by Bruno Haible in
68878         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
68879         where quotearg.c didn't compile on Mac OS X 10.2 because it
68880         lacks <wchar.h> and wint_t.
68881         * lib/wctype_.h (__wctype_wint_t): New type.
68882         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
68883         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
68884         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
68885         Arg is now of type __wctype_wint_t, not wint_t.
68886         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
68887         substitute HAVE_WINT_T.
68888         * modules/wctype (Files): Add m4/wint_t.m4.
68889         (wctype.h): Substitute HAVE_WINT_T.
68890
68891 2006-12-23  Bruno Haible  <bruno@clisp.org>
68892
68893         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
68894
68895 2006-12-23  Bruno Haible  <bruno@clisp.org>
68896
68897         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
68898         S_ISLNK.
68899         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
68900         mingw.
68901
68902 2006-12-22  Bruno Haible  <bruno@clisp.org>
68903
68904         * lib/copy-file.c: Include acl.h.
68905         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
68906         Close the file descriptors only after being done with copy_acl.
68907         * modules/copy-file (Depends-on): Add acl.
68908
68909 2006-12-22  Bruno Haible  <bruno@clisp.org>
68910
68911         * gnulib-tool (SED): New variable.
68912         Use $SED instead of sed everywhere.
68913
68914 2006-12-22  Bruno Haible  <bruno@clisp.org>
68915
68916         * modules/no-c++: New file.
68917         * m4/no-c++.m4: New file.
68918         * MODULES.html.sh (Support for building libraries and executables):
68919         Add no-c++.
68920
68921 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
68922
68923         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
68924         Include <limits.h>, and use its INT_MAX to rewrite the
68925         j loop so that it does not overflow 'int'.  Problem reported by
68926         Ralf Wildenhues in
68927         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
68928         Play it safe by shifting left by 1 rather than multiplying by 2,
68929         as GCC is less likely to optimize this away when the value
68930         is signed (when it assumes overflow leads to undefined behavior).
68931         Also, don't assume time_t uses two's complement.
68932
68933 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
68934
68935         * MODULES.html.sh: New module wctype.
68936         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
68937         * lib/fnmatch.c: Don't bother to include <wchar.h> before
68938         <wctype.h>, since the new wctype module should fix this.
68939         * lib/quotearg.c: Include <wctype.h> unconditionally, since
68940         the wctype module should arrange for it.
68941         * lib/regex_internal.h: Likewise.
68942         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
68943         since the wctype module should handle this now.
68944         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
68945         * modules/fnmatch (Depends-on): Add wctype.
68946         * modules/quotearg (Depends-on): Likewise.
68947         * modules/regex (Depends-on): Likewise.
68948
68949 2006-12-19  Bruno Haible  <bruno@clisp.org>
68950
68951         * lib/strdup.h [C++]: Wrap definitions in extern "C".
68952         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
68953
68954 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68955
68956         * modules/savewd (Depends-on): Fix dependency on fcntl.
68957
68958 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
68959
68960         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
68961         conforms to C99, rather than relying on the user's environment
68962         setting of STDINT_H.
68963
68964 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
68965         and Eric Blake  <ebb9@byu.net>
68966
68967         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
68968         This is more consistent with the other defines here.
68969         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
68970         Port to z/OS.  Problem reported by Paul Gilmartin.
68971         Change local vars to use gl_ prefix rather than ac_.
68972         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
68973         with other defines.
68974         * modules/double-slash-root: New module.
68975         * modules/dirname (Files): Remove m4/double-slash-root.m4.
68976         (Depends-on): Add double-slash-root.
68977         * MODULES.html.sh (File system functions): Mention new module.
68978
68979 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
68980
68981         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
68982         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
68983         This is for the benefit of gzip, which doesn't do i18n.
68984
68985 2006-12-12  Jim Meyering  <jim@meyering.net>
68986
68987         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
68988         Reported by Andreas Schwab <schwab@suse.de>.
68989
68990 2006-12-12  Bruno Haible  <bruno@clisp.org>
68991
68992         Merge these changes.
68993         2006-09-05  Bruno Haible  <bruno@clisp.org>
68994         * lib/iconvme.c (iconv_string): No need to save and restore errno when
68995         iconv_alloc succeeded.
68996         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
68997         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
68998         test for " && dest " at the end - dest is always != NULL there. Call
68999         iconv with 4xNULL arguments initially, to reset the state. Call iconv
69000         with 2xNULL arguments, also to flush the state storage. Handle the
69001         IRIX iconv behaviour. Realloc the final result, to throw away unused
69002         memory.
69003
69004 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
69005
69006         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
69007         and fchmodat unconditionally, since glibc 2.4 has them.
69008         Problem reported by Arkadiusz Miskiewicz.
69009
69010 2006-12-10  Bruno Haible  <bruno@clisp.org>
69011
69012         * gnulib-tool (func_import): Show the include files only for those
69013         modules that are copied and specified.
69014         Reported by Karl Berry.
69015
69016 2006-12-08  Jim Meyering  <jim@meyering.net>
69017
69018         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
69019         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
69020
69021         * build-aux/announce-gen: Add two new options, both optional:
69022         --bootstrap-tools=TOOL_LIST
69023               a comma-separated list of tools, e.g.,
69024               autoconf,automake,bison,gnulib
69025         --gnulib-snapshot-date=DATE
69026               if gnulib is in the bootstrap tool list,
69027               then report this as the snapshot date.
69028               If not specified, use the current date/time.
69029               If you specify a date here, be sure it's UTC.
69030
69031 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69032
69033         * tests/test-argp-2.sh: Fix test to match actual output.
69034         (func_compare): Fix sed script to be portable.
69035
69036 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
69037
69038         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
69039         workaround for this case.  It is not autoconfigured now; offhand
69040         it's hard to see how to autoconfigure it.
69041
69042 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
69043
69044         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
69045         a directory that is about to be chowned.  Such a directory's
69046         initial file permissions should permit the owner only and this
69047         should not be changed until after the chown, since the group and
69048         other bits would be incorrect if they granted permission before
69049         the chown.
69050
69051         Fix porting problem for iswctype reported by Georg Schwarz in:
69052         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
69053         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
69054         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
69055         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
69056         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
69057
69058 2006-12-03  Jim Meyering  <jim@meyering.net>
69059
69060         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
69061         p->fts_statp may not yet be defined.
69062         (fts_read): Instead, set it in the caller, once p->fts_statp is
69063         sure to be defined, and corresponds to a top-level directory.
69064         This bug made du -x fail.  Here's the coreutils test case:
69065         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
69066         Reported by Mike Frysinger.
69067
69068 2006-12-01  Jim Meyering  <jim@meyering.net>
69069
69070         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
69071         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
69072         Reported by Simon Josefsson.
69073
69074 2006-11-30  Jim Meyering  <jim@meyering.net>
69075
69076         * m4/warning.m4: Use the all-permissive copyright notice
69077         recommended by RMS (rather than LGPL).
69078         * m4/vararrays.m4: Likewise.
69079         * m4/flexmember.m4: Likewise.
69080
69081 2006-11-29  Bruno Haible  <bruno@clisp.org>
69082
69083         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69084         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
69085         using +=.
69086         Reported by Simon Josefsson <simon@josefsson.org>.
69087
69088 2006-11-28  James Youngman <jay@gnu.org>
69089
69090         * README: Advise users that they might find the bug-gnulib@gnu.org
69091         and autotools-announce@gnu.org mailing lists useful.
69092
69093 2006-11-28  Bruno Haible  <bruno@clisp.org>
69094
69095         * m4/ptrdiff_max.m4: Remove file.
69096
69097 2006-11-21  Bruno Haible  <bruno@clisp.org>
69098
69099         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
69100         _AC_COMPUTE_INT.
69101         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69102         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
69103         _AC_COMPUTE_INT.
69104         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69105         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
69106         _AC_COMPUTE_INT.
69107         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69108
69109 2006-11-28  Jim Meyering  <jim@meyering.net>
69110
69111         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
69112         warning from "gcc -Wshadow" about shadowing the builtin.
69113
69114 2006-11-27  Bruno Haible  <bruno@clisp.org>
69115
69116         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
69117         _AC_COMPUTE_INT.
69118         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69119
69120 2006-11-27  Bruno Haible  <bruno@clisp.org>
69121             Paul Eggert  <eggert@cs.ucla.edu>
69122
69123         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
69124
69125 2006-11-26  Bruno Haible  <bruno@clisp.org>
69126
69127         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69128         noinst_LTLIBRARIES.
69129
69130 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
69131             Bruno Haible  <bruno@clisp.org>
69132
69133         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
69134         if compiling with "gcc -ansi".
69135
69136 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
69137
69138         Fix some incompatibilities with gcc -ansi -pedantic.
69139         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
69140         if compiling pedantically with GCC, unless it's C99 or later.
69141         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
69142         it mishandles gcc -ansi -pedantic as well.
69143         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
69144         if gcc -pedantic.
69145         * lib/regexec.c (check_node_accept_bytes): Don't use auto
69146         initializers for struct if -pedantic, unless it's C99 or later.
69147
69148 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
69149
69150         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
69151         Don't close an fd more than once. Identical atimes indicate
69152         success, not failure.
69153
69154 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
69155
69156         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
69157
69158 2006-11-23  Jim Meyering  <jim@meyering.net>
69159
69160         * build-aux/announce-gen: New file.  From coreutils.
69161
69162 2006-11-22  Jim Meyering  <jim@meyering.net>
69163
69164         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
69165         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
69166         (fts_read): Use a temporary to narrow the overused st_size member
69167         before using it in a switch statement.  Reported by Matthew Woehlke.
69168
69169         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
69170         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
69171
69172 2006-11-20  Bruno Haible  <bruno@clisp.org>
69173
69174         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
69175         changequote instead of pairs of brackets.
69176         Reported by Andreas Schwab <schwab@suse.de>.
69177
69178 2006-11-21  Jim Meyering  <jim@meyering.net>
69179
69180         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
69181         so as to remain compatible with older compilers.
69182         Patch from Michael Deutschmann.
69183
69184 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69185
69186         * MODULES.html.sh (File system functions): Add openat.
69187
69188         * lib/openat.h (rpl_fstatat): New macro, if
69189         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
69190         (fstatat): Define to rpl_fstatat under the same conditions,
69191         unless COMPILING_FSTATAT.
69192         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
69193         seems to have the bug.
69194         * lib/fstatat.c: New file.
69195         * modules/openat (Files): Add it.
69196
69197 2006-11-20  Bruno Haible  <bruno@clisp.org>
69198
69199         * Makefile: New file.
69200
69201 2006-11-20  Jim Meyering  <jim@meyering.net>
69202
69203         The beginnings of syntax-related checks for gnulib.
69204         * lib/Makefile: New file.
69205         * lib/t-idcache: New script.  Ensure that the two halves of
69206         idcache.c stay in sync.
69207
69208         * lib/idcache.c: Adjust comments in user- and group- portions to
69209         be more accurate, and to be consistent with one another.
69210
69211 2006-11-20  Jim Meyering  <jim@meyering.net>
69212
69213         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
69214         continue using the flexible array member (thus, this module performs
69215         half as many malloc calls), with the addition that...
69216         (getgroup, getuser): Consistently record a non-match via an empty
69217         "name" string, and map an empty string match to a NULL return value.
69218         * modules/idcache (Depends-on): Re-add flexmember.
69219
69220         * lib/idcache.c (getuser): Remove all uses of the register keyword.
69221         (getuidbyname, getgroup, getgidbyname): Likewise.
69222
69223         Use cleaner syntax: NULL rather than 0.
69224         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
69225
69226 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69227
69228         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
69229         It mishandled the case where the group was missing.
69230         Problem reported by Greg Schafer.
69231         * modules/idcache: Likewise.
69232
69233 2006-11-18  Jim Meyering  <jim@meyering.net>
69234
69235         * check-module (%exempt_header): Add exception for some
69236         conditionally-included headers.
69237
69238         * modules/i-ring (Depends-on): Add verify.
69239         (License): Change to LGPL.
69240
69241 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69242
69243         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
69244         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
69245         and inttostr.h.  Use snprintf rather than uinttostr, so that
69246         LGPLed code doesn't depend on GPLed.
69247
69248 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
69249
69250         * modules/inline (License): Change from GPL to LGPL.
69251
69252 2006-11-17  Jim Meyering  <jim@meyering.net>
69253
69254         * modules/d-type (License): Switch to LGPL.
69255
69256 2006-11-15  Bruno Haible  <bruno@clisp.org>
69257
69258         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
69259
69260 2006-11-15  Eric Blake  <ebb9@byu.net>
69261
69262         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
69263         the module dependency.
69264
69265 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69266             Bruno Haible  <bruno@clisp.org>
69267
69268         * gnulib-tool (func_create_testdir): Add license consistency check.
69269
69270 2006-11-15  Eric Blake  <ebb9@byu.net>
69271
69272         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
69273         random "(cached)" in configure output.
69274
69275 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69276
69277         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
69278         test for conforming inttypes.h is both announced and cached.
69279
69280         * MODULES.html.sh (seen_modules, seen_files): New variables.
69281         (func_module): Rewrite to use a few less gnulib-tool and sed
69282         invocations.  Avoid a couple of quadratic algorithms for ...
69283         (missed_modules, missed_files): ... these, with ...
69284         (func_append, func_tmpdir): ... these new functions, from
69285         gnulib-tool.  Analogously, install traps for cleanup.
69286
69287         * tests/test-gc.c (main): Remove unused variables.
69288         * tests/test-read-file.c: Include stdlib.h, for 'free'.
69289
69290 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
69291
69292         * modules/inttostr (License): Change to LGPL.
69293
69294 2006-11-14  Eric Blake  <ebb9@byu.net>
69295
69296         * modules/tempname (License): Change to LGPL.
69297
69298 2006-11-14  Eric Blake  <ebb9@byu.net>
69299
69300         * doc/functions.texi (Function Portability): *printf functions on
69301         Cygwin now understand all POSIX size specifiers.
69302
69303 2006-11-14  Bruno Haible  <bruno@clisp.org>
69304
69305         * modules/c-ctype (License): Change to LGPL.
69306
69307 2006-11-12  Bruno Haible  <bruno@clisp.org>
69308
69309         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
69310         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
69311         for GNOME libraries, for which the include files are installed in
69312         subdirectories of $prefix/include.
69313
69314 2006-11-12  Bruno Haible  <bruno@clisp.org>
69315
69316         * m4/lib-link.m4: Require at least autoconf-2.54.
69317         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
69318         name to underscores for the --with option.
69319
69320 2006-11-13  Bruno Haible  <bruno@clisp.org>
69321
69322         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
69323         the tests directory.
69324         Reported by Ralf Wildenhues.
69325
69326 2006-11-13  Bruno Haible  <bruno@clisp.org>
69327
69328         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
69329         (func_emit_initmacro_end): Undo the override here.
69330         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
69331         Works around the famous automake error in coreutils.
69332
69333 2006-11-13  Eric Blake  <ebb9@byu.net>
69334
69335         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
69336         element, not its node.
69337
69338 2006-11-12  Bruno Haible  <bruno@clisp.org>
69339
69340         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
69341         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
69342
69343 2006-11-12  Bruno Haible  <bruno@clisp.org>
69344
69345         * gnulib-tool: New option --local-symlink.
69346         (func_usage): Document it.
69347         (lsymbolic): New variable.
69348         (func_import, func_create_testdir): If --symlink was not specified,
69349         test whether --local-symlink was specified and the file comes from
69350         the local_gnulib_dir.
69351
69352 2006-11-12  Bruno Haible  <bruno@clisp.org>
69353
69354         * gnulib-tool (func_ln): New function.
69355         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
69356
69357 2006-11-12  Bruno Haible  <bruno@clisp.org>
69358
69359         Finish support for source files in subdirectories.
69360         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
69361         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
69362         AUTOMAKE_OPTIONS.
69363         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
69364
69365 2006-11-12  Bruno Haible  <bruno@clisp.org>
69366
69367         * gnulib-tool (func_get_automake_snippet): Synthesize also an
69368         EXTRA_lib_SOURCES augmentation.
69369         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
69370
69371 2006-11-12  Jim Meyering  <jim@meyering.net>
69372
69373         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
69374         file descriptors.  This also averts a failure on systems with
69375         native openat support when a traversed directory lacks "x" access.
69376         * lib/fts_.h: Include "i-ring.h"
69377         (struct FTS) [fts_fd_ring]: New member.
69378         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
69379         (FCHDIR): Add parentheses.
69380         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
69381         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
69382         When descending, rather than simply closing the previous
69383         fts_cwd_fd value, push that file descriptor onto the ring.
69384         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
69385         (fts_open): Initialize the new fd_ring member.
69386         (fts_close): Clear the ring.
69387         (fts_safe_changedir): When possible, use our new fd_ring to skip
69388         the diropen and fstat and dev/ino comparison that would normally
69389         accompany a virtual `chdir ("..")'.
69390
69391         * modules/fts (Depends-on): Add i-ring.
69392         * modules/i-ring: New module.
69393         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
69394         * m4/i-ring.m4: New file.
69395
69396 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69397
69398         * gnulib-tool (func_create_testdir): Fix replacement of
69399         `build-aux' in configure.ac.  Run autotools in gltests
69400         subdirectory.
69401         (func_create_testdir, func_create_megatestdir, test): There is
69402         no need for '--force' in most autotool invocations in a new
69403         tree.  Actually fail the whole test if any of the tools, or the
69404         configure or make stages fail.
69405
69406         Sync from Automake.
69407         * build-aux/gnupload: Revert last change.  Add pointer to upload
69408         instructions of the GNU Maintenance Instructions.
69409         Suggestion by Karl Berry.
69410
69411 2006-11-10  Jim Meyering  <jim@meyering.net>
69412
69413         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
69414
69415 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69416
69417         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
69418         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
69419         (bind_textdomain_codeset) [! ENABLE_NLS]:
69420         Evaluate all the arguments.  That way, callers get compatible behavior
69421         if the arguments have side effects.  Also, it avoids some GCC
69422         diagnostics in some cases; Joel E. Denny reported problems when Bison
69423         was configured with --enable-gcc-warnigs.
69424
69425 2006-11-10  Jim Meyering  <jim@meyering.net>
69426
69427         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
69428         relevant options in CFLAGS (like -O, -fno-inline) are taken into
69429         account.
69430
69431 2006-11-10  Jim Meyering  <jim@meyering.net>
69432
69433         * modules/inline: New file/module.
69434         * modules/xalloc (Files): Remove m4/inline.m4.
69435         (Depends-on): Add inline, instead.
69436         * modules/oset: Likewise.
69437         * modules/list: Likewise.
69438
69439 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69440
69441         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
69442         Problem reported by Matthew Woehlke.
69443
69444 2006-11-09  Bruno Haible  <bruno@clisp.org>
69445
69446         * lib/tempname.c (gen_tempname): Remove variant that invokes
69447         __gen_tempname.
69448         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
69449         __gen_tempname.
69450
69451 2006-11-08  Bruno Haible  <bruno@clisp.org>
69452
69453         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
69454         to 'yes' instead of 'cross-compiling'.
69455
69456 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
69457
69458         * lib/quotearg.h (quotearg_free): New decl.
69459         * lib/quotearg.c (quotearg_free): New function.
69460         (slot0, nslots, slotvec0, slotvec):
69461         Now file-scope so that quotearg_free can get at them.
69462
69463 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69464
69465         Sync from Automake.
69466         * build-aux/gnupload: Add missing 'gnu' to example URL.
69467         Report by Karl Berry.
69468
69469 2006-11-08  Bruno Haible  <bruno@clisp.org>
69470
69471         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
69472         Suggested by Paul Eggert.
69473
69474 2006-11-08  Jim Meyering  <jim@meyering.net>
69475
69476         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
69477         It's already included if !_LIBC.
69478         (fts_safe_changedir): Add a comment.
69479
69480 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
69481
69482         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
69483         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
69484         Matthew Woehlke.
69485
69486         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
69487         definitions up, to avoid colliding with change below.
69488         (static_inline) [HAVE_INLINE]: New macro.
69489         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
69490         Provide extern decls when !HAVE_INLINE.  Do not define unless
69491         static_inline is defined, either by us or by xmalloc.c.  Use
69492         static_inline rather than static inline.
69493         (XCALLOC): Optimize sizeof(T) = 1 case.
69494         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
69495
69496 2006-11-07  Bruno Haible  <bruno@clisp.org>
69497
69498         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
69499         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
69500         AC_C_INLINE.
69501         * modules/xalloc (Files): Add m4/inline.m4.
69502
69503 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69504
69505         * README: Fix typo.
69506         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
69507         (Miscellanous Notes): ...from this.
69508
69509 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
69510
69511         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
69512         Mention that offsetof should be used instead of sizeof.
69513         From Bruno Haible.
69514
69515 2006-11-07  Bruno Haible  <bruno@clisp.org>
69516
69517         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
69518
69519 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
69520
69521         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
69522         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
69523         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
69524         (gl_tree_add_before, gl_tree_add_after):
69525         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
69526         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
69527         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
69528         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
69529         (gl_linked_add_after, gl_linked_add_at): Likewise.
69530         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
69531         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
69532         (gl_tree_add_before, gl_tree_add_after): Likewise.
69533         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
69534         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
69535         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
69536
69537 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69538
69539         * lib/gl_oset.h: Use C comment style, not C++ comment style.
69540
69541 2006-11-06  Bruno Haible  <bruno@clisp.org>
69542
69543         * m4/inline.m4: New file.
69544         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
69545         * modules/list (Files): Add m4/inline.m4.
69546         * modules/oset (Files): Likewise.
69547
69548 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
69549
69550         * lib/idcache.c: Include <stddef.h>, for offsetof.
69551         (struct userid.name): Change from char * to a flexible array member.
69552         All uses changed.
69553         * modules/idcache (Depends-on): Add flexmember.
69554
69555         * MODULES.html.sh (Core language properties): New module flexmember.
69556         * modules/flexmember, m4/flexmember.m4: New files.
69557
69558         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
69559         inline functions that are identical with the old xnmalloc_inline,
69560         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
69561         that we can avoid some unnecessary integer multiplications and
69562         divisions in the common case where the element size is known at
69563         compile time.
69564         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
69565         needed.
69566         (xnboundedmalloc): Remove.
69567         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
69568         arguments, for consistency with rest of this header.
69569         (xcharalloc): Rewrite using XNMALLOC.
69570         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
69571         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
69572         versions have been moved to lib/xalloc.h and renamed to be the
69573         non-*_inline versions.
69574         (xmalloc, xrealloc): Implement without reference to the xnmalloc
69575         and xnrealloc functions, since those functions are now inline and
69576         now call us.
69577         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
69578         renaming described above.
69579         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
69580         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
69581         captures the dependency in AC_C_INLINE.
69582
69583         New module canonicalize-lgpl, proposed by Charles Wilson in
69584         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
69585         with a few small changes afterwards.
69586         * MODULES.html.sh (File system functions): New module
69587         canonicalize-lgpl.
69588         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
69589         and canonicalize_file_name.
69590         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
69591         * modules/canonicalize-lgpl: New files.
69592
69593 2006-11-05  Bruno Haible  <bruno@clisp.org>
69594
69595         * gnulib-tool (func_import, func_create_testdir): Create directories
69596         also for files in subdirectories of lib/.
69597
69598 2006-11-05  Bruno Haible  <bruno@clisp.org>
69599
69600         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
69601         ANSI C compliant.
69602
69603 2006-11-03  Bruno Haible  <bruno@clisp.org>
69604
69605         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
69606         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
69607         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
69608         (xnboundedmalloc): New inline function.
69609         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
69610         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
69611         xmalloc.
69612         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
69613         xmalloc.
69614         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
69615         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
69616         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
69617         xmalloc.
69618         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
69619         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
69620         xmalloc.
69621         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
69622         gl_tree_add_after): Use XMALLOC instead of xmalloc.
69623         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
69624         xmalloc.
69625         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
69626         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
69627         gl_tree_add_after): Use XMALLOC instead of xmalloc.
69628         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
69629         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
69630         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
69631         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
69632
69633 2006-11-03  Bruno Haible  <bruno@clisp.org>
69634
69635         * lib/c-ctype.h [C++]: Define functions without name mangling.
69636         * lib/fwriteerror.h [C++]: Likewise.
69637         * lib/gcd.h [C++]: Likewise.
69638         * lib/linebreak.h [C++]: Likewise.
69639
69640 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
69641
69642         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
69643         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
69644         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
69645         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
69646         Check for functions and headers just once.
69647         Check for declaration of canonicalize_file_name.
69648         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
69649
69650 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69651
69652         * gnulib-tool (func_import): Fix typo in actioncmd.
69653
69654 2006-11-02  Bruno Haible  <bruno@clisp.org>
69655
69656         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
69657         newline sequence in the Makefile.am snippet as a space, like "make"
69658         does.
69659         Reported by Roger Persson <perrog@gmail.com>.
69660
69661 2006-11-01  Bruno Haible  <bruno@clisp.org>
69662
69663         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
69664         already declared in <string.h>.
69665         * lib/strcase.h (strncasecmp): Don't declare it if yes.
69666
69667 2006-11-01  Bruno Haible  <bruno@clisp.org>
69668
69669         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
69670         * lib/strcase.h: Include <string.h>.
69671         (strcasecmp): Define to rpl_strcasecmp here.
69672
69673 2006-11-01  Bruno Haible  <bruno@clisp.org>
69674
69675         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
69676
69677 2006-11-01  Eric Blake  <ebb9@byu.net>
69678
69679         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
69680
69681         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
69682
69683 2006-10-29  Bruno Haible  <bruno@clisp.org>
69684
69685         Make it compile in C++ mode.
69686         * lib/full-write.c (full_rw): Add a cast.
69687
69688 2006-11-01  Bruno Haible  <bruno@clisp.org>
69689
69690         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
69691         be POSIX compliant.
69692         Reported by Roger Persson <perrog@gmail.com>.
69693
69694 2006-11-01  Eric Blake  <ebb9@byu.net>
69695
69696         * lib/getopt_.h: Fix comments.
69697
69698 2006-10-31  Eric Blake  <ebb9@byu.net>
69699
69700         * modules/tmpdir (Depends-on): Add sys_stat.
69701         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
69702         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
69703         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
69704         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
69705         tempname.
69706
69707 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
69708
69709         Avoid some C++ diagnostics reported by Bruno Haible.
69710         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
69711         xmalloc.
69712         (quotearg_alloc): Use xcharalloc rather than xmalloc.
69713         (struct slotvec): Move to top level.
69714         (quotearg_n_options): Rewrite to avoid xmalloc.
69715         * lib/xalloc.h (xcharalloc): New function.
69716         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
69717         [defined __cplusplus]: Add function template that provides result
69718         type propagation.  This part of the change is from Bruno Haible.
69719
69720 2006-10-29  Bruno Haible  <bruno@clisp.org>
69721
69722         Make it compile in C++ mode.
69723         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
69724         * lib/strnlen1.c (strnlen1): Cast memchr result.
69725         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
69726         * lib/clean-temp.c (string_equals, string_hash): Add casts.
69727         (create_temp_dir): Rename local variable 'template'.
69728         (compile_csharp_using_sscli): Add cast.
69729         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
69730         * lib/findprog.c (find_in_path): Likewise.
69731         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
69732         * lib/wait-process.c (register_slave_subprocess): Likewise.
69733
69734 2006-10-22  Bruno Haible  <bruno@clisp.org>
69735
69736         * modules/tsearch: New file.
69737         * lib/tsearch.h: New file.
69738         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
69739         * m4/tsearch.m4: New file.
69740         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
69741
69742 2006-10-29  Eric Blake  <ebb9@byu.net>
69743
69744         * lib/arcfour.c: Assume config.h.
69745         * lib/arctwo.c: Likewise.
69746         * lib/base64.c: Likewise.
69747         * lib/check-version.c: Likewise.
69748         * lib/crc.c: Likewise.
69749         * lib/des.c: Likewise.
69750         * lib/gc-gnulib.c: Likewise.
69751         * lib/gc-libgcrypt.c: Likewise.
69752         * lib/gc-pbkdf2-sha1.c: Likewise.
69753         * lib/getaddrinfo.c: Likewise.
69754         * lib/getdelim.c: Likewise.
69755         * lib/getline.c: Likewise.
69756         * lib/hmac-md5.c: Likewise.
69757         * lib/hmac-sha1.c: Likewise.
69758         * lib/iconvme.c: Likewise.
69759         * lib/md2.c: Likewise.
69760         * lib/md4.c: Likewise.
69761         * lib/memxor.c: Likewise.
69762         * lib/read-file.c: Likewise.
69763         * lib/readline.c: Likewise.
69764         * lib/rijndael-alg-fst.c: Likewise.
69765         * lib/rijndael-api-fst.c: Likewise.
69766         * lib/xgetdomainname.c: Likewise.
69767
69768 2006-10-28  Eric Blake  <ebb9@byu.net>
69769
69770         * lib/xstrndup.c: Assume config.h.
69771
69772 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
69773
69774         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
69775         stat-macros.h is now for our own macros, whereas stat_h is for
69776         macros in the <sys/stat.h> name space.
69777         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
69778         (STAT_MACROS_H): Remove.
69779         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
69780         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
69781         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
69782         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
69783         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
69784         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
69785         Move these macros to ...
69786         * lib/stat_.h: here.  Don't include stat-macros.h.
69787         * lib/canonicalize.c: Don't include stat-macros.h.
69788         * lib/chown.c: Likewise.
69789         * lib/euidaccess.c: Likewise.
69790         * lib/file-type.c: Likewise.
69791         * lib/filemode.c: Likewise.
69792         * lib/glob.c: Likewise.
69793         * lib/isapipe.c: Likewise.
69794         * lib/lchown.c: Likewise.
69795         * lib/lstat.c: Likewise.
69796         * lib/mkdir-p.c: Likewise.
69797         * lib/rmdir.c: Likewise.
69798         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
69799         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
69800         unless mkdir isn't declared, to speed up 'configure'.
69801         Always create sys/stat.h, since it's unlikely any real sys/stat.h
69802         would define all the S_* symbols.
69803         * modules/canonicalize (Depends-on):
69804         Depend on sys_stat, not stat-macros.
69805         * modules/chown: Likewise.
69806         * modules/euidaccess: Likewise.
69807         * modules/filemode: Likewise.
69808         * modules/file-type: Likewise.
69809         * modules/glob: Likewise.
69810         * modules/isapipe: Likewise.
69811         * modules/lchown: Likewise.
69812         * modules/lstat: Likewise.
69813         * modules/mkancesdirs: Likewise.
69814         * modules/rmdir: Likewise.
69815         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
69816         * modules/modechange: Likewise.
69817         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
69818         (configure.ac): Remove gl_STAT_MACROS.
69819         * modules/sys_stat (Depends-on): Remove stat-macros.
69820
69821 2006-10-27  Bruno Haible  <bruno@clisp.org>
69822
69823         * m4/signed.m4: Remove file.
69824         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
69825         invocation.
69826         * modules/vasnprintf (Files): Remove m4/signed.m4.
69827
69828 2006-10-27  Bruno Haible  <bruno@clisp.org>
69829
69830         Update to GNU gettext 0.16.
69831         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
69832         m4/inttypes-h.m4, m4/signed.m4.
69833         * m4/gettext.m4: Update to GNU gettext 0.16.
69834         * m4/intl.m4: New file, from GNU gettext.
69835         * m4/intldir.m4: New file, from GNU gettext.
69836         * config/srclist.txt: Update
69837
69838 2006-10-27  Eric Blake  <ebb9@byu.net>
69839
69840         * MODULES.html.sh: Document tempname.
69841         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
69842         dependencies.
69843         (Files): Move lib/tempname.c...
69844         * modules/tempname: ...to this new module.
69845         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
69846         (gl_PREREQ_TEMPNAME): Move...
69847         * m4/tempname.m4: ...to this new file.
69848         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
69849         * modules/sys_stat (Depends-on): Add stat-macros.
69850         * lib/stat_.h (includes): Pick up stat macros.
69851         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
69852         if stat macros are broken.
69853         * lib/tempname.c (includes): No need to include "stat-macros.h".
69854         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
69855         (direxists, __path_search) [!_LIBC]: Don't compile these in
69856         gnulib; the tmpdir module covers that.
69857         * lib/tempname.h: New file.
69858
69859 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
69860
69861         * COPYING: Explain how gnulib-tool converts licence headers.
69862         Almost all wording by Eric Blake.
69863
69864 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
69865
69866         * lib/mbchar.h (is_basic_table): Make read-only.
69867         * lib/mbchar.c (is_basic_table): Likewise.
69868         Reported by John Darrington.
69869
69870 2006-10-25  Bruno Haible  <bruno@clisp.org>
69871
69872         * lib/progname.h (set_program_name): Undefine before defining.
69873
69874 2006-10-25  Bruno Haible  <bruno@clisp.org>
69875
69876         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
69877         false for non-gcc C++ compilers.
69878         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
69879
69880 2006-10-24  Bruno Haible  <bruno@clisp.org>
69881
69882         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
69883         iconv implementations like Irix iconv.
69884
69885 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69886
69887         * modules/vararrays: New file.
69888         * m4/vararrays.m4: New file, taken from diffutils.
69889         * MODULES.html.sh: New module vararrays.
69890
69891 2006-10-24  Karl Berry  <karl@gnu.org>
69892
69893         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
69894         Don't call GNU Unix.
69895
69896 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69897
69898         * users.txt: Add Libtool.
69899
69900         Sync from Libtool:
69901
69902         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69903
69904         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
69905         to gnulib's policy of including config.h unconditionally.
69906
69907 2006-10-24  Bruno Haible  <bruno@clisp.org>
69908
69909         * modules/wcwidth (Files): Add m4/wint_t.m4.
69910         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
69911         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
69912
69913 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69914
69915         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
69916         to pacify GCC with some -W flags enabled.  Problem reported by
69917         Bruno Haible.
69918
69919 2006-10-24  Jim Meyering  <jim@meyering.net>
69920
69921         * MODULES.html.sh: Remove uinttostr.  It's not a module.
69922         Reported by Karl Berry.
69923
69924 2006-10-23  Bruno Haible  <bruno@clisp.org>
69925
69926         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
69927
69928 2006-10-24  Bruno Haible  <bruno@clisp.org>
69929
69930         * lib/gl_list.h: Use C comment style, not C++ comment style.
69931
69932 2006-10-23  Eric Blake  <ebb9@byu.net>
69933
69934         * lib/getaddrinfo.c (includes): Add missing include.
69935
69936 2006-10-23  Bruno Haible  <bruno@clisp.org>
69937             Paul Eggert  <eggert@cs.ucla.edu>
69938
69939         Ability to rename obstack_free.
69940         * lib/obstack.h (__obstack_free): New macro. Declare instead of
69941         obstack_free.
69942         (obstack_free): Invoke the __obstack_free macro.
69943         * lib/obstack.c (obstack_free): Use __obstack_free macro.
69944
69945 2006-10-23  Bruno Haible  <bruno@clisp.org>
69946             Paul Eggert  <eggert@cs.ucla.edu>
69947
69948         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
69949         __argc, __argv from the declaration. (They are defined as macros on
69950         mingw.)
69951
69952 2006-10-22  Bruno Haible  <bruno@clisp.org>
69953
69954         * doc/gnulib-intro.texi: New file.
69955         * doc/gnulib.texi: Include it.
69956
69957 2006-10-21  Bruno Haible  <bruno@clisp.org>
69958
69959         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
69960         "Introduction", "Miscellanous Notes", "Particular Modules".
69961
69962 2006-10-21  Bruno Haible  <bruno@clisp.org>
69963
69964         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69965         Change mostlyclean-local rule to avoid sh syntax error from bash
69966         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
69967
69968 2006-10-23  Jim Meyering  <jim@meyering.net>
69969
69970         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
69971         in place of snprintf.
69972
69973         * modules/inttostr (Files): Add lib/uinttostr.c.
69974         * lib/uinttostr.c (inttostr): New file/function.
69975         * lib/inttostr.h (uinttostr): Declare.
69976         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
69977         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
69978         Add uinttostr.
69979         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
69980
69981 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
69982
69983         * lib/canonicalize.c (ELOOP): Define if not already defined.
69984         Problem reported by Bruno Haible in
69985         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
69986
69987 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
69988
69989         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
69990         Problem reported by Perry Smith and Ville Laurikari.
69991
69992         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
69993         uses.
69994
69995 2006-10-19  Bruno Haible  <bruno@clisp.org>
69996
69997         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
69998         for mingw.
69999
70000 2006-10-19  Bruno Haible  <bruno@clisp.org>
70001
70002         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
70003         Needed for mingw.
70004
70005 2006-10-19  Bruno Haible  <bruno@clisp.org>
70006
70007         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
70008
70009 2006-10-19  Bruno Haible  <bruno@clisp.org>
70010
70011         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
70012         it.
70013
70014 2006-10-19  Bruno Haible  <bruno@clisp.org>
70015
70016         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
70017         invocation.
70018
70019 2006-10-19  Bruno Haible  <bruno@clisp.org>
70020
70021         * gnulib-tool (func_create_testdir): Don't include ftruncate and
70022         mountlist by default.
70023
70024 2006-10-16  Bruno Haible  <bruno@clisp.org>
70025
70026         * lib/c-strstr.c: Include c-strstr.h.
70027
70028 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70029
70030         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
70031         in a slash.
70032
70033 2006-10-18  Bruno Haible  <bruno@clisp.org>
70034
70035         * lib/lock.h [C++]: Wrap definitions in extern "C".
70036
70037 2006-10-18  Bruno Haible  <bruno@clisp.org>
70038
70039         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
70040         gl_LIBOBJS list.
70041
70042 2006-10-18  Bruno Haible  <bruno@clisp.org>
70043
70044         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
70045
70046 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
70047
70048         * lib/xstrtol.h: Include gettext.h.
70049         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
70050         Problem reported by Eric Blake.
70051         * modules/xstrtol (Depends-on): Add gettext-h.
70052
70053 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
70054
70055         * lib/strftime.c (advance): New macro.
70056         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
70057         incomplete type, so you can't add 0 to it.  Problem and patch
70058         reported by Eelco Dolstra for dietlibc.
70059
70060 2006-10-18  Jim Meyering  <jim@meyering.net>
70061
70062         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
70063         type for a local, and rename it: s/up/user_proc/.
70064
70065 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
70066
70067         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
70068         READ_UTMP_USER_PROCESS.
70069         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
70070
70071 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
70072
70073         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
70074         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
70075
70076 2006-10-17  Eric Blake  <ebb9@byu.net>
70077
70078         * lib/sigprocmask.c (sigprocmask): Fix typo.
70079
70080         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
70081
70082         * modules/clean-temp (Makefile.am): Don't add to make output...
70083         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
70084         config.h.
70085
70086 2006-10-17  Bruno Haible  <bruno@clisp.org>
70087
70088         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
70089         differently if DEFAULT_TEXT_DOMAIN is set.
70090
70091 2006-10-16  Bruno Haible  <bruno@clisp.org>
70092
70093         * lib/clean-temp.c: Include fwriteerror.h.
70094
70095 2006-10-16  Bruno Haible  <bruno@clisp.org>
70096
70097         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
70098
70099 2006-10-16  Bruno Haible  <bruno@clisp.org>
70100
70101         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
70102         * lib/sigprocmask.h: Include <sys/types.h>.
70103         (sigset_t): Use the system's definition if present.
70104
70105 2006-10-17  Eric Blake  <ebb9@byu.net>
70106
70107         * lib/xvasprintf.c (includes): Assume config.h.
70108         * lib/xasprintf.c (includes): Likewise.
70109
70110 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
70111
70112         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
70113         at least as wide as intmax_t.
70114
70115 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
70116
70117         (Imported from Automake.)
70118         * build-aux/gnupload: Update to version 1.1 of directive file.
70119
70120 2006-10-16  Eric Blake  <ebb9@byu.net>
70121
70122         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
70123         match Automake 1.10a.
70124
70125 2006-10-14  Bruno Haible  <bruno@clisp.org>
70126
70127         * modules/sigprocmask: New file.
70128         * lib/sigprocmask.h: New file.
70129         * lib/sigprocmask.c: New file.
70130         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
70131         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
70132         request sigprocmask.o.
70133         (gl_PREREQ_SIGPROCMASK): New macro.
70134         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
70135         (Depends-on): Add sigprocmask.
70136         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
70137         gt_SIGNALBLOCKING. Test for 'raise' only once.
70138         * lib/fatal-signal.c: Include sigprocmask.h.
70139         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
70140         unblock_fatal_signals): Define always.
70141         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70142         sigprocmask.
70143
70144 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
70145
70146         Sync from Automake.
70147         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
70148         which incorrectly sets the mode of an existing destination
70149         directory.  In some cases the unpatched install-sh could do the
70150         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
70151         system.  We hope this is rare in practice, but it's clearly worth
70152         fixing.  Problem reported by Alex Unleashed in
70153         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
70154         Also, don't bother to check for -m bugs unless we're using -m;
70155         suggested by Stepan Kasal.
70156
70157 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70158
70159         Sync from Automake.
70160         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
70161         `-c' flag, so they appear at the same position as in %FASTDEP%
70162         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
70163         which ignores unknown options only after the first non-option.
70164         Bug report against M4 by Nelson H. F. Beebe.
70165
70166 2006-10-13  Jim Meyering  <jim@meyering.net>
70167
70168         Fix a bug in yesterday's change.
70169         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
70170         p->fts_statp->st_dev would be used uninitialized.
70171         Ensures that we always call fts_stat on the very first entry.
70172         Miklos Szeredi reported that find -xdev stopped working.
70173
70174 2006-10-12  Bruno Haible  <bruno@clisp.org>
70175
70176         * gnulib-tool (func_get_automake_snippet): Append an automatically
70177         computed EXTRA_DIST augmentation.
70178         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
70179         * modules/alloca-opt (Makefile.am): Likewise.
70180         * modules/allocsa (Makefile.am): Likewise.
70181         * modules/arcfour (Makefile.am): Likewise.
70182         * modules/arctwo (Makefile.am): Likewise.
70183         * modules/argmatch (Makefile.am): Likewise.
70184         * modules/argz (Makefile.am): Likewise.
70185         * modules/atexit (Makefile.am): Likewise.
70186         * modules/backupfile (Makefile.am): Likewise.
70187         * modules/byteswap (Makefile.am): Likewise.
70188         * modules/c-strtod (Makefile.am): Likewise.
70189         * modules/c-strtold (Makefile.am): Likewise.
70190         * modules/calloc (Makefile.am): Likewise.
70191         * modules/canon-host (Makefile.am): Likewise.
70192         * modules/canonicalize (Makefile.am): Likewise.
70193         * modules/chdir-long (Makefile.am): Likewise.
70194         * modules/chdir-safer (Makefile.am): Likewise.
70195         * modules/check-version (Makefile.am): Likewise.
70196         * modules/chown (Makefile.am): Likewise.
70197         * modules/cloexec (Makefile.am): Likewise.
70198         * modules/close-stream (Makefile.am): Likewise.
70199         * modules/closeout (Makefile.am): Likewise.
70200         * modules/crc (Makefile.am): Likewise.
70201         * modules/csharpexec (Makefile.am): Likewise.
70202         * modules/cycle-check (Makefile.am): Likewise.
70203         * modules/des (Makefile.am): Likewise.
70204         * modules/dev-ino (Makefile.am): Likewise.
70205         * modules/dirfd (Makefile.am): Likewise.
70206         * modules/dirname (Makefile.am): Likewise.
70207         * modules/dup2 (Makefile.am): Likewise.
70208         * modules/eealloc (Makefile.am): Likewise.
70209         * modules/error (Makefile.am): Likewise.
70210         * modules/euidaccess (Makefile.am): Likewise.
70211         * modules/exclude (Makefile.am): Likewise.
70212         * modules/exitfail (Makefile.am): Likewise.
70213         * modules/fcntl-safer (Makefile.am): Likewise.
70214         * modules/fcntl (Makefile.am): Likewise.
70215         * modules/file-type (Makefile.am): Likewise.
70216         * modules/fileblocks (Makefile.am): Likewise.
70217         * modules/filemode (Makefile.am): Likewise.
70218         * modules/filenamecat (Makefile.am): Likewise.
70219         * modules/fnmatch (Makefile.am): Likewise.
70220         * modules/fopen-safer (Makefile.am): Likewise.
70221         * modules/fpending (Makefile.am): Likewise.
70222         * modules/fprintftime (Makefile.am): Likewise.
70223         * modules/free (Makefile.am): Likewise.
70224         * modules/fsusage (Makefile.am): Likewise.
70225         * modules/ftruncate (Makefile.am): Likewise.
70226         * modules/fts (Makefile.am): Likewise.
70227         * modules/gc-arcfour (Makefile.am): Likewise.
70228         * modules/gc-des (Makefile.am): Likewise.
70229         * modules/gc-hmac-md5 (Makefile.am): Likewise.
70230         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
70231         * modules/gc-md4 (Makefile.am): Likewise.
70232         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
70233         * modules/gc-sha1 (Makefile.am): Likewise.
70234         * modules/gc (Makefile.am): Likewise.
70235         * modules/getaddrinfo (Makefile.am): Likewise.
70236         * modules/getcwd (Makefile.am): Likewise.
70237         * modules/getdelim (Makefile.am): Likewise.
70238         * modules/getdomainname (Makefile.am): Likewise.
70239         * modules/getgroups (Makefile.am): Likewise.
70240         * modules/gethostname (Makefile.am): Likewise.
70241         * modules/gethrxtime (Makefile.am): Likewise.
70242         * modules/getline (Makefile.am): Likewise.
70243         * modules/getloadavg (Makefile.am): Likewise.
70244         * modules/getlogin_r (Makefile.am): Likewise.
70245         * modules/getndelim2 (Makefile.am): Likewise.
70246         * modules/getopt (Makefile.am): Likewise.
70247         * modules/getpagesize (Makefile.am): Likewise.
70248         * modules/getpass-gnu (Makefile.am): Likewise.
70249         * modules/getpass (Makefile.am): Likewise.
70250         * modules/getsubopt (Makefile.am): Likewise.
70251         * modules/gettime (Makefile.am): Likewise.
70252         * modules/gettimeofday (Makefile.am): Likewise.
70253         * modules/getugroups (Makefile.am): Likewise.
70254         * modules/getusershell (Makefile.am): Likewise.
70255         * modules/glob (Makefile.am): Likewise.
70256         * modules/group-member (Makefile.am): Likewise.
70257         * modules/hard-locale (Makefile.am): Likewise.
70258         * modules/hash (Makefile.am): Likewise.
70259         * modules/hmac-md5 (Makefile.am): Likewise.
70260         * modules/hmac-sha1 (Makefile.am): Likewise.
70261         * modules/human (Makefile.am): Likewise.
70262         * modules/idcache (Makefile.am): Likewise.
70263         * modules/imaxabs (Makefile.am): Likewise.
70264         * modules/imaxdiv (Makefile.am): Likewise.
70265         * modules/inet_ntop (Makefile.am): Likewise.
70266         * modules/inet_pton (Makefile.am): Likewise.
70267         * modules/intprops (Makefile.am): Likewise.
70268         * modules/inttostr (Makefile.am): Likewise.
70269         * modules/inttypes (Makefile.am): Likewise.
70270         * modules/isapipe (Makefile.am): Likewise.
70271         * modules/javaversion (Makefile.am): Likewise.
70272         * modules/lchmod (Makefile.am): Likewise.
70273         * modules/lchown (Makefile.am): Likewise.
70274         * modules/localcharset (Makefile.am): Likewise.
70275         * modules/long-options (Makefile.am): Likewise.
70276         * modules/lstat (Makefile.am): Likewise.
70277         * modules/malloc (Makefile.am): Likewise.
70278         * modules/mathl (Makefile.am): Likewise.
70279         * modules/mbchar (Makefile.am): Likewise.
70280         * modules/md2 (Makefile.am): Likewise.
70281         * modules/md4 (Makefile.am): Likewise.
70282         * modules/md5 (Makefile.am): Likewise.
70283         * modules/memcasecmp (Makefile.am): Likewise.
70284         * modules/memchr (Makefile.am): Likewise.
70285         * modules/memcmp (Makefile.am): Likewise.
70286         * modules/memcoll (Makefile.am): Likewise.
70287         * modules/memcpy (Makefile.am): Likewise.
70288         * modules/memmem (Makefile.am): Likewise.
70289         * modules/memmove (Makefile.am): Likewise.
70290         * modules/mempcpy (Makefile.am): Likewise.
70291         * modules/memrchr (Makefile.am): Likewise.
70292         * modules/memset (Makefile.am): Likewise.
70293         * modules/memxor (Makefile.am): Likewise.
70294         * modules/mkancesdirs (Makefile.am): Likewise.
70295         * modules/mkdir-p (Makefile.am): Likewise.
70296         * modules/mkdir (Makefile.am): Likewise.
70297         * modules/mkdtemp (Makefile.am): Likewise.
70298         * modules/mkstemp (Makefile.am): Likewise.
70299         * modules/mktime (Makefile.am): Likewise.
70300         * modules/modechange (Makefile.am): Likewise.
70301         * modules/mountlist (Makefile.am): Likewise.
70302         * modules/nanosleep (Makefile.am): Likewise.
70303         * modules/obstack (Makefile.am): Likewise.
70304         * modules/openat (Makefile.am): Likewise.
70305         * modules/pagealign_alloc (Makefile.am): Likewise.
70306         * modules/pathmax (Makefile.am): Likewise.
70307         * modules/physmem (Makefile.am): Likewise.
70308         * modules/poll (Makefile.am): Likewise.
70309         * modules/posixtm (Makefile.am): Likewise.
70310         * modules/posixver (Makefile.am): Likewise.
70311         * modules/putenv (Makefile.am): Likewise.
70312         * modules/quote (Makefile.am): Likewise.
70313         * modules/quotearg (Makefile.am): Likewise.
70314         * modules/raise (Makefile.am): Likewise.
70315         * modules/read-file (Makefile.am): Likewise.
70316         * modules/readline (Makefile.am): Likewise.
70317         * modules/readlink (Makefile.am): Likewise.
70318         * modules/readtokens (Makefile.am): Likewise.
70319         * modules/readutmp (Makefile.am): Likewise.
70320         * modules/realloc (Makefile.am): Likewise.
70321         * modules/regex (Makefile.am): Likewise.
70322         * modules/rename-dest-slash (Makefile.am): Likewise.
70323         * modules/rename (Makefile.am): Likewise.
70324         * modules/rijndael (Makefile.am): Likewise.
70325         * modules/rmdir (Makefile.am): Likewise.
70326         * modules/rpmatch (Makefile.am): Likewise.
70327         * modules/safe-read (Makefile.am): Likewise.
70328         * modules/safe-write (Makefile.am): Likewise.
70329         * modules/same-inode (Makefile.am): Likewise.
70330         * modules/same (Makefile.am): Likewise.
70331         * modules/save-cwd (Makefile.am): Likewise.
70332         * modules/savedir (Makefile.am): Likewise.
70333         * modules/setenv (Makefile.am): Likewise.
70334         * modules/settime (Makefile.am): Likewise.
70335         * modules/sha1 (Makefile.am): Likewise.
70336         * modules/sig2str (Makefile.am): Likewise.
70337         * modules/snprintf (Makefile.am): Likewise.
70338         * modules/stat-macros (Makefile.am): Likewise.
70339         * modules/stat-time (Makefile.am): Likewise.
70340         * modules/stdbool (Makefile.am): Likewise.
70341         * modules/stdint (Makefile.am): Likewise.
70342         * modules/stdlib-safer (Makefile.am): Likewise.
70343         * modules/stpcpy (Makefile.am): Likewise.
70344         * modules/stpncpy (Makefile.am): Likewise.
70345         * modules/strcase (Makefile.am): Likewise.
70346         * modules/strcasestr (Makefile.am): Likewise.
70347         * modules/strchrnul (Makefile.am): Likewise.
70348         * modules/strcspn (Makefile.am): Likewise.
70349         * modules/strdup (Makefile.am): Likewise.
70350         * modules/strerror (Makefile.am): Likewise.
70351         * modules/strftime (Makefile.am): Likewise.
70352         * modules/strndup (Makefile.am): Likewise.
70353         * modules/strnlen (Makefile.am): Likewise.
70354         * modules/strpbrk (Makefile.am): Likewise.
70355         * modules/strsep (Makefile.am): Likewise.
70356         * modules/strstr (Makefile.am): Likewise.
70357         * modules/strtod (Makefile.am): Likewise.
70358         * modules/strtoimax (Makefile.am): Likewise.
70359         * modules/strtok_r (Makefile.am): Likewise.
70360         * modules/strtol (Makefile.am): Likewise.
70361         * modules/strtoll (Makefile.am): Likewise.
70362         * modules/strtoul (Makefile.am): Likewise.
70363         * modules/strtoull (Makefile.am): Likewise.
70364         * modules/strtoumax (Makefile.am): Likewise.
70365         * modules/strverscmp (Makefile.am): Likewise.
70366         * modules/sys_socket (Makefile.am): Likewise.
70367         * modules/sys_stat (Makefile.am): Likewise.
70368         * modules/sysexits (Makefile.am): Likewise.
70369         * modules/time_r (Makefile.am): Likewise.
70370         * modules/timegm (Makefile.am): Likewise.
70371         * modules/timespec (Makefile.am): Likewise.
70372         * modules/tmpfile-safer (Makefile.am): Likewise.
70373         * modules/trim (Makefile.am): Likewise.
70374         * modules/unistd-safer (Makefile.am): Likewise.
70375         * modules/unlinkdir (Makefile.am): Likewise.
70376         * modules/unlocked-io (Makefile.am): Likewise.
70377         * modules/userspec (Makefile.am): Likewise.
70378         * modules/utime (Makefile.am): Likewise.
70379         * modules/utimecmp (Makefile.am): Likewise.
70380         * modules/utimens (Makefile.am): Likewise.
70381         * modules/vasnprintf (Makefile.am): Likewise.
70382         * modules/vasprintf (Makefile.am): Likewise.
70383         * modules/vsnprintf (Makefile.am): Likewise.
70384         * modules/xalloc (Makefile.am): Likewise.
70385         * modules/xgetcwd (Makefile.am): Likewise.
70386         * modules/xnanosleep (Makefile.am): Likewise.
70387         * modules/xreadlink (Makefile.am): Likewise.
70388         * modules/xstrtod (Makefile.am): Likewise.
70389         * modules/xstrtol (Makefile.am): Likewise.
70390         * modules/xstrtold (Makefile.am): Likewise.
70391         * modules/yesno (Makefile.am): Likewise.
70392         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
70393
70394 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
70395
70396         * modules/error (Makefile.am): Distribute files through
70397         EXTRA_DIST, not lib_SOURCES.
70398
70399 2006-10-12  Eric Blake  <ebb9@byu.net>
70400
70401         * modules/error (Makefile.am): Distribute files in /lib.
70402         * modules/obstack (Makefile.am): Likewise.
70403
70404 2006-10-12  Bruno Haible  <bruno@clisp.org>
70405
70406         * modules/acl (Makefile.am): Distribute all files in lib/ through
70407         EXTRA_DIST.
70408         * modules/arcfour (Makefile.am): Likewise.
70409         * modules/arctwo (Makefile.am): Likewise.
70410         * modules/argmatch (Makefile.am): Likewise.
70411         * modules/argz (Makefile.am): Likewise.
70412         * modules/atexit (Makefile.am): Likewise.
70413         * modules/backupfile (Makefile.am): Likewise.
70414         * modules/c-strtod (Makefile.am): Likewise.
70415         * modules/c-strtold (Makefile.am): Likewise.
70416         * modules/calloc (Makefile.am): Likewise.
70417         * modules/canon-host (Makefile.am): Likewise.
70418         * modules/canonicalize (Makefile.am): Likewise.
70419         * modules/chdir-long (Makefile.am): Likewise.
70420         * modules/chdir-safer (Makefile.am): Likewise.
70421         * modules/check-version (Makefile.am): Likewise.
70422         * modules/chown (Makefile.am): Likewise.
70423         * modules/cloexec (Makefile.am): Likewise.
70424         * modules/close-stream (Makefile.am): Likewise.
70425         * modules/closeout (Makefile.am): Likewise.
70426         * modules/crc (Makefile.am): Likewise.
70427         * modules/cycle-check (Makefile.am): Likewise.
70428         * modules/des (Makefile.am): Likewise.
70429         * modules/dirfd (Makefile.am): Likewise.
70430         * modules/dirname (Makefile.am): Likewise.
70431         * modules/dup2 (Makefile.am): Likewise.
70432         * modules/euidaccess (Makefile.am): Likewise.
70433         * modules/exclude (Makefile.am): Likewise.
70434         * modules/exitfail (Makefile.am): Likewise.
70435         * modules/fcntl-safer (Makefile.am): Likewise.
70436         * modules/file-type (Makefile.am): Likewise.
70437         * modules/fileblocks (Makefile.am): Likewise.
70438         * modules/filemode (Makefile.am): Likewise.
70439         * modules/filenamecat (Makefile.am): Likewise.
70440         * modules/fnmatch (Makefile.am): Likewise.
70441         * modules/fopen-safer (Makefile.am): Likewise.
70442         * modules/fpending (Makefile.am): Likewise.
70443         * modules/fprintftime (Makefile.am): Likewise.
70444         * modules/free (Makefile.am): Likewise.
70445         * modules/fsusage (Makefile.am): Likewise.
70446         * modules/ftruncate (Makefile.am): Likewise.
70447         * modules/fts (Makefile.am): Likewise.
70448         * modules/gc (Makefile.am): Likewise.
70449         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
70450         * modules/getaddrinfo (Makefile.am): Likewise.
70451         * modules/getcwd (Makefile.am): Likewise.
70452         * modules/getdelim (Makefile.am): Likewise.
70453         * modules/getdomainname (Makefile.am): Likewise.
70454         * modules/getgroups (Makefile.am): Likewise.
70455         * modules/gethostname (Makefile.am): Likewise.
70456         * modules/gethrxtime (Makefile.am): Likewise.
70457         * modules/getline (Makefile.am): Likewise.
70458         * modules/getloadavg (Makefile.am): Likewise.
70459         * modules/getlogin_r (Makefile.am): Likewise.
70460         * modules/getopt (Makefile.am): Likewise.
70461         * modules/getpass (Makefile.am): Likewise.
70462         * modules/getpass-gnu (Makefile.am): Likewise.
70463         * modules/getsubopt (Makefile.am): Likewise.
70464         * modules/gettime (Makefile.am): Likewise.
70465         * modules/gettimeofday (Makefile.am): Likewise.
70466         * modules/getugroups (Makefile.am): Likewise.
70467         * modules/getusershell (Makefile.am): Likewise.
70468         * modules/glob (Makefile.am): Likewise.
70469         * modules/group-member (Makefile.am): Likewise.
70470         * modules/hard-locale (Makefile.am): Likewise.
70471         * modules/hash (Makefile.am): Likewise.
70472         * modules/hmac-md5 (Makefile.am): Likewise.
70473         * modules/hmac-sha1 (Makefile.am): Likewise.
70474         * modules/human (Makefile.am): Likewise.
70475         * modules/idcache (Makefile.am): Likewise.
70476         * modules/imaxabs (Makefile.am): Likewise.
70477         * modules/imaxdiv (Makefile.am): Likewise.
70478         * modules/inet_ntop (Makefile.am): Likewise.
70479         * modules/inet_pton (Makefile.am): Likewise.
70480         * modules/inttostr (Makefile.am): Likewise.
70481         * modules/isapipe (Makefile.am): Likewise.
70482         * modules/lchown (Makefile.am): Likewise.
70483         * modules/long-options (Makefile.am): Likewise.
70484         * modules/lstat (Makefile.am): Likewise.
70485         * modules/malloc (Makefile.am): Likewise.
70486         * modules/mathl (Makefile.am): Likewise.
70487         * modules/mbchar (Makefile.am): Likewise.
70488         * modules/md2 (Makefile.am): Likewise.
70489         * modules/md4 (Makefile.am): Likewise.
70490         * modules/md5 (Makefile.am): Likewise.
70491         * modules/memcasecmp (Makefile.am): Likewise.
70492         * modules/memchr (Makefile.am): Likewise.
70493         * modules/memcmp (Makefile.am): Likewise.
70494         * modules/memcoll (Makefile.am): Likewise.
70495         * modules/memcpy (Makefile.am): Likewise.
70496         * modules/memmem (Makefile.am): Likewise.
70497         * modules/memmove (Makefile.am): Likewise.
70498         * modules/mempcpy (Makefile.am): Likewise.
70499         * modules/memrchr (Makefile.am): Likewise.
70500         * modules/memset (Makefile.am): Likewise.
70501         * modules/memxor (Makefile.am): Likewise.
70502         * modules/mkancesdirs (Makefile.am): Likewise.
70503         * modules/mkdir (Makefile.am): Likewise.
70504         * modules/mkdir-p (Makefile.am): Likewise.
70505         * modules/mkdtemp (Makefile.am): Likewise.
70506         * modules/mkstemp (Makefile.am): Likewise.
70507         * modules/mktime (Makefile.am): Likewise.
70508         * modules/modechange (Makefile.am): Likewise.
70509         * modules/mountlist (Makefile.am): Likewise.
70510         * modules/nanosleep (Makefile.am): Likewise.
70511         * modules/openat (Makefile.am): Likewise.
70512         * modules/pagealign_alloc (Makefile.am): Likewise.
70513         * modules/physmem (Makefile.am): Likewise.
70514         * modules/poll (Makefile.am): Likewise.
70515         * modules/posixtm (Makefile.am): Likewise.
70516         * modules/posixver (Makefile.am): Likewise.
70517         * modules/putenv (Makefile.am): Likewise.
70518         * modules/quote (Makefile.am): Likewise.
70519         * modules/quotearg (Makefile.am): Likewise.
70520         * modules/raise (Makefile.am): Likewise.
70521         * modules/read-file (Makefile.am): Likewise.
70522         * modules/readline (Makefile.am): Likewise.
70523         * modules/readlink (Makefile.am): Likewise.
70524         * modules/readtokens (Makefile.am): Likewise.
70525         * modules/readutmp (Makefile.am): Likewise.
70526         * modules/realloc (Makefile.am): Likewise.
70527         * modules/regex (Makefile.am): Likewise.
70528         * modules/rename (Makefile.am): Likewise.
70529         * modules/rename-dest-slash (Makefile.am): Likewise.
70530         * modules/rijndael (Makefile.am): Likewise.
70531         * modules/rmdir (Makefile.am): Likewise.
70532         * modules/rpmatch (Makefile.am): Likewise.
70533         * modules/safe-read (Makefile.am): Likewise.
70534         * modules/safe-write (Makefile.am): Likewise.
70535         * modules/same (Makefile.am): Likewise.
70536         * modules/save-cwd (Makefile.am): Likewise.
70537         * modules/savedir (Makefile.am): Likewise.
70538         * modules/setenv (Makefile.am): Likewise.
70539         * modules/settime (Makefile.am): Likewise.
70540         * modules/sha1 (Makefile.am): Likewise.
70541         * modules/sig2str (Makefile.am): Likewise.
70542         * modules/snprintf (Makefile.am): Likewise.
70543         * modules/stdlib-safer (Makefile.am): Likewise.
70544         * modules/stpcpy (Makefile.am): Likewise.
70545         * modules/stpncpy (Makefile.am): Likewise.
70546         * modules/strcase (Makefile.am): Likewise.
70547         * modules/strcasestr (Makefile.am): Likewise.
70548         * modules/strchrnul (Makefile.am): Likewise.
70549         * modules/strcspn (Makefile.am): Likewise.
70550         * modules/strdup (Makefile.am): Likewise.
70551         * modules/strerror (Makefile.am): Likewise.
70552         * modules/strftime (Makefile.am): Likewise.
70553         * modules/strndup (Makefile.am): Likewise.
70554         * modules/strnlen (Makefile.am): Likewise.
70555         * modules/strpbrk (Makefile.am): Likewise.
70556         * modules/strsep (Makefile.am): Likewise.
70557         * modules/strstr (Makefile.am): Likewise.
70558         * modules/strtod (Makefile.am): Likewise.
70559         * modules/strtoimax (Makefile.am): Likewise.
70560         * modules/strtok_r (Makefile.am): Likewise.
70561         * modules/strtol (Makefile.am): Likewise.
70562         * modules/strtoll (Makefile.am): Likewise.
70563         * modules/strtoul (Makefile.am): Likewise.
70564         * modules/strtoull (Makefile.am): Likewise.
70565         * modules/strtoumax (Makefile.am): Likewise.
70566         * modules/strverscmp (Makefile.am): Likewise.
70567         * modules/time_r (Makefile.am): Likewise.
70568         * modules/timegm (Makefile.am): Likewise.
70569         * modules/tmpfile-safer (Makefile.am): Likewise.
70570         * modules/unistd-safer (Makefile.am): Likewise.
70571         * modules/unlinkdir (Makefile.am): Likewise.
70572         * modules/userspec (Makefile.am): Likewise.
70573         * modules/utime (Makefile.am): Likewise.
70574         * modules/utimecmp (Makefile.am): Likewise.
70575         * modules/utimens (Makefile.am): Likewise.
70576         * modules/vasnprintf (Makefile.am): Likewise.
70577         * modules/vasprintf (Makefile.am): Likewise.
70578         * modules/vsnprintf (Makefile.am): Likewise.
70579         * modules/xalloc (Makefile.am): Likewise.
70580         * modules/xgetcwd (Makefile.am): Likewise.
70581         * modules/xnanosleep (Makefile.am): Likewise.
70582         * modules/xreadlink (Makefile.am): Likewise.
70583         * modules/xstrtod (Makefile.am): Likewise.
70584         * modules/xstrtol (Makefile.am): Likewise.
70585         * modules/xstrtold (Makefile.am): Likewise.
70586         * modules/yesno (Makefile.am): Likewise.
70587
70588 2006-10-12  Jim Meyering  <jim@meyering.net>
70589
70590         * m4/getloadavg.m4: Revert the change below.
70591
70592         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
70593         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
70594         fail with a symlink, which is what coreutils' ./bootstrap now
70595         creates by default.
70596
70597 2006-10-12  Bruno Haible  <bruno@clisp.org>
70598
70599         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
70600         mingw.
70601         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
70602         MSVC and mingw explicitly.
70603
70604 2006-10-11  Simon Josefsson  <jas@extundo.com>
70605             Bruno Haible  <bruno@clisp.org>
70606
70607         Add support for multiple gnulib-tool invocations in the scope of a
70608         single configure.ac file.
70609         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
70610         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
70611         with the same contents as the _LIBADD variable.
70612         (func_emit_initmacro_start, func_emit_initmacro_end,
70613         func_emit_initmacro_done): New functions.
70614         (func_import, func_create_testdir): Invoke them. Allow the identifiers
70615         gl_LIBOBJS and gl_LTLIBOBJS.
70616
70617 2006-10-11  Bruno Haible  <bruno@clisp.org>
70618
70619         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
70620         (func_create_testdir): Don't create po/Makefile.am, don't invoke
70621         autoreconf. Instead, invoke autopoint explicitly but move back the
70622         *.m4 files from gnulib.
70623
70624 2006-10-11  Bruno Haible  <bruno@clisp.org>
70625
70626         * gnulib-tool (func_usage): Make module names after --create-testdir
70627         optional.
70628         (func_create_testdir): If no module was specified, use nearly all
70629         modules.
70630
70631 2006-10-12  Jim Meyering  <jim@meyering.net>
70632
70633         Big performance improvement for fts-based tools that use FTS_NOSTAT.
70634         Avoid spurious inode-mismatch problems on non-POSIX file systems.
70635         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
70636         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
70637         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
70638         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
70639         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
70640         (fts_set_stat_required): New function.
70641         (fts_open): Defer the calls to fts_stat, if possible or requested.
70642         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
70643         into fts_stat itself.
70644         (fts_read): Perform any required (deferred) fts_stat call.
70645         (fts_build): Likewise, for the directory we're about to open and read.
70646         In the readdir loop, carefully decide whether each entry will require
70647         an eventual call to fts_stat, using dirent.d_type info if available.
70648         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
70649         a command line argument into this function.  Update all callers.
70650         Map a return value of FTS_DOT to FTS_D for a command line argument.
70651         * modules/fts (Depends-on): Add d-type.  Alphabetize.
70652         Thanks to Miklos Szeredi for his tenacity and for the initial
70653         bug report about "find" failing on a FUSE-based file system.
70654
70655         * lib/fts.c (fts_open): Use consistent indentation.
70656
70657 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
70658
70659         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
70660         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
70661         reported by Jim Meyering.  All uses of cache variables renamed
70662         to match Autoconf's.
70663         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
70664         the other one.
70665
70666         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
70667         Fix misspelling in diagnostic.
70668
70669 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
70670
70671         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
70672         defined.  Problem reported by Matthew Woehlke.
70673
70674         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
70675         Add support for Tandem NonStop R series.
70676         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
70677         Use new macro.
70678
70679         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
70680         (has_trailing_slash): Omit size arg; all callers changed.
70681         Omit 'inline', since it doesn't help performance and we'd
70682         need to configure it.
70683         Don't count //, ///, etc. as having a trailing slash.
70684         As a side effect, this removes a C99ism reported by Matthew Woehlke.
70685         (rpl_rename_dest_slash): On failure, use rename's errno rather
70686         than (in some cases) an incorrect or junk errno.
70687         Simplify code by removing need to compute length; this does
70688         cause it to make two passes instead of one over the file name,
70689         but it's worth it.
70690
70691         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
70692         change, since Autoconf's version may no longer be appropriate now
70693         that we are using CVS Autoconf's version.  Add support for Tandem.
70694
70695 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
70696             Bruno Haible  <bruno@clisp.org>
70697
70698         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
70699         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
70700         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
70701         gl_AC_TYPE_LONG_LONG.
70702
70703         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
70704         instead of HAVE_LONG_LONG.
70705         * lib/printf-args.c (printf_fetchargs): Likewise.
70706         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
70707         * lib/vasnprintf.c (VASNPRINTF): Likewise.
70708         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
70709         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
70710         gl_AC_TYPE_LONG_LONG.
70711
70712 2006-10-11  Bruno Haible  <bruno@clisp.org>
70713
70714         * m4/longlong.m4: Add comments.
70715         * m4/ulonglong.m4: Likewise.
70716
70717 2006-10-10  Bruno Haible  <bruno@clisp.org>
70718
70719         Make it possible to #define stpcpy, strdup to aliases.
70720         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
70721         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
70722
70723 2006-10-10  Bruno Haible  <bruno@clisp.org>
70724
70725         Make it possible to #define gcd to an alias.
70726         * lib/gcd.c: Include config.h.
70727
70728 2006-10-10  Bruno Haible  <bruno@clisp.org>
70729
70730         Make it possible to #define c_isascii to an alias.
70731         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
70732         defined. Undefine the macros before defining them, to avoid gcc
70733         warnings.
70734         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
70735         define NO_C_CTYPE_MACROS early.
70736
70737 2006-10-10  Bruno Haible  <bruno@clisp.org>
70738
70739         Make it possible to #define set_program_name to an alias.
70740         * lib/progname.c: Don't undefine set_program_name; instead, undefine
70741         ENABLE_RELOCATABLE early.
70742
70743 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
70744
70745         Port to Tandem NSK OSS, which has 64-bit signed int but at most
70746         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
70747         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
70748         More generally, don't assume that 64-bit signed int is available
70749         if unsigned int is, and vice versa.
70750         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
70751         unsigned symbols, not on their signed counterparts.
70752         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
70753         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
70754         (UINT64_C, UINTMAX_C):
70755         Likewise.
70756         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
70757         unsigned counterparts.
70758         (Have_long_long, Unsigned): New macros.
70759         (Int): Renamed from INT.
70760         (strtoimax): Use the new macros.
70761         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
70762         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
70763         * modules/inttypes (inttypes.h): Substitute
70764         HAVE_UNSIGNED_LONG_LONG_INT.
70765         * modules/stdint (stdint.h): Likewise.
70766         (Files): Add m4/ulonglong.m4.
70767
70768 2006-10-10  Bruno Haible  <bruno@clisp.org>
70769
70770         Fix a gcc -Wshadow warning.
70771         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
70772         to 'bucket'.
70773         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
70774         gl_linked_indexof_from_to): Likewise.
70775         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
70776         Likewise.
70777         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
70778         Likewise.
70779         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
70780         Reported by Eric Blake.
70781
70782 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
70783
70784         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
70785         for NetBSD.  Problem reported by Bruno Haible.
70786
70787 2006-10-09  Jim Meyering  <jim@meyering.net>
70788
70789         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
70790         Patch from Bruno Haible.
70791
70792 2006-10-09  Jim Meyering  <jim@meyering.net>
70793
70794         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
70795         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
70796         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
70797
70798 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
70799
70800         Don't include <config.h> twice; this doesn't work in some cases,
70801         e.g., when config.h has "#define intmax_t long long int" and
70802         we include <config.h>, <inttypes.h>, <config.h> in that order.
70803         Problem reported by Matthew Woehlke in:
70804         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
70805         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
70806         * lib/fts-cycle.c: Don't include config.h.
70807         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
70808         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
70809         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
70810         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
70811         inttypes.h.
70812         * lib/xstrtoumax.c: Likewise.
70813         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
70814         __strtol and the like, so that this module is more like its siblings.
70815         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
70816         Remove; no longer needed now that we assume gnulib inttypes.h.
70817
70818 2006-10-08  Bruno Haible  <bruno@clisp.org>
70819
70820         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
70821         option.
70822
70823 2006-10-07  Jim Meyering  <jim@meyering.net>
70824
70825         * modules/inttypes (inttypes.h): Revert what seems to have been
70826         an inadvertent part of today's change: use "|", not "/" in the
70827         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
70828
70829 2006-10-07  Bruno Haible  <bruno@clisp.org>
70830
70831         * modules/sublist: New file.
70832
70833 2006-10-07  Bruno Haible  <bruno@clisp.org>
70834
70835         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
70836         * modules/argz (argz.h): Likewise.
70837         * modules/arpa_inet (arpa/inet.h): Likewise.
70838         * modules/byteswap (byteswap.h): Likewise.
70839         * modules/configmake (configmake.h): Likewise.
70840         * modules/fcntl (fcntl.h): Likewise.
70841         * modules/fnmatch (fnmatch.h): Likewise.
70842         * modules/getopt (getopt.h): Likewise.
70843         * modules/glob (glob.h): Likewise.
70844         * modules/inttypes (inttypes.h): Likewise.
70845         * modules/netinet_in (netinet/in.h): Likewise.
70846         * modules/poll (poll.h): Likewise.
70847         * modules/stdbool (stdbool.h): Likewise.
70848         * modules/stdint (stdint.h): Likewise.
70849         * modules/sys_select (sys/select.h): Likewise.
70850         * modules/sys_socket (sys/socket.h): Likewise.
70851         * modules/sys_stat (sys/stat.h): Likewise.
70852         * modules/sysexits (sysexits.h): Likewise.
70853         * modules/unistd (unistd.h): Likewise.
70854         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70855         Add a "DO NOT EDIT" comment to the generated file.
70856         (func_import): Likewise for gnulib-comp.m4.
70857
70858 2006-10-07  Bruno Haible  <bruno@clisp.org>
70859
70860         * lib/gl_sublist.h: New file.
70861         * lib/gl_sublist.c: New file.
70862
70863 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
70864
70865         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
70866         name (relative to the original working directory) and the file
70867         name component (relative to the temporary working directory).  All
70868         callers changed.
70869         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
70870         * lib/mkdir-p.c (make_dir_parents): Likewise.
70871         * lib/mkdir-p.h (make_dir_parents): Likewise.
70872
70873 2006-10-06  Eric Blake  <ebb9@byu.net>
70874
70875         Define several macros for use by the clean-temp module.
70876         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
70877         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
70878         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
70879
70880         * lib/clean-temp.h (close_stream_temp): New declaration.
70881         * lib/clean-temp.c (includes): Pull in headers according to what
70882         other modules are in use.
70883         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
70884
70885 2006-10-06  Bruno Haible  <bruno@clisp.org>
70886
70887         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
70888         instead of fopen, fwriteerror.
70889
70890 2006-10-06  Bruno Haible  <bruno@clisp.org>
70891
70892         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
70893         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
70894         int.
70895         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
70896         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
70897         Return an error indicator.
70898         Suggested by Eric Blake.
70899
70900 2006-10-06  Bruno Haible  <bruno@clisp.org>
70901
70902         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
70903         Reported by Eric Blake.
70904
70905 2006-10-06  Bruno Haible  <bruno@clisp.org>
70906
70907         * modules/closeout (Description): Mention stderr too.
70908
70909 2006-10-06  Bruno Haible  <bruno@clisp.org>
70910         and Paul Eggert  <eggert@cs.ucla.edu>
70911
70912         * lib/closeout.c (close_stdout): Also close stderr.
70913         * lib/closeout.h: Update comment.
70914
70915 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
70916
70917         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
70918         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
70919         * lib/dirchownmod.c: Include lchown.h.
70920         * lib/lchown.c: Don't include files that lchown.h now includes.
70921         Don't declare chown, since lchown.h now does that.
70922         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
70923         (lchown): Define to rpl_chown if lchown is declared but
70924         does not exist.  Declare using a prototype if lchown is not
70925         declared.  Add a copyright notice.
70926         * lib/mkstemp.h: Include <unistd.h>.
70927         * lib/openat.c: Include lchown.h.
70928
70929         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
70930         we now test for that separately.
70931         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
70932         rather than O_NOFOLLOW, when testing whether it's possible to
70933         avoid a race condition reliably.
70934         * lib/savewd.c (savewd_chdir): Likewise.
70935
70936         Remove macros that are no longer needed now that stdint.h is
70937         reliable.
70938         * lib/fsusage.c (UINTMAX_MAX): Remove.
70939         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
70940         * lib/utimecmp.c (SIZE_MAX): Remove.
70941
70942         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
70943
70944         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
70945         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
70946         O_NOATIME works.
70947
70948 2006-10-05  Bruno Haible  <bruno@clisp.org>
70949
70950         * lib/gl_list.h (gl_sortedlist_search_from_to,
70951         gl_sortedlist_indexof_from_to): New declarations.
70952         (gl_list_implementation): New fields sortedlist_search_from_to,
70953         sortedlist_indexof_from_to.
70954         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
70955         inline functions.
70956         * lib/gl_list.c (gl_sortedlist_search_from_to,
70957         gl_sortedlist_indexof_from_to): New functions.
70958         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
70959         function.
70960         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
70961         (gl_array_sortedlist_search_from_to): New function.
70962         (gl_array_list_implementation): Update.
70963         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
70964         function.
70965         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
70966         (gl_carray_sortedlist_search_from_to): New function.
70967         (gl_carray_list_implementation): Update.
70968         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
70969         gl_linked_sortedlist_indexof_from_to): New functions.
70970         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
70971         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
70972         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
70973         gl_tree_sortedlist_indexof_from_to): New functions.
70974         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
70975         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
70976         Update.
70977         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
70978         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
70979         Update.
70980
70981 2006-10-05  Bruno Haible  <bruno@clisp.org>
70982
70983         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
70984         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
70985         (struct gl_list_implementation): Add fields search_from_to,
70986         indexof_from_to. Remove fields search, indexof.
70987         (gl_list_search): Use the search_from_to method.
70988         (gl_list_search_from, gl_list_search_from_to): New functions.
70989         (gl_list_indexof): Use the indexof_from_to method.
70990         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
70991         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
70992         (gl_list_search_from, gl_list_search_from_to): New functions.
70993         (gl_list_indexof): Use the indexof_from_to method.
70994         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
70995         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
70996         gl_array_indexof. Add start_index, end_index arguments.
70997         (gl_array_search_from_to): Renamed from gl_array_search. Add
70998         start_index, end_index arguments.
70999         (gl_array_remove, gl_array_list_implementation): Update.
71000         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
71001         gl_carray_indexof. Add start_index, end_index arguments.
71002         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
71003         start_index, end_index arguments.
71004         (gl_carray_remove, gl_carray_list_implementation): Update.
71005         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
71006         gl_linked_search. Add start_index, end_index arguments.
71007         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
71008         start_index, end_index arguments.
71009         (gl_linked_remove): Update.
71010         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
71011         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
71012         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
71013         field to 'size_t'.
71014         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
71015         gl_tree_search. Add start_index, end_index arguments.
71016         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
71017         start_index, end_index arguments.
71018         (gl_tree_remove): Update.
71019         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
71020         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
71021         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
71022         function.
71023         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
71024         gl_tree_search. Add start_index, end_index arguments.
71025         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
71026         start_index, end_index arguments.
71027         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
71028         Update.
71029         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
71030
71031 2006-10-05  Bruno Haible  <bruno@clisp.org>
71032
71033         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
71034
71035         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
71036         fwriteerror_temp): New declarations.
71037         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
71038         (descriptors): New variable.
71039         (cleanup): First, close the descriptors.
71040         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
71041         fclose_temp, fwriteerror_temp): New functions.
71042
71043 2006-10-04  Jim Meyering  <jim@meyering.net>
71044
71045         * lib/fts.c (fts_open): Tiny comment change.
71046
71047 2006-10-04  Bruno Haible  <bruno@clisp.org>
71048
71049         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
71050         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
71051         gl_LOCK_BODY.
71052         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
71053         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
71054         gl_LOCK_EARLY_BODY.
71055         (gl_LOCK): Require gl_LOCK_BODY.
71056
71057 2006-10-04  Bruno Haible  <bruno@clisp.org>
71058
71059         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
71060         (gl_oset_search_atleast): New declaration.
71061         (struct gl_oset_implementation): Add field 'search_atleast'.
71062         (gl_oset_search_atleast): New inline function.
71063         * lib/gl_oset.c (gl_oset_search_atleast): New function.
71064         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
71065         (gl_array_oset_implementation): Update.
71066         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
71067         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
71068         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
71069
71070 2006-10-04  Bruno Haible  <bruno@clisp.org>
71071
71072         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
71073
71074 2006-10-03  Bruno Haible  <bruno@clisp.org>
71075
71076         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
71077         from gl_avltreehash_list_implementation.
71078
71079 2006-10-03  Bruno Haible  <bruno@clisp.org>
71080
71081         * lib/gl_oset.c (gl_oset_add): Fix return type.
71082
71083 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
71084
71085         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
71086
71087 2006-10-02  Eric Blake  <ebb9@byu.net>
71088
71089         * modules/strnlen (Depends-on): Add extensions.
71090
71091 2006-10-02  Eric Blake  <ebb9@byu.net>
71092
71093         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
71094         definition in 2.60+.
71095
71096 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
71097
71098         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
71099         checks.
71100
71101 2006-10-02  Bruno Haible  <bruno@clisp.org>
71102
71103         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
71104         to the AUTOMAKE_OPTIONS.
71105         Reported by Jim Meyering.
71106
71107 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
71108
71109         Work around bug in Solaris 10 /proc file system:
71110         /proc/self/fd/NNN/.. isn't the parent directory of
71111         the directory whose file descriptor is NNN.  This needs to
71112         be worked around at run time, not compile time, since a
71113         program might be built on Solaris 8, where things work, and
71114         run on Solaris 10.
71115         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
71116         to use the following interface instead:
71117         (OPENAT_BUFFER_SIZE): New macro.
71118         (openat_proc_name): New function.
71119         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
71120         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
71121         Likewise.
71122         * lib/openat-proc.c: New file.
71123         * modules/openat (Files): Add lib/openat-proc.c.
71124         (Depends-on): Add same-inode, stdbool.
71125         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
71126
71127 2006-09-29  Bruno Haible  <bruno@clisp.org>
71128
71129         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
71130         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
71131         argument. Set stdout_closed before testing for ferror, not after.
71132         (fwriteerror, fwriteerror_no_ebadf): New functions.
71133
71134 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71135
71136         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
71137
71138 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
71139
71140         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
71141         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
71142
71143 2006-09-28  Jim Meyering  <jim@meyering.net>
71144
71145         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
71146         Include <unistd.h>.
71147
71148 2006-09-28  Bruno Haible  <bruno@clisp.org>
71149
71150         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
71151         * modules/linkedhash-list (Depends-on): Likewise.
71152         * modules/rbtreehash-list (Depends-on): Likewise.
71153
71154 2006-09-28  Bruno Haible  <bruno@clisp.org>
71155
71156         * lib/strndup.h: Simplify the redefinition of strndup.
71157         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
71158         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
71159
71160 2006-09-28  Bruno Haible  <bruno@clisp.org>
71161
71162         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
71163         * lib/gl_linkedhash_list.c: Likewise.
71164         * lib/gl_rbtreehash_list.c: Likewise.
71165
71166 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
71167
71168         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
71169         getaddrinfo.
71170
71171         * lib/__fpending.h: Don't include <stdio_ext.h> unless
71172         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
71173         it causes <stdio_ext.h> to cause a compile-time error.
71174         Problem reported by Nelson H. F. Beebe.
71175         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
71176         of HAVE_DECL___PENDING.
71177
71178         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
71179         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
71180         declaration.
71181
71182 2006-09-27  Jim Meyering  <jim@meyering.net>
71183
71184         This file could end up with a definition for a function
71185         named __strndup, rather than rpl_strndup on a system with
71186         incomplete weak_alias support.
71187         * lib/strndup.c (strndup): Rename from __strndup.
71188         Remove #defines that used to map __strndup to strndup.
71189         Don't use K&R prototypes.
71190         Remove LIBC-related code, since this file is not sync'd with glibc.
71191         * lib/strndup.h: Revamp, accordingly.
71192         * m4/strndup.m4: Modernize.
71193
71194 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
71195
71196         * modules/savewd (Depends-on): Add 'raise'.
71197         * lib/savewd.c: Include <signal.h>, for 'raise'.
71198
71199 2006-09-26  Jim Meyering  <jim@meyering.net>
71200
71201         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
71202         when we detect Darwin 8.7.0's acl_get_file bug.
71203         Rearrange to perform the new (below) run-test while $LIBS
71204         contains any acl-related library.  Set USE_ACL at the end.
71205         (gl_ACL_GET_FILE): New function.
71206
71207 2006-09-26  Eric Blake  <ebb9@byu.net>
71208
71209         * lib/verror.c: Include <config.h> unconditionally.
71210
71211 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
71212
71213         * modules/clock-time (Maintainer): Add self.
71214         * modules/getlogin_r (Depends-on): Add extensions.
71215
71216 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71217
71218         * modules/clock-time: New module.
71219         * modules/nanosleep (Depends-on): Add clock-time.
71220         * modules/gethrxtime (Depends-on): Likewise.
71221         * modules/gettime (Depends-on): Likewise.
71222         * modules/settime (Depends-on): Likewise.
71223
71224         * modules/fts-lgpl: Depend on openat.
71225         * modules/mkancesdirs: Depend on savewd.
71226         * modules/mkdir-p: Likewise.
71227
71228 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71229
71230         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
71231
71232         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
71233         `gl_have_arbitrary_file_name_length_limit' to
71234         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
71235         actually works between configure runs.
71236
71237 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71238             Bruno Haible  <bruno@clisp.org>
71239
71240         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
71241
71242 2006-09-25  Jim Meyering  <jim@meyering.net>
71243
71244         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
71245         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
71246
71247 2006-09-25  Eric Blake  <ebb9@byu.net>
71248
71249         * gnulib-tool (func_import, func_create_testdir): Fix typos in
71250         exec's in 2006-09-18 patch when shuffling fds.
71251
71252 2006-09-25  Bruno Haible  <bruno@clisp.org>
71253
71254         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
71255         Reported by Jim Meyering.
71256
71257 2006-09-24  Jim Meyering  <jim@meyering.net>
71258
71259         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
71260         compare a pointer against a literal "0".  That caused failures with
71261         at least HP-UX's hpcc.
71262
71263 2006-09-22  Simon Josefsson  <jas@extundo.com>
71264
71265         * modules/gc-sha1:
71266         * modules/gc-md4:
71267         * modules/gc-hmac-sha1:
71268         * modules/gc-hmac-md5:
71269         * modules/gc-des:
71270         * modules/gc-arcfour: Distribute more files.
71271
71272 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71273
71274         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
71275         (gl_linked_iterator_from_to): Initialize struct completely.
71276         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
71277         (gl_tree_iterator_from_to): Likewise
71278         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
71279         * lib/gl_array_list.c [lint] (gl_array_iterator)
71280         (gl_array_iterator_from_to): Likewise.
71281         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
71282         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
71283         (gl_carray_iterator_from_to): Likewise.
71284
71285         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
71286         * lib/md4.c (md4_process_block): Remove unused variable.
71287         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
71288         parentheses for clarity.
71289
71290 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71291
71292         * modules/bison-i18n (Depends-on): Add gettext.
71293
71294 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71295
71296         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
71297         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
71298         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
71299         also add missing comma that caused broken test.
71300         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
71301         stdlib.h, for `abort'.
71302         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
71303         variables.
71304         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
71305         include unistd.h if present, for `rmdir'.
71306         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
71307         variables.
71308         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
71309         in the process include standard headers for prototypes.
71310         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
71311         gets declared on GNU/Linux.
71312         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
71313         unistd.h, for `rmdir'.
71314         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
71315
71316         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
71317         always true.
71318         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
71319
71320         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
71321
71322 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71323
71324         * gnulib-tool (func_version): Create output all at once.  This
71325         may help avoid triggering unnecessary SIGPIPEs, and at any
71326         rate it doesn't hurt.
71327
71328 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71329             Bruno Haible  <bruno@clisp.org>
71330
71331         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
71332         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71333         * m4/signed.m4 (bh_C_SIGNED): Likewise.
71334
71335         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
71336         (gl_FUNC_VASPRINTF): Invoke it.
71337
71338 2006-09-22  Bruno Haible  <bruno@clisp.org>
71339
71340         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
71341         getloadavg.c as first argument.
71342
71343 2006-09-22  Bruno Haible  <bruno@clisp.org>
71344
71345         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
71346         at the beginning of the gl_INIT macro.
71347         * modules/getloadavg (configure.ac): Pass $gl_source_base to
71348         gl_GETLOADAVG.
71349
71350 2006-09-22  Bruno Haible  <bruno@clisp.org>
71351
71352         * gnulib-tool (func_create_megatestdir): Don't include the config-h
71353         module.
71354         Suggested by Ralf Wildenhues.
71355
71356 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
71357
71358         Import this patch from libc:
71359
71360         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
71361
71362         * lib/regex_internal.c (re_string_reconstruct): Handle
71363         offset < pstr->valid_raw_len && pstr->offsets_needed case.
71364         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
71365         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
71366         re_string_context_at.
71367
71368         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
71369         now requires it.
71370         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
71371         gl_REGEX now does it for us.
71372         (gl_REGEX): Add test taken from
71373         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
71374
71375         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
71376         Check that large offsets work.  Modernize Autoconf usages.
71377         Prefer "yes" to mean a good thing rather than a bad.
71378         Don't put "#define mkstemp" in config.h, as this might interfere
71379         with standard system headers that "#define mkstemp mkstemp64".
71380
71381         * modules/mkstemp (Depends-on): Add extensions, so that
71382         mkstemp is visible on some platforms.
71383         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
71384         (Include): Change to "mkstemp.h" from <stdlib.h>.
71385         (Files): Add mkstemp.h.
71386
71387         * lib/mkstemp.h: New file, since some standard headers
71388         #define mkstemp.
71389         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
71390         Include "mkstemp.h".
71391         Make the _LIBC code resemble glibc original more,
71392         e.g., use K&R style.
71393         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
71394         (mkstemp): Remove, since mkstemp.h does this for us.
71395         * lib/stdlib--.h: Include mkstemp.h.
71396
71397         Import this patch from libc:
71398
71399         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
71400
71401         * lib/tempname.c (__gen_tempname): Change attempts_min
71402         into a macro.  Use preprocessor to decide how to initialize
71403         attempts [Coverity CID 67].
71404
71405 2006-09-20  Bruno Haible  <bruno@clisp.org>
71406
71407         * lib/mkdtemp.c: Import from libc.
71408         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
71409                 * sysdeps/posix/tempname.c (__gen_tempname): Change
71410                 attempts_min into a macro.  Use preprocessor to decide how to
71411                 initialize attempts [Coverity CID 67].
71412         2001-11-27  Paul Eggert  <eggert@twinsun.com>
71413                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
71414                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
71415
71416 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71417
71418         * gnulib-tool (func_exit): New function, to allow to pass the
71419         exit status portably through the trap.  Use everywhere.
71420         (--help, --version): Signal a write error.
71421         (trap): catch SIGPIPE, for write errors.
71422         Exit at the end of the trap, with the correct exit status.
71423
71424 2006-09-19  Karl Berry  <karl@gnu.org>
71425
71426         * doc/gnulib.texi: note about the license texinfo files.
71427
71428 2006-09-19  Eric Blake  <ebb9@byu.net>
71429
71430         * gnulib-tool: Avoid space-tab.
71431
71432 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
71433
71434         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
71435         that prevented coreutils 6.1 from building.  Problem reported
71436         by Petter Reinholdtsen.
71437
71438 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
71439
71440         * gnulib-tool (avoidlist): Fix typo that broke options like
71441         --avoid=lock that are used by coreutils bootstrap.
71442
71443 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
71444
71445         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
71446         more systematically.
71447
71448 2006-09-18  Jim Meyering  <jim@meyering.net>
71449
71450         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
71451
71452 2006-09-18  Bruno Haible  <bruno@clisp.org>
71453
71454         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
71455
71456 2006-09-18  Bruno Haible  <bruno@clisp.org>
71457
71458         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
71459         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
71460         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
71461         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
71462         * m4/gettext.m4: Require autoconf >= 2.52.
71463         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
71464         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
71465         of gl_cv_header_inttypes_h.
71466
71467 2006-09-18  Bruno Haible  <bruno@clisp.org>
71468
71469         * lib/javaversion.c: Include configmake.h.
71470
71471 2006-09-18  Bruno Haible  <bruno@clisp.org>
71472
71473         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
71474         avoid that the while loops be executed in a subshell.
71475
71476 2006-09-18  Bruno Haible  <bruno@clisp.org>
71477
71478         * MODULES.html.sh (func_module): Break long lines.
71479         Suggested by Bruce Korb <bkorb@gnu.org>.
71480
71481 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71482
71483         Speed up by a factor of 1.12.
71484         * gnulib-tool (nl): New variable.
71485         (func_import): Rewrite include directive extraction to only read each
71486         directive once.
71487
71488 2006-09-17  Bruno Haible  <bruno@clisp.org>
71489
71490         * modules/javaversion (Makefile.am): Remove DEFS setting.
71491         (Depends-on): Add configmake, for PKGDATADIR definition.
71492
71493 2006-09-17  Bruno Haible  <bruno@clisp.org>
71494
71495         * gnulib-tool (func_create_testdir): Rewrite all files at once.
71496
71497 2006-09-17  Bruno Haible  <bruno@clisp.org>
71498
71499         * gnulib-tool (func_append): New function, stolen from libtool.m4.
71500         (func_modules_transitive_closure, func_modules_add_dummy,
71501         func_modules_to_filelist, func_import, func_create_testdir,
71502         func_create_megatestdir, ...): Use it wherever possible.
71503         Suggested by Ralf Wildenhues.
71504
71505 2006-09-16  Karl Berry  <karl@gnu.org>
71506
71507         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
71508         to avoid sectioning errors.
71509         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
71510         [ifinfo]: blank line after @center-ed titles.
71511         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
71512         Spell FSF address consistently with others.
71513         (These changes approved by rms.)
71514
71515 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71516
71517         Speed up by a factor of 1.61.
71518         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
71519         already checked module names again.
71520
71521 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71522
71523         Speed up by a factor of 1.13.
71524         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
71525         for new_files, and the input to func_add_or_update.
71526
71527 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71528
71529         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
71530         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
71531
71532 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
71533
71534         * modules/mkancesdirs (Depends-on): Add fcntl.
71535         * modules/savewd: New file.
71536         * MODULES.html.sh (File system functions): Add savewd.
71537
71538         * modules/configmake (Makefile.am): Add support for the
71539         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
71540
71541 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
71542
71543         * m4/savewd.m4: New file.
71544
71545 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
71546
71547         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
71548         (dirchownmod): New arg FD.  All callers changed.
71549         Use FD rather than opening the directory ourself, as opening is
71550         now the caller's responsibility.
71551         * lib/dirchownmod.h: Likewise.
71552         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
71553         hosts that require <sys/types.h> before <sys/stat.h>.  Include
71554         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
71555         (test_dir): Remove.
71556         (mkancesdirs): Return length of prefix of FILE that has already
71557         been made, or -2 if there is a child doing the work.  Redo
71558         algorithm so that it is O(N) rather than O(N**2).  Optimize away
71559         ".", and treat ".." specially since it might stray back into
71560         already-created areas.  Use a subprocess if necessary.  New arg
71561         WD; all users changed.  MAKE_DIR function should now return 1
71562         if it creates a directory that is not readable.  Return -2 if
71563         a child process is spun off.
71564         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
71565         Adjust signature to match code.
71566         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
71567         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
71568         all users changed.
71569         * lib/savewd.c, lib/savewd.h: New files.
71570
71571 2006-09-15  Jim Meyering  <jim@meyering.net>
71572
71573         * modules/rename-dest-slash: New module.
71574         * MODULES.html.sh (posix_compat): Add it here.
71575
71576         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
71577
71578 2006-09-15  Jim Meyering  <jim@meyering.net>
71579
71580         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
71581         file.
71582
71583         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
71584
71585 2006-09-15  Jim Meyering  <jim@meyering.net>
71586
71587         * lib/rename-dest-slash.c (has_trailing_slash): Use
71588         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
71589         (rpl_rename_dest_slash): Perform the cheaper trailing slash
71590         test before testing whether SRC is a directory.
71591         Suggestions from Bruno Haible.
71592
71593         Avoid a warning about an unused variable.
71594         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
71595         into the #ifdef block where it's used.
71596
71597         * lib/rename-dest-slash.c: New file.
71598
71599 2006-09-14  Bruno Haible  <bruno@clisp.org>
71600
71601         * lib/allocsa.c: Include <config.h> unconditionally.
71602         * lib/asnprintf.c: Likewise.
71603         * lib/asprintf.c: Likewise.
71604         * lib/c-strcasecmp.c: Likewise.
71605         * lib/c-strcasestr.c: Likewise.
71606         * lib/c-strncasecmp.c: Likewise.
71607         * lib/c-strstr.c: Likewise.
71608         * lib/classpath.c: Likewise.
71609         * lib/clean-temp.c: Likewise.
71610         * lib/concatpath.c: Likewise.
71611         * lib/copy-file.c: Likewise.
71612         * lib/csharpcomp.c: Likewise.
71613         * lib/csharpexec.c: Likewise.
71614         * lib/execute.c: Likewise.
71615         * lib/fatal-signal.c: Likewise.
71616         * lib/findprog.c: Likewise.
71617         * lib/fwriteerror.c: Likewise.
71618         * lib/gl_array_list.c: Likewise.
71619         * lib/gl_array_oset.c: Likewise.
71620         * lib/gl_avltree_list.c: Likewise.
71621         * lib/gl_avltree_oset.c: Likewise.
71622         * lib/gl_avltreehash_list.c: Likewise.
71623         * lib/gl_carray_list.c: Likewise.
71624         * lib/gl_linked_list.c: Likewise.
71625         * lib/gl_linkedhash_list.c: Likewise.
71626         * lib/gl_list.c: Likewise.
71627         * lib/gl_oset.c: Likewise.
71628         * lib/gl_rbtree_list.c: Likewise.
71629         * lib/gl_rbtree_oset.c: Likewise.
71630         * lib/gl_rbtreehash_list.c: Likewise.
71631         * lib/imaxabs.c: Likewise.
71632         * lib/imaxdiv.c: Likewise.
71633         * lib/javacomp.c: Likewise.
71634         * lib/javaexec.c: Likewise.
71635         * lib/javaversion.c: Likewise.
71636         * lib/linebreak.c: Likewise.
71637         * lib/localcharset.c: Likewise.
71638         * lib/lock.c: Likewise.
71639         * lib/mbchar.c: Likewise.
71640         * lib/mbswidth.c: Likewise.
71641         * lib/mkdtemp.c: Likewise.
71642         * lib/pipe.c: Likewise.
71643         * lib/printf-args.c: Likewise.
71644         * lib/printf-parse.c: Likewise.
71645         * lib/progname.c: Likewise.
71646         * lib/progreloc.c: Likewise.
71647         * lib/readlink.c: Likewise.
71648         * lib/sh-quote.c: Likewise.
71649         * lib/stpcpy.c: Likewise.
71650         * lib/stpncpy.c: Likewise.
71651         * lib/strcasecmp.c: Likewise.
71652         * lib/strcasestr.c: Likewise.
71653         * lib/strcspn.c: Likewise.
71654         * lib/striconv.c: Likewise.
71655         * lib/strncasecmp.c: Likewise.
71656         * lib/strnlen1.c: Likewise.
71657         * lib/strstr.c: Likewise.
71658         * lib/strtok_r.c: Likewise.
71659         * lib/tls.c: Likewise.
71660         * lib/tmpdir.c: Likewise.
71661         * lib/unicodeio.c: Likewise.
71662         * lib/unsetenv.c: Likewise.
71663         * lib/vasnprintf.c: Likewise.
71664         * lib/vasprintf.c: Likewise.
71665         * lib/wait-process.c: Likewise.
71666         * lib/xallocsa.c: Likewise.
71667         * lib/xsetenv.c: Likewise.
71668         * lib/xstriconv.c: Likewise.
71669
71670 2006-09-13  Simon Josefsson  <jas@extundo.com>
71671
71672         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
71673         that internally, suggested by Ralf Wildenhues
71674         <Ralf.Wildenhues@gmx.de>.
71675
71676 2006-09-13  Simon Josefsson  <jas@extundo.com>
71677
71678         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
71679         @LIBOBJS@.
71680         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71681
71682 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
71683
71684         * lib/_fpending.c: Include <config.h> unconditionally, since we no
71685         longer worry about uses that don't define HAVE_CONFIG_H.
71686         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
71687         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
71688         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
71689         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
71690         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
71691         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
71692         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
71693         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
71694         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
71695         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
71696         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
71697         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
71698         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
71699         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
71700         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
71701         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
71702         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
71703         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
71704         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
71705         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
71706         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
71707         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
71708         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
71709         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
71710         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
71711         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
71712         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
71713         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
71714         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
71715         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
71716         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
71717         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
71718         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
71719         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
71720         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
71721         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
71722         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
71723         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
71724         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
71725         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
71726         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
71727         Likewise.
71728
71729 2006-09-13  Eric Blake  <ebb9@byu.net>
71730
71731         * lib/getopt.c: Fix typo in last commit.
71732
71733 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
71734
71735         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
71736         dgettext.
71737
71738 2006-09-12  Jim Meyering  <jim@meyering.net>
71739
71740         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
71741         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
71742         Reported by Nelson H. F. Beebe.
71743
71744 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
71745
71746         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
71747         program_invocation_name and program_invocation_short_name are
71748         initialized.
71749         * lib/argp-namefrob.h: Move declarations of program_invocation_name
71750         and program_invocation_short_name to argp.h, so they are visible
71751         to user programs.
71752         * lib/argp.h: Likewise
71753
71754 2006-09-10  Bruno Haible  <bruno@clisp.org>
71755
71756         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
71757         m4/inttypes_h.m4, m4/uintmax_t.m4.
71758
71759 2006-09-10  Bruno Haible  <bruno@clisp.org>
71760
71761         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
71762         gl_AC_TYPE_UINTMAX_T.
71763
71764 2006-09-10  Bruno Haible  <bruno@clisp.org>
71765
71766         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
71767
71768 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
71769
71770         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
71771         convention.  Text proposed by Bruno Haible.
71772         (struct argp_option): Document the use of N_() wrappers.
71773
71774         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
71775         '\v', and translate the two parts separately, instead of feeding
71776         the whole string to gettext.  This allows to exclude
71777         '\v' from the strings visible to the translator by writing doc
71778         strings as N_("..") "\v" N_("..").
71779
71780 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
71781
71782         * config/srclist.txt: Undo latest change; the bug was fixed.
71783
71784 2006-09-09  Bruno Haible  <bruno@clisp.org>
71785
71786         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
71787         assignments if building a library without libtool.
71788         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
71789         in func_emit_lib_Makefile_am.
71790         (func_import): When building a static library libfoo.a, arrange to
71791         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
71792         (func_create_testdir): Likewise.
71793         * modules/gc (configure.ac, Makefile.am): If building statically,
71794         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
71795         * modules/iconvme (configure.ac, Makefile.am): Likewise.
71796         * modules/striconv (configure.ac, Makefile.am): Likewise.
71797         Based on a suggestion by Ralf Wildenhues.
71798
71799 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71800
71801         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
71802         Check for unistd.h too, since Autoconf doesn't assume POSIX.
71803         Also:
71804
71805         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71806         Add year_2050_test to catch glibc bug 2821
71807         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
71808
71809         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71810         Prefer #ifdef to #if.
71811
71812         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
71813         Return from 'main' instead of calling 'exit'.
71814
71815 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71816
71817         * lib/mktime.c (guess_time_tm): Fix bug where mktime
71818         returned the maximum time_t value rather than (time_t) -1.
71819         Problem originally reported by William Bardwell
71820         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
71821
71822         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
71823         Moved to here ...
71824         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
71825         ... from here.
71826
71827 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71828
71829         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
71830         2821 is fixed.
71831
71832 2006-09-08  Jim Meyering  <jim@meyering.net>
71833
71834         Don't make generated files read-only.  That would bother too many
71835         people.  However, do retain the ability to work when targets are
71836         read-only: remove the destination and temporary files before writing
71837         them (when generated via sed or echo), or by using the -f option for
71838         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
71839         * modules/alloca-opt, modules/argz, modules/arpa_inet:
71840         * modules/byteswap, modules/configmake, modules/fcntl:
71841         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
71842         * modules/localcharset, modules/netinet_in, modules/poll:
71843         * modules/stdbool, modules/stdint, modules/sys_select:
71844         * modules/sys_socket, modules/sys_stat, modules/sysexits:
71845
71846 2006-09-08  Jim Meyering  <jim@meyering.net>
71847
71848         Avoid new build failure on FreeBSD 6.0.
71849         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
71850         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
71851         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
71852
71853 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71854
71855         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
71856
71857 2006-09-07  Jim Meyering  <jim@meyering.net>
71858
71859         Fix global typo in last change: use chmod u-w, not chmod u-x.
71860         Spotted by Paul Eggert and Bruce Korb.
71861         * modules/alloca-opt, modules/argz, modules/arpa_inet:
71862         * modules/byteswap, modules/configmake, modules/fcntl:
71863         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
71864         * modules/localcharset, modules/netinet_in, modules/poll:
71865         * modules/stdbool, modules/stdint, modules/sys_select:
71866         * modules/sys_socket, modules/sys_stat, modules/sysexits:
71867
71868 2006-09-06  Jim Meyering  <jim@meyering.net>
71869
71870         Make generated files be read-only.
71871         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
71872         Ensure that each generated file is now read-only.
71873         * modules/argz: Likewise.
71874         * modules/arpa_inet: Likewise.
71875         * modules/byteswap: Likewise.
71876         * modules/configmake: Likewise.
71877         * modules/fcntl: Likewise.
71878         * modules/fnmatch: Likewise.
71879         * modules/getopt: Likewise.
71880         * modules/glob: Likewise.
71881         * modules/inttypes: Likewise.
71882         * modules/netinet_in: Likewise.
71883         * modules/poll: Likewise.
71884         * modules/stdbool: Likewise.
71885         * modules/stdint: Likewise.
71886         * modules/sys_select: Likewise.
71887         * modules/sys_socket: Likewise.
71888         * modules/sys_stat: Likewise.
71889         * modules/sysexits: Likewise.
71890         * modules/localcharset: Same as above, but continue using temporary
71891         file named "t-$@" (why different?) rather than the "$@-t" used
71892         everywhere else.
71893
71894         * modules/sysexits (Makefile.am): Replace literal occurrences
71895         of "sysexit.h" more readable, and more consistent, "$@".
71896
71897 2006-09-06  Bruno Haible  <bruno@clisp.org>
71898
71899         * modules/striconv: New file.
71900         * modules/xstriconv: New file.
71901         * MODULES.html.sh (Internationalization functions): Add striconv,
71902         xstriconv.
71903
71904 2006-09-06  Bruno Haible  <bruno@clisp.org>
71905
71906         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
71907         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
71908         not using libtool correctly.
71909
71910 2006-09-06  Bruno Haible  <bruno@clisp.org>
71911
71912         * lib/striconv.h: New file.
71913         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
71914         iconvstring.c.
71915         * lib/xstriconv.h: New file.
71916         * lib/xstriconv.c: New file.
71917
71918 2006-09-06  Bruno Haible  <bruno@clisp.org>
71919
71920         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
71921         lib_..._LDFLAGS.
71922
71923 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71924
71925         * lib/argz_.h: Sync from Libtool.
71926
71927         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
71928                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
71929
71930         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
71931
71932 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
71933
71934         * modules/trim: New file.
71935
71936 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
71937
71938         * lib/trim.h: New file.
71939         * lib/trim.c: New file.
71940
71941 2006-09-05  Bruno Haible  <bruno@clisp.org>
71942
71943         * MODULES.html.sh (String handling): Add trim.
71944
71945 2006-09-04  Karl Berry  <karl@gnu.org>
71946
71947         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
71948         until next release.
71949
71950 2006-09-03  Bruno Haible  <bruno@clisp.org>
71951
71952         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
71953         correctly.
71954
71955 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71956
71957         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
71958         not gl_GETLOADAVG.  Omit unneeded semicolons.
71959         Problems reported by Ralf Wildenhues in
71960         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
71961         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
71962         at the end, which is the usual gnulib style.
71963
71964         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
71965         of doing all the work ourselves.
71966         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
71967         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
71968
71969 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71970
71971         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
71972         Problem reported by Ralf Wildenhues in
71973         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
71974
71975         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
71976         HAVE_STRUCT_STATFS_F_FSTYPENAME.
71977
71978 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71979
71980         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
71981         yesterday's patch by changing test -n to test -z.
71982
71983 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71984
71985         * modules/getloadavg (Files): Add m4/getloadavg.m4.
71986         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
71987         the former is now obsolescent.
71988
71989         * modules/chdir-long (Depends-on): Add fcntl.
71990
71991 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71992
71993         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
71994         obsolescent, and programs should use gnulib instead.
71995         * m4/getloadavg.m4: New file, with contents taken from Autoconf
71996         but with prefixes changed.
71997
71998 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71999
72000         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
72001         or stdbool.h, because they might not exist while configuring.
72002
72003         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
72004         Don't include unistd.h or limits.h; not needed, since chdir-long.h
72005         does that for us.
72006         (O_DIRECTORY): Remove.
72007
72008 2006-08-31  Eric Blake  <ebb9@byu.net>
72009
72010         * gnulib-tool: Don't let emacs change spaces to TAB.
72011
72012 2006-08-31  Bruno Haible  <bruno@clisp.org>
72013
72014         * gnulib-tool: When calling func_import more than once, do it in a
72015         subshell.
72016         Reported by Eric Blake <ebb9@byu.net>.
72017
72018 2006-08-31  Bruno Haible  <bruno@clisp.org>
72019
72020         * gnulib-tool (nl): Remove variable.
72021         (sed_transform_lib_file): Use more robust test for config-h module.
72022         (func_import): Fix typo in 2006-08-25 patch.
72023
72024 2006-08-31  Bruno Haible  <bruno@clisp.org>
72025
72026         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
72027         specified, augment Makefile.am variables instead of assigning them.
72028
72029 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72030
72031         Work around a bug in both the Linux and SunOS 64-bit kernels:
72032         nanosleep mishandles sleeps for longer than 2**31 seconds.
72033         Problem reported by Frank v Waveren in
72034         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
72035         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
72036         Check for nanosleep bug.
72037         (LIB_NANOSLEEP): Append clock_gettime library if needed.
72038
72039 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72040
72041         Work around a bug in both the Linux and SunOS 64-bit kernels:
72042         nanosleep mishandles sleeps for longer than 2**31 seconds.
72043         Problem reported by Frank v Waveren in
72044         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
72045         * lib/nanosleep.c (BILLION): New constant.
72046         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
72047         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
72048         implementation.
72049
72050 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72051
72052         * modules/nanosleep (Depends-on): Add gettime.
72053
72054 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72055         and Simon Josefsson  <jas@extundo.com>
72056         and Oskar Liljeblad  <oskar@osk.mine.nu>
72057
72058         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
72059         * gnulib-tool (func_import): New license type 'unmodifiable license
72060         text'.
72061         * modules/fdl: Use it.  Longer description.
72062         * module/gpl, module/lgpl: New files.
72063
72064 2006-08-30  Jim Meyering  <jim@meyering.net>
72065
72066         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
72067         shadowing the parameter.
72068
72069 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72070
72071         Sync from Libtool:
72072
72073         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72074
72075         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
72076         sharing with gnulib.  Report by Eric Blake.
72077
72078 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72079
72080         * modules/isapipe: New file.
72081         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
72082
72083 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72084
72085         * modules/configmake (Makefile.am): Add a comment, and omit
72086         the CONFIGMAKE_ prefix from generated macro names.  Suggested
72087         by Bruno Haible.
72088
72089 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72090
72091         * m4/isapipe.m4: New file.
72092
72093 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72094
72095         * lib/isapipe.c, lib/isapipe.h: New files.
72096
72097 2006-08-29  Jim Meyering  <jim@meyering.net>
72098
72099         * modules/configmake (Makefile.am): Make configmake.h depend on
72100         Makefile.  Otherwise, a stale configmake.h could hang around.
72101
72102 2006-08-29  Eric Blake  <ebb9@byu.net>
72103
72104         * lib/error.c (error_at_line, print_errno_message): Match libc, after
72105         resolution of upstream bug 3044.
72106
72107 2006-08-29  Bruno Haible  <bruno@clisp.org>
72108
72109         * modules/localcharset (Depends-on): Add configmake.
72110         (Makefile.am): Remove setting of LIBDIR through DEFS.
72111
72112 2006-08-29  Bruno Haible  <bruno@clisp.org>
72113
72114         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
72115         defined.
72116
72117 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72118
72119         * modules/fcntl: New file.
72120         * modules/chdir-safer (Depends-on): Add fcntl.
72121         * modules/fts: Likewise.
72122         * modules/mkdir-p: Likewise.
72123
72124         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
72125         This undoes the most recent change, since we're now addressing the
72126         problem in a different way.
72127
72128         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
72129         into output, since the output might be called Makefile.am even
72130         if $makefile_name is something different.
72131         (func_import): Use $makefile_am rather than
72132         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
72133         empty.
72134
72135         * modules/inttypes (Files): Add m4/inttypes-h.m4.
72136
72137 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72138
72139         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
72140         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
72141         recent change to stdint.m4, since we're now addressing the problem in a
72142         different way.
72143
72144 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72145
72146         * m4/fcntl_h.m4: New file.
72147
72148 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72149
72150         * lib/fcntl_.h: New file.
72151         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
72152         the fcntl module.
72153         * lib/dirchownmod.c: Likewise.
72154         * lib/fts.c: Likewise.
72155
72156         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
72157         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
72158         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
72159         just before including <inttypes.h>, to avoid circular inclusion.
72160
72161 2006-08-28  Jim Meyering  <jim@meyering.net>
72162
72163         * doc/visibility.texi: Actually read and correct the grammar of the
72164         sentence affected by yesterday's change.
72165
72166 2006-08-28  Eric Blake  <ebb9@byu.net>
72167
72168         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
72169         needs wrapper.
72170
72171 2006-08-28  Eric Blake  <ebb9@byu.net>
72172
72173         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
72174
72175 2006-08-28  Eric Blake  <ebb9@byu.net>
72176
72177         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
72178
72179 2006-08-28  Bruno Haible  <bruno@clisp.org>
72180
72181         * modules/c-strstr: New file, from GNU gettext.
72182         * MODULES.html.sh (String handling): Add c-strstr.
72183
72184 2006-08-28  Bruno Haible  <bruno@clisp.org>
72185
72186         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
72187         macros.
72188         Reported by Eric Blake.
72189
72190 2006-08-28  Bruno Haible  <bruno@clisp.org>
72191
72192         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
72193         (VASNPRINTF): Return a string of length > INT_MAX without failing.
72194         * lib/vasprintf.c: Include errno.h, limits.h.
72195         (EOVERFLOW): New fallback definition.
72196         (vasprintf): Test here whether the string length is > INT_MAX.
72197         * lib/vsnprintf.c: Include errno.h, limits.h.
72198         (EOVERFLOW): New fallback definition.
72199         (vsnprintf): Fix bug when generated string was too long for the buffer.
72200         Test here whether the string length is > INT_MAX.
72201
72202 2006-08-28  Bruno Haible  <bruno@clisp.org>
72203
72204         * lib/inttypes_.h (SCNX*): Remove definitions.
72205         Reported by Eric Blake.
72206
72207 2006-08-28  Bruno Haible  <bruno@clisp.org>
72208
72209         * lib/c-strstr.h: New file, from GNU gettext.
72210         * lib/c-strstr.c: New file, from GNU gettext.
72211
72212 2006-08-28  Bruno Haible  <bruno@clisp.org>
72213
72214         * gnulib-tool: Reorder some statements.
72215
72216 2006-08-28  Bruno Haible  <bruno@clisp.org>
72217
72218         * gnulib-tool: New option --makefile-name.
72219         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
72220         $makefile_name.
72221         (func_import): Write $makefile_name to the cache file, and read it from
72222         there unless explicitly specified. Use $makefile_name as file name
72223         instead of Makefile.am. Adjust the recommendations accordingly.
72224
72225 2006-08-28  Bruno Haible  <bruno@clisp.org>
72226
72227         * gnulib-tool (func_verify_module): Check against misapplying patch.
72228
72229 2006-08-28  Bruno Haible  <bruno@clisp.org>
72230
72231         * gnulib-tool (func_relativize, func_relconcat): New functions.
72232         Give an error if --local-dir is given with --update.
72233         Remove trailing slashes from $local_gnulib_dir.
72234         (func_import): Store the relativized $local_gnulib_dir in
72235         gnulib-cache.m4, and read it from there if not specified explicitly.
72236
72237 2006-08-28  Bruno Haible  <bruno@clisp.org>
72238
72239         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
72240         is the current directory. Respect also $local_gnulib_dir.
72241
72242 2006-08-28  Bruno Haible  <bruno@clisp.org>
72243             Simon Josefsson  <jas@extundo.com>
72244
72245         BeOS portability.
72246         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
72247
72248 2006-08-27  Jim Meyering  <jim@meyering.net>
72249
72250         * doc/visibility.texi: Remove duplicate word: "pointer".
72251
72252 2006-08-26  Bruno Haible  <bruno@clisp.org>
72253
72254         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
72255         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
72256         (Makefile.am): Create inttypes.h from inttypes_.h.
72257         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
72258
72259         * modules/imaxabs: New file.
72260
72261         * modules/imaxdiv: New file.
72262
72263 2006-08-26  Bruno Haible  <bruno@clisp.org>
72264
72265         * m4/inttypes.m4: New file.
72266         * m4/_inttypes_h.m4: Remove file.
72267         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
72268         PRI_MACROS_BROKEN.
72269         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
72270
72271         * m4/imaxabs.m4: New file.
72272
72273         * m4/imaxdiv.m4: New file.
72274
72275 2006-08-26  Bruno Haible  <bruno@clisp.org>
72276
72277         * lib/inttypes_.h: New file.
72278         * lib/inttypes.h: Remove file.
72279         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
72280
72281         * lib/imaxabs.c: New file.
72282
72283         * lib/imaxdiv.c: New file.
72284
72285 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72286
72287         New config-h module, so that "make" output needn't be cluttered
72288         by -DHAVE_CONFIG_H.
72289         * MODULES.html.sh (Support for building libraries and executables):
72290         Add config-h.
72291         * modules/config-h: New file.
72292         * gnulib-tool (nl, sed_transform_lib_file): New vars.
72293         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
72294         the config-h module is used.
72295
72296         New configmake module, so that "make" output needn't be cluttered
72297         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
72298         * MODULES.html.sh (Support for building libraries and executables):
72299         Add configmake.
72300         * modules/configmake: New file.
72301
72302 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72303
72304         * m4/config-h.m4: New file.
72305
72306 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
72307
72308         * config/srclist.txt: Add elisp-comp.
72309
72310 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
72311
72312         * MODULES.html.sh (Support for building libraries and executables):
72313         Add elisp-comp.
72314         * build-aux/elisp-comp: New file.
72315         * modules/elisp-comp: New file.
72316
72317 2006-08-24  Bruno Haible  <bruno@clisp.org>
72318
72319         * gnulib-tool (func_create_testdir): Use non-default values of
72320         sourcebase and m4base.
72321
72322 2006-08-24  Bruno Haible  <bruno@clisp.org>
72323
72324         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
72325         HTML structure.
72326
72327 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
72328
72329         * modules/openat (Depends-on): Add lchown.
72330
72331 2006-08-23  Bruno Haible  <bruno@clisp.org>
72332
72333         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
72334         of gl_LOCK_EARLY instead of gl_LOCK.
72335
72336 2006-08-23  Bruno Haible  <bruno@clisp.org>
72337
72338         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
72339         on OSF/1 to no.
72340         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
72341
72342 2006-08-23  Bruno Haible  <bruno@clisp.org>
72343
72344         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
72345         as unusable.
72346
72347         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
72348         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
72349         (gl_LOCK): New macro.
72350
72351 2006-08-22  Simon Josefsson  <jas@extundo.com>
72352
72353         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
72354         to md5 module.
72355
72356 2006-08-22  Simon Josefsson  <jas@extundo.com>
72357
72358         * MODULES.html.sh: Add "Support for maintaining and release
72359         projects".
72360
72361         * build-aux/gnupload: New file, from coreutils.
72362
72363 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
72364
72365         Avoid the need for AC_LIBSOURCES in m4 macros.
72366         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
72367         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
72368         * modules/check-version (EXTRA_DIST): Add check-version.h.
72369         * modules/crc (EXTRA_DIST): Add crc.h.
72370         * modules/des (EXTRA_DIST): Add des.h.
72371         * modules/gc (EXTRA_DIST): Add gc.h.
72372         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
72373         * modules/getline (EXTRA_DIST): Add getline.h.
72374         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
72375         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
72376         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
72377         * modules/md2 (EXTRA_DIST): Add md2.h.
72378         * modules/md4 (EXTRA_DIST): Add md4.h.
72379         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
72380         * modules/read-file (EXTRA_DIST): Add read-file.h.
72381         * modules/readline (EXTRA_DIST): Add readline.h.
72382         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
72383         rijndael-api-fst.h.
72384
72385 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
72386
72387         * m4/rijndael.m4 (gl_ARCFOUR):
72388         * m4/arctwo.m4 (gl_ARCTWO):
72389         * m4/check-version.m4 (gl_CHECK_VERSION):
72390         * m4/crc.m4 (gl_CRC):
72391         * m4/des.m4 (gl_DES):
72392         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
72393         * m4/gc.m4 (gl_GC):
72394         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
72395         * m4/getline.m4 (gl_FUNC_GETLINE):
72396         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
72397         * m4/hmac-md5.m4 (gl_HMAC_MD5):
72398         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
72399         * m4/md2.m4 (gl_MD2):
72400         * m4/md4.m4 (gl_MD4):
72401         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
72402         * m4/read-file.m4 (gl_FUNC_READ_FILE):
72403         * m4/readline.m4 (gl_FUNC_READLINE):
72404         * m4/rijndael.m4 (gl_RIJNDAEL):
72405         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
72406         to get the necessary .h files and whatnot.
72407
72408 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
72409
72410         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
72411         gnulib rather than the other way around.
72412         * config/srclistvars.sh (COREUTILS): Remove.
72413
72414 2006-08-22  Jim Meyering  <jim@meyering.net>
72415
72416         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
72417
72418         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
72419
72420 2006-08-22  Eric Blake  <ebb9@byu.net>
72421
72422         * modules/regexprops-generic: New file.
72423         * MODULES.html.sh (Support for building documentation): List it.
72424
72425 2006-08-22  Eric Blake  <ebb9@byu.net>
72426
72427         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
72428         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
72429         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
72430         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
72431
72432 2006-08-22  Bruno Haible  <bruno@clisp.org>
72433
72434         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
72435         and lib_LTLIBRARIES like the other lib_* variables.
72436
72437 2006-08-22  Bruno Haible  <bruno@clisp.org>
72438
72439         * build-aux/x-to-1.in: New file, from GNU gettext.
72440
72441 2006-08-22  Bruno Haible  <bruno@clisp.org>
72442
72443         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
72444         <utmpx.h> exists.
72445
72446 2006-08-22  Bruno Haible  <bruno@clisp.org>
72447
72448         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
72449         <utmpx.h> exists.
72450
72451 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
72452
72453         BeOS portability.
72454         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
72455         exist.
72456         Problem reported by Bruno Haible.
72457
72458 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
72459
72460         Avoid the need for AC_LIBSOURCES in m4 macros.
72461         * modules/acl (EXTRA_DIST): Add acl.h.
72462         * modules/argmatch (Files): Add m4/argmatch.m4.
72463         (configure.ac): Add gl_ARGMATCH.
72464         (EXTRA_DIST): Renamed from lib_SOURCES, for
72465         consistency with the other modules.  Remove argmatch.c.
72466         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
72467         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
72468         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
72469         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
72470         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
72471         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
72472         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
72473         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
72474         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
72475         * modules/closeout (EXTRA_DIST): Add closeout.h.
72476         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
72477         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
72478         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
72479         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
72480         dirname.h; remove basename.c and stripslash.c.
72481         * modules/exclude (EXTRA_DIST): Add exclude.h.
72482         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
72483         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
72484         * modules/file-type (EXTRA_DIST): Add file-type.h.
72485         * modules/filemode (EXTRA_DIST): Add filemode.h.
72486         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
72487         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
72488         * modules/fpending (EXTRA_DIST): Add __fpending.h.
72489         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
72490         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
72491         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
72492         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
72493         * modules/getdate (EXTRA_DIST): Add getdate.c.
72494         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
72495         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
72496         * modules/getpass (EXTRA_DIST): Add getpass.h.
72497         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
72498         * modules/group-member (EXTRA_DIST): Add group-member.h.
72499         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
72500         * modules/hash (EXTRA_DIST): Add hash.h.
72501         * modules/human (EXTRA_DIST): Add human.h.
72502         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
72503         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
72504         * modules/lchown (EXTRA_DIST): Add lchown.h.
72505         * modules/long-options (EXTRA_DIST): Add long-options.h.
72506         * modules/lstat (EXTRA_DIST): Add lstat.h.
72507         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
72508         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
72509         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
72510         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
72511         * modules/memxor (EXTRA_DIST): Add memxor.h.
72512         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
72513         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
72514         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
72515         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
72516         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
72517         * modules/physmem (EXTRA_DIST): Add physmem.h.
72518         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
72519         * modules/posixver (EXTRA_DIST): Add posixver.h.
72520         * modules/quote (EXTRA_DIST): Add quote.h.
72521         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
72522         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
72523         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
72524         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
72525         regex_internal.h regexec.c.
72526         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
72527         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
72528         * modules/same (EXTRA_DIST): Add same.h.
72529         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
72530         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
72531         * modules/savedir (EXTRA_DIST): Add savedir.h.
72532         * modules/sha1 (EXTRA_DIST): Add sha1.h.
72533         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
72534         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
72535         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
72536         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
72537         * modules/strdup (EXTRA_DIST): Add strdup.h.
72538         * modules/strftime (EXTRA_DIST): Add strftime.h.
72539         * modules/strndup (EXTRA_DIST): Add strndup.h.
72540         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
72541         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
72542         * modules/time_r (EXTRA_DIST): Add time_r.h.
72543         * modules/timespec (EXTRA_DIST): Add timespec.h.
72544         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
72545         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
72546         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
72547         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
72548         * modules/userspec (EXTRA_DIST): Add userspec.h.
72549         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
72550         * modules/utimens (EXTRA_DIST): Add utimens.h.
72551         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
72552         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
72553         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
72554         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
72555         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
72556         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
72557         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
72558         * modules/yesno (EXTRA_DIST): Add yesno.h.
72559
72560 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
72561
72562         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
72563
72564         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
72565         * m4/dev-ino.m4, same-inode.m4: Remove.
72566
72567         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
72568         * m4/acl.m4 (AC_FUNC_ACL):
72569         * m4/backupfile.m4 (gl_BACKUPFILE):
72570         * m4/c-strtod.m4 (gl_C99_STRTOLD):
72571         * m4/canon-host.m4 (gl_CANON_HOST):
72572         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
72573         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
72574         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
72575         * m4/cloexec.m4 (gl_CLOEXEC):
72576         * m4/close-stream.m4 (gl_CLOSE_STREAM):
72577         * m4/closeout.m4 (gl_CLOSEOUT):
72578         * m4/dirfd.m4 (gl_FUNC_DIRFD):
72579         * m4/dirname.m4 (gl_DIRNAME):
72580         * m4/exclude.m4 (gl_EXCLUDE):
72581         * m4/exitfail.m4 (gl_EXITFAIL):
72582         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
72583         * m4/file-type.m4 (gl_FILE_TYPE):
72584         * m4/filemode.m4 (gl_FILEMODE):
72585         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
72586         * m4/fpending.m4 (gl_FUNC_FPENDING):
72587         * m4/fprintftime.m4 (gl_FPRINTFTIME):
72588         * m4/fts.m4 (gl_FUNC_FTS):
72589         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
72590         * m4/getdate.m4 (gl_GETDATE):
72591         * m4/gethrxtime.m4 (gl_GETHRXTIME):
72592         * m4/getpagesize.m4 (gl_GETPAGESIZE):
72593         * m4/getpass.m4 (gl_FUNC_GETPASS):
72594         * m4/gettime.m4 (gl_GETTIME):
72595         * m4/getugroups.m4 (gl_GETUGROUPS):
72596         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
72597         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
72598         * m4/hard-locale.m4 (gl_HARD_LOCALE):
72599         * m4/hash.m4 (gl_HASH):
72600         * m4/idcache.m4 (gl_IDCACHE):
72601         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
72602         * m4/lchown.m4 (gl_FUNC_LCHOWN):
72603         * m4/long-options.m4 (gl_LONG_OPTIONS):
72604         * m4/lstat.m4 (gl_FUNC_LSTAT):
72605         * m4/md5.m4 (gl_MD5):
72606         * m4/memcasecmp.m4 (gl_MEMCASECMP):
72607         * m4/memcoll.m4 (gl_MEMCOLL):
72608         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
72609         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
72610         * m4/memxor.m4 (gl_MEMXOR):
72611         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
72612         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
72613         * m4/modechange.m4 (gl_MODECHANGE):
72614         * m4/mountlist.m4 (gl_MOUNTLIST):
72615         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72616         * m4/openat.m4 (gl_FUNC_OPENAT):
72617         * m4/pathmax.m4 (gl_PATHMAX):
72618         * m4/physmem.m4 (gl_PHYSMEM):
72619         * m4/posixtm.m4 (gl_POSIXTM):
72620         * m4/posixver.m4 (gl_POSIXVER):
72621         * m4/quote.m4 (gl_QUOTE):
72622         * m4/quotearg.m4 (gl_QUOTEARG):
72623         * m4/readtokens.m4 (gl_READTOKENS):
72624         * m4/readutmp.m4 (gl_READUTMP):
72625         * m4/regex.m4 (gl_REGEX):
72626         * m4/safe-read.m4 (gl_SAFE_READ):
72627         * m4/safe-write.m4 (gl_SAFE_WRITE):
72628         * m4/same.m4 (gl_SAME):
72629         * m4/save-cwd.m4 (gl_SAVE_CWD):
72630         * m4/savedir.m4 (gl_SAVEDIR):
72631         * m4/settime.m4 (gl_SETTIME):
72632         * m4/sha1.m4 (gl_SHA1):
72633         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
72634         * m4/stat-macros.m4 (gl_STAT_MACROS):
72635         * m4/stat-time.m4 (gl_STAT_TIME):
72636         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
72637         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
72638         * m4/strdup.m4 (gl_FUNC_STRDUP):
72639         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
72640         * m4/strndup.m4 (gl_FUNC_STRNDUP):
72641         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
72642         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
72643         * m4/time_r.m4 (gl_TIME_R):
72644         * m4/timespec.m4 (gl_TIMESPEC):
72645         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
72646         * m4/unlinkdir.m4 (gl_UNLINKDIR):
72647         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
72648         * m4/userspec.m4 (gl_USERSPEC):
72649         * m4/utimecmp.m4 (gl_UTIMECMP):
72650         * m4/utimens.m4 (gl_UTIMENS):
72651         * m4/xalloc.m4 (gl_XALLOC):
72652         * m4/xgetcwd.m4 (gl_XGETCWD):
72653         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
72654         * m4/xreadlink.m4 (gl_XREADLINK):
72655         * m4/xstrtod.m4 (gl_XSTRTOD):
72656         * m4/yesno.m4 (gl_YESNO):
72657         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
72658         to get the necessary .h files and whatnot.
72659
72660 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
72661             Bruno Haible  <bruno@clisp.org>
72662
72663         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
72664         /bin/sh understanding of '!' conditional negation.
72665
72666 2006-08-21  Jim Meyering  <jim@meyering.net>
72667
72668         * modules/openat (Depends-on): Really alphabetize.
72669
72670         * modules/acl (Depends-on): Add error and quote.
72671
72672         * check-module (find_included_lib_files): Add at-func.c to the
72673         ok-to-include-more-than-once white list.
72674
72675         * modules/openat (Depends-on): Add lstat.  Alphabetize.
72676
72677 2006-08-21  Bruno Haible  <bruno@clisp.org>
72678
72679         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72680         Emit a pkgdata_DATA variable only if some snippets add contents to it.
72681         Reported by Martin Lambers <marlam@marlam.de>.
72682
72683 2006-08-21  Bruno Haible  <bruno@clisp.org>
72684
72685         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
72686         specify an installation location, don't emit a noinst_LIBRARIES or
72687         noinst_LTLIBRARIES assignment.
72688
72689 2006-08-21  Bruno Haible  <bruno@clisp.org>
72690
72691         BeOS portability.
72692         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
72693         BeOS has mbrtowc() but no <wctype.h>.
72694
72695 2006-08-21  Bruno Haible  <bruno@clisp.org>
72696
72697         BeOS portability.
72698         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
72699         exist.
72700
72701 2006-08-21  Bruno Haible  <bruno@clisp.org>
72702
72703         BeOS portability.
72704         * lib/mbchar.h: Include <wctype.h> only if it exists.
72705
72706 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72707
72708         Remove files that are no longer needed by their respective modules.
72709         * m4/obstack.m4: Remove.
72710         * m4/strerror_r.m4: Remove.
72711         * m4/uint32_t.m4: Remove.
72712         * m4/uintptr_t.m4: Remove.
72713         * m4/ullong_max.m4: Remove.
72714         * m4/xstrtoimax.m4: Remove.
72715         * m4/xstrtoumax.m4: Remove.
72716
72717         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
72718         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
72719         dependencies now capture this.
72720
72721         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
72722         Do not use AC_LIBSOURCES, since gnulib modules now do this.
72723         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
72724         * m4/human.m4 (gl_HUMAN): Likewise.
72725         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
72726         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
72727
72728         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
72729
72730         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
72731         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
72732         stdint.
72733         * m4/human.m4 (gl_HUMAN): Likewise.
72734         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
72735         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
72736         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
72737         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
72738         * m4/xstrtol (gl_XSTRTOL): Likewise.
72739
72740         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
72741         AC_TYPE_LONG_LONG_INT.
72742         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
72743         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
72744         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
72745         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
72746
72747         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
72748         on stdbool.
72749
72750         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
72751         (gl_PREREQ_XSTRTOUL): Remove.
72752
72753         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
72754
72755         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
72756         mode.
72757
72758 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72759
72760         Add and change modules to make it easier for coreutils to use
72761         gnulib-tool.
72762         * modules/backupfile (Files): Remove m4/d-ino.m4.
72763         (Depends-on): Add d-ino.
72764         * modules/cycle-check (Depends-on): Add stdint.
72765         (lib_SOURCES): Add cycle-check.h.
72766         * modules/d-ino: New module.
72767         * modules/d-type: New module.
72768         * modules/error (Files): Remove m4/strerror_r.m4.
72769         * modules/filemode (Files): Add m4/st_dm_mode.m4.
72770         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
72771         m4/inttypes_h.m4, m4/uintmax_t.m4.
72772         (Depends-on): Add stdint.
72773         (lib_SOURCES): Add fsusage.h.
72774         * modules/getcwd (Files): Remove d-ino.m4.
72775         (Depends-on): Add d-ino.
72776         * modules/getndelim2 (Depends-on): Add stdint.
72777         * modules/glob (Files): Remove m4/d-type.m4.
72778         (Depends-on): Add d-type.
72779         * modules/host-os: New module.
72780         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
72781         m4/inttypes_h.m4, m4/uintmax_t.m4.
72782         * Depends-on: Add stdint.
72783         (lib_SOURCES): Add human.h.
72784         * modules/inttostr (Files): Remove m4/intmax_t.m4,
72785         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
72786         m4/uintmax_t.m4, m4/ulonglong.m4.
72787         (Depends-on): Add stdint.
72788         (EXTRA_DIST): Add inttostr.h.
72789         * modules/lchmod: New module.
72790         * modules/link-follow: New module.
72791         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
72792         (Depends-on): Add lchmod.
72793         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
72794         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
72795         (Depends-on): Add stdint.
72796         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
72797         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
72798         (Depends-on): Add stdint.
72799         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
72800         * modules/perl: New module.
72801         * modules/regex (Depends-on): Add stdint.
72802         * modules/rmdir-errno: New module.
72803         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
72804         m4/intmax_t.m4.
72805         (Depends-on): Add stdint.
72806         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
72807         m4/uintmax_t.m4.
72808         (Depends-on): Add stdint.
72809         * modules/unlink-busy: New module.
72810         * modules/utimecmp (Depends-on): Add stdint.
72811         * modules/uptime: New module.
72812         * modules/winsz-ioctl: New module.
72813         * modules/winsz-termios: New module.
72814         * modules/xnanosleep (Depends-on): Add nanosleep.
72815         * modules/ullong_max: Remove.
72816         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
72817         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
72818         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
72819         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
72820         (Depends-on): Add inttypes.
72821         (lib_SOURCES): Add xstrtol.h.
72822         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
72823         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
72824         * MODULES.html.sh: Move 'assert' into the assert section.
72825         Move 'dummy' into the linking section.
72826         Remove ullong_max.
72827         Add section for compatibility checks for POSIX:2001 functions,
72828         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
72829         winsz-ioctl, and winsz-termios into it.
72830         Add lchmod.
72831         Add top-level Misc section and put host-os, perl, and uptime
72832         into it.
72833
72834 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72835
72836         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
72837         now assume the stdint module.  Do not include inttypes.h.
72838         * lib/fsusage.h: Likewise.
72839         * lib/getndelim2.c: Likewise.
72840         * lib/human.h: Likewise.
72841         * lib/inttostr.h: Likewise.
72842         * lib/obstack.c: Likewise.
72843         * lib/regex_internal.h: Likewise.
72844         * lib/tempname.c: Likewise.
72845         * lib/utimecmp.c: Likewise.
72846         * lib/xstrtol.h: Likewise.
72847
72848         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
72849
72850         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
72851         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
72852         * lib/xtime.h: Likewise.
72853
72854 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72855
72856         * modules/openat (Files): Add lib/fchmodat.c.
72857         Fixes problem reported by Jay Youngman.
72858
72859 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72860
72861         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
72862         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
72863
72864 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
72865             Bruno Haible  <bruno@clisp.org>
72866
72867         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
72868         and is a script that invokes bison. Tighten the code. Add comments.
72869
72870 2006-08-18  Jim Meyering  <jim@meyering.net>
72871
72872         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
72873         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
72874         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
72875         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
72876
72877 2006-08-18  Bruno Haible  <bruno@clisp.org>
72878
72879         * modules/bison-i18n: New file.
72880         * MODULES.html.sh (Internationalization functions): Add it.
72881
72882 2006-08-18  Bruno Haible  <bruno@clisp.org>
72883
72884         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
72885         sys/statvfs.h. When getmntinfo was found, check its declaration and
72886         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
72887
72888 2006-08-18  Bruno Haible  <bruno@clisp.org>
72889
72890         * m4/bison-i18n.m4: New file, from bison.
72891
72892 2006-08-18  Bruno Haible  <bruno@clisp.org>
72893
72894         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
72895         (ME_DUMMY): Treat "kernfs" as a dummy.
72896         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
72897
72898 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
72899
72900         Update from coreutils.
72901
72902         2006-08-15  Jim Meyering  <jim@meyering.net>
72903
72904         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
72905
72906         2006-01-17  Jim Meyering  <jim@meyering.net>
72907
72908         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
72909
72910         2006-01-11  Jim Meyering  <jim@meyering.net>
72911
72912         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
72913         Check for the lchmod function.
72914
72915 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
72916
72917         Update from coreutils.
72918
72919         * lib/__fpending.h: Add copyright notice.
72920         * lib/fprintftime.h: Likewise.
72921         * lib/savedir.c: Use (C) in copyright notice.
72922         * lib/savedir.h: Likewise.
72923
72924         2006-08-15  Jim Meyering  <jim@meyering.net>
72925
72926         * lib/at-func.c: New file, with the logic of all emulated at-functions.
72927         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
72928         in support of the EXPECTED_ERRNO macro.
72929         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
72930         definitions.  Instead, define the appropriate symbols and include
72931         "at-func.c".
72932         * lib/mkdirat.c (mkdirat): Likewise.
72933         * lib/fchmodat.c (fchmodat): Likewise.
72934         (ENOSYS): Remove definition.
72935         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
72936         it.  Don't include "unistd--.h" -- it wasn't ever used.
72937
72938         2006-01-17  Jim Meyering  <jim@meyering.net>
72939
72940         Rewrite fts.c not to change the current working directory,
72941         by using openat, fstatat, fdopendir, etc..
72942
72943         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
72944         (HAVE_OPENAT_SUPPORT): Define.
72945         [_LIBC] (fchdir): Don't undef or define; no longer used.
72946         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
72947         Now, this `function' always succeeds, and consumes its file descriptor
72948         parameter -- so callers must not close such FDs.  Update callers.
72949         (diropen_fd, opendirat, cwd_advance_fd): New functions.
72950         (diropen): Add parameter, SP.  Adjust all callers.
72951         Implement using diropen_fd, rather than open.
72952         (fts_open): Initialize new member, fts_cwd_fd.
72953         Remove fts_rft-setting code.
72954         (fts_close): Close fts_cwd_fd, if necessary.
72955         (__opendir2): Define in terms of opendir or opendirat,
72956         depending on whether the FST_NOCHDIR flag is set.
72957         (fts_build): Since fts_safe_changedir consumes its FD, and since
72958         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
72959         and close the dup'd file descriptor upon failure.
72960         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
72961         (fts_safe_changedir): Tweak semantics to reflect that this function
72962         now calls cwd_advance_fd and hence consumes its FD argument.
72963         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
72964         [struct FTS] (fts_rft): Remove now-unused member.
72965         [struct FTS] (fts_cycle.state): Improve comment.
72966
72967         * lib/openat.c (openat_needs_fchdir): New function.
72968         * lib/openat.h (openat_needs_fchdir): Declare it.
72969
72970 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
72971
72972         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
72973         Problem and fix reported by Pádraig Brady in
72974         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
72975
72976 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72977
72978         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
72979
72980 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72981
72982         * lib/memcoll.c (memcoll): Optimize for the common case where the
72983         arguments are bytewise equal.
72984
72985 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72986
72987         * doc/regexprops-generic.texi: Add a copyright notice.
72988
72989 2006-08-15  Bruno Haible  <bruno@clisp.org>
72990
72991         * modules/tmpdir (License): Change to LGPL.
72992
72993 2006-08-15  Bruno Haible  <bruno@clisp.org>
72994
72995         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
72996         module.
72997
72998 2006-08-14  Simon Josefsson  <jas@extundo.com>
72999
73000         * config/srclist.txt: Add gnupload.
73001
73002 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73003
73004         Change copyright notice from LGPL 2 to GPL 2, since that's the
73005         standard form used in the gnulib repository.
73006         * tests/test-lock.c: Likewise.
73007         * tests/test-stdint.c: Likewise.
73008         * tests/test-tls.c: Likewise.
73009
73010         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
73011         prelude-manager.  User shorter URLs for GNU projects, without '?'.
73012         Add copyright notice.
73013
73014         * check-module: Add copyright notice.  Output a copyright
73015         notice if "--version" is specified.
73016         * modules/COPYING: New file.
73017         * tests/test-getaddrinfo.c: Add copyright notice.
73018         * tests/test-verify.c: Likewise.
73019
73020 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73021
73022         Change copyright notice from LGPL 2 to GPL 2, since that's the
73023         standard form used in the gnulib repository.
73024         * lib/lock.c: LGPL -> GPL.
73025         * lib/lock.h: Likewise.
73026         * lib/strnlen1.c: Likewise.
73027         * lib/strnlen1.h: Likewise.
73028         * lib/tls.c: Likewise.
73029         * lib/tls.h: Likewise.
73030         * lib/tmpdir.c: Likewise.
73031
73032         * lib/TODO: Remove; this belongs only in coreutils.
73033
73034 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73035
73036         Add copyright notices to long-enough files that lack them, since
73037         otherwise the files aren't clearly free.  Use the same notice that
73038         getdate.texi already uses.
73039         * doc/alloca-opt.texi: Add copyright notice.
73040         * doc/alloca.texi: Likewise.
73041         * doc/ctime.texi: Likewise.
73042         * doc/functions.texi: Likewise.
73043         * doc/gcd.texi: Likewise.
73044         * doc/gnulib-tool.texi: Likewise.
73045         * doc/inet_ntoa.texi: Likewise.
73046         * doc/visibility.texi: Likewise.
73047
73048         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
73049         * doc/quote.texi: Add copyright notice.
73050
73051         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
73052         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
73053         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
73054         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
73055         is now obsolete, and give a pointer to the Sun list.
73056         Add copyright notice.
73057
73058 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73059
73060         * config/srclistvars.sh: Add copyright notice.
73061
73062 2006-08-14  Eric Blake  <ebb9@byu.net>
73063
73064         Import the following change from libc:
73065
73066         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
73067
73068         Upstream bug 2997.
73069         * lib/misc/error.c: Add space between program name and message if file
73070         name is missing.
73071
73072 2006-08-12  Karl Berry  <karl@gnu.org>
73073
73074         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
73075         remove, these originate in gnulib now.
73076
73077 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73078
73079         * doc/Makefile (standards.info standards.html standards.dvi):
73080         Also depend on make-stds.texi.
73081
73082 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
73083
73084         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
73085         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
73086
73087         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
73088         in wchar_t.  Problem reported by Eric Blake.
73089
73090         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
73091         LEN is smaller than SIZE.  Suggested by Bruno Haible.
73092         Also, help the compiler to keep LEN in a register.
73093
73094 2006-08-11  Eric Blake  <ebb9@byu.net>
73095
73096         * users.txt: Sort.  Add tar.
73097
73098 2006-08-11  Bruno Haible  <bruno@clisp.org>
73099
73100         * users.txt: New file.
73101
73102 2006-08-11  Bruno Haible  <bruno@clisp.org>
73103
73104         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
73105         before <wchar.h>. Needed for OSF/1 and BSD/OS.
73106
73107 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
73108
73109         * modules/snprintf (Depends-on): Remove minmax.
73110         (Maintainer): Add self and Bruno.
73111
73112 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
73113
73114         * lib/.cppi-disable: Add snprintf.h, socket_.h.
73115         * lib/snprintf.c: Include <errno.h> and <limits.h>.
73116         (EOVERFLOW): Define if the system does not.
73117         Do not include "minmax.h"; it wasn't used.
73118         (snprintf): Don't assume size_t promotes to an unsigned type.
73119         Fix bug when generated string was too long for the buffer: the
73120         buffer's contents are supposed to be the initial prefix of the
73121         output.  Don't assume vasnprintf returns EOVERFLOW if the size
73122         exceeds INT_MAX; do the check ourselves.
73123
73124         Import the following changes from libc:
73125
73126         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
73127
73128         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
73129         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
73130         set wc to the byte which couldn't be converted.
73131         (re_string_reconstruct): Don't clear valid_raw_len before calling
73132         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
73133         tip_context using re_string_context_at.
73134
73135         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
73136
73137         * lib/posix/regex.h: g++ still cannot handled [restrict].
73138
73139         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
73140
73141         * lib/posix/regex.h: Remove special handling for VMS.
73142
73143 2006-08-10  Jim Meyering  <jim@meyering.net>
73144
73145         * modules/same-inode: New module.
73146         * modules/dev-ino: New module.
73147         * modules/cycle-check: Depend on these modules, rather than simply
73148         including their .h files.
73149         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
73150         required via m4/cycle-check.m4.
73151         * modules/same: Depend on new same-inode module, rather than
73152         including same-inode.h.
73153         * modules/chdir-safer: New file.
73154
73155         * modules/chown (Depends-on): Add stat-macros.
73156
73157 2006-08-10  Jim Meyering  <jim@meyering.net>
73158
73159         * m4/cycle-check.m4: New file.
73160         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
73161         * m4/dev-ino.m4, m4/same-inode.m4: New files.
73162
73163 2006-08-10  Eric Blake  <ebb9@byu.net>
73164
73165         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
73166         in from original proposal.
73167
73168 2006-08-10  Eric Blake  <ebb9@byu.net>
73169         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
73170
73171         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
73172         namespace.
73173
73174 2006-08-10  Bruno Haible  <bruno@clisp.org>
73175
73176         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
73177         as well.
73178
73179 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73180
73181         Sync from coreutils.
73182
73183         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
73184
73185         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
73186         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
73187
73188 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73189
73190         * modules/restrict: Remove; no longer needed now that we assume
73191         Autoconf 2.59 or later.
73192         * MODULES.html.sh: Remove 'restrict'.
73193         * modules/argp (Depends-on): Remove 'restrict'.
73194         * modules/base64 (Depends-on): Likewise.
73195         * modules/gc (Depends-on): Likewise.
73196         * modules/getaddrinfo (Depends-on): Likewise.
73197         * modules/glob (Depends-on): Likewise.
73198         * modules/inet_ntop (Depends-on): Likewise.
73199         * modules/inet_pton (Depends-on): Likewise.
73200         * modules/memxor (Depends-on): Likewise.
73201         * modules/regex (Depends-on): Likewise.
73202         * modules/strtok_r (Depends-on): Likewise.
73203         * modules/time_r (Depends-on): Likewise.
73204
73205 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73206
73207         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
73208         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
73209         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
73210         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
73211         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
73212         * m4/memxor.m4 (gl_MEMXOR): Likewise.
73213         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
73214         gl_C_RESTRICT replaced by AC_C_RESTRICT.
73215
73216         Merge from coreutils.
73217         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
73218         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
73219         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
73220         * m4/time_r.m4 (gl_TIME_R): Likewise.
73221
73222 2006-08-09  Karl Berry  <karl@gnu.org>
73223
73224         * config/srclist.txt: no more gettext-tools, per Bruno.
73225
73226 2006-08-08  Eric Blake  <ebb9@byu.net>
73227
73228         * modules/verror: New module.
73229         * MODULES.html.sh: Document it.
73230
73231 2006-08-08  Eric Blake  <ebb9@byu.net>
73232
73233         * lib/verror.h, lib/verror.c: New files.
73234
73235 2006-08-08  Eric Blake  <ebb9@byu.net>
73236
73237         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
73238         verror_at_line output complies with GNU Coding Standards even when
73239         file is NULL.
73240
73241 2006-08-07  Bruno Haible  <bruno@clisp.org>
73242
73243         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
73244         versions of AIX.
73245         Reported by Ralf Wildenhues.
73246
73247 2006-08-07  Bruno Haible  <bruno@clisp.org>
73248
73249         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
73250         in an AC_DEFUN. Needed so that the autoconf snippets can use
73251         AC_REQUIRE.
73252
73253 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73254
73255         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73256         Initialize pkgdata_DATA.
73257         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
73258         overriding it.
73259
73260 2006-08-06  Eric Blake  <ebb9@byu.net>
73261
73262         * lib/error.h: Fold in some upstream changes from glibc.
73263         * lib/error.c: Likewise.
73264
73265 2006-08-04  Bruno Haible  <bruno@clisp.org>
73266
73267         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73268         Make the mostlyclean-local rule depend on mostlyclean-generic.
73269         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
73270
73271 2006-07-31  Bruno Haible  <bruno@clisp.org>
73272
73273         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
73274         <stdlib.h>, <string.h>.
73275
73276 2006-07-30  Bruno Haible  <bruno@clisp.org>
73277
73278         * modules/readlink (License): Change to LGPL.
73279
73280 2006-07-30  Bruno Haible  <bruno@clisp.org>
73281
73282         * modules/javaversion (Makefile.am): Distribute javaversion.java and
73283         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
73284         set PKGDATADIR to point to it.
73285
73286 2006-07-30  Bruno Haible  <bruno@clisp.org>
73287
73288         * modules/csharpexec (configure.ac): Comment out macro invocation.
73289         * modules/javaexec (configure.ac): Likewise.
73290         * modules/javacomp-script (configure.ac): Likewise.
73291
73292         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
73293
73294 2006-07-30  Bruno Haible  <bruno@clisp.org>
73295
73296         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
73297         linked-list.
73298
73299 2006-07-30  Bruno Haible  <bruno@clisp.org>
73300
73301         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
73302
73303 2006-07-30  Bruno Haible  <bruno@clisp.org>
73304
73305         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73306         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
73307         get removed.
73308
73309 2006-07-29  Bruno Haible  <bruno@clisp.org>
73310
73311         Make it possible for gnulib-tool to work with locally modified or
73312         augmented gnulib repositories.
73313         * gnulib-tool (func_usage): Document --local-dir option.
73314         (local_gnulib_dir): New variable.
73315         Handle --local-dir option.
73316         (func_lookup_file): New function.
73317         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
73318         (func_get_description, func_get_filelist, func_get_description,
73319         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
73320         func_get_automake_snippet, func_get_include_directive,
73321         func_get_license, func_get_maintainer): Use func_lookup_file.
73322         (func_import, func_create_testdir): Use func_lookup_file.
73323
73324 2006-07-29  Bruno Haible  <bruno@clisp.org>
73325
73326         * modules/setenv (Depends-on): Add unistd.
73327
73328 2006-07-29  Bruno Haible  <bruno@clisp.org>
73329
73330         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
73331
73332 2006-07-29  Bruno Haible  <bruno@clisp.org>
73333
73334         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
73335
73336 2006-07-29  Bruno Haible  <bruno@clisp.org>
73337
73338         * gnulib-tool (import, update): If there is no Makefile.am, look at
73339         aclocal.m4, instead of bailing out.
73340
73341 2006-07-29  Bruno Haible  <bruno@clisp.org>
73342
73343         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
73344         Categorize the options by when they are useful.
73345
73346 2006-07-29  Bruno Haible  <bruno@clisp.org>
73347
73348         * gnulib-tool (func_usage): Document option --no-libtool.
73349         Handle option --no-libtool.
73350         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
73351         for changed semantics of $libtool variable.
73352         (func_import): Likewise. If libtool is not used, show this through
73353         an option --no-libtool.
73354         (func_create_testdir): Update.
73355
73356 2006-07-29  Bruno Haible  <bruno@clisp.org>
73357
73358         * gnulib-tool (func_import): Extend error message about missing
73359         --doc-base.
73360
73361 2006-07-29  Bruno Haible  <bruno@clisp.org>
73362
73363         * gnulib-tool (func_import): Don't create the $docbase directory if
73364         there is no file to store there.
73365
73366 2006-07-29  Bruno Haible  <bruno@clisp.org>
73367
73368         * gnulib-tool (autoconf_minversion): If a --dir option is given and
73369         relevant, look for configure.ac there, not in the current directory.
73370         Also use a simple search for AC_PREREQ, not "autoconf --trace".
73371
73372 2006-07-29  Bruno Haible  <bruno@clisp.org>
73373
73374         * gnulib-tool (SORT): New variable.
73375         (func_usage): Undocument --assume-autoconf option.
73376         Remove --assume-autoconf option handling.
73377         (autoconf_minversion): Determine from the contents of configure.ac.
73378         (func_import): Remove autoconf_minversion handling.
73379         Suggested by Eric Blake.
73380
73381 2006-07-29  Bruno Haible  <bruno@clisp.org>
73382
73383         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
73384
73385 2006-07-29  Bruno Haible  <bruno@clisp.org>
73386
73387         * config/srclist.txt (*setenv.[ch]): Remove rules.
73388
73389 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73390
73391         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
73392
73393 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73394
73395         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
73396         arpa/inet.h.
73397
73398 2006-07-28  Simon Josefsson  <jas@extundo.com>
73399
73400         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
73401         * modules/inet_pton (Depends-on): Likewise.
73402
73403 2006-07-28  Simon Josefsson  <jas@extundo.com>
73404
73405         * m4/netinet_in_h.m4: New file.
73406
73407 2006-07-28  Simon Josefsson  <jas@extundo.com>
73408
73409         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
73410         #include's.
73411
73412 2006-07-28  Simon Josefsson  <jas@extundo.com>
73413
73414         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
73415         #include's.
73416
73417 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
73418
73419         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
73420         setgid on directories only if they set these bits.
73421         * lib/modechange.h: Remove obsolete comment about masks.
73422
73423 2006-07-28  Eric Blake  <ebb9@byu.net>
73424
73425         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
73426         macro expansion.
73427
73428 2006-07-28  Bruno Haible  <bruno@clisp.org>
73429
73430         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
73431
73432 2006-07-28  Bruno Haible  <bruno@clisp.org>
73433
73434         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
73435
73436 2006-07-28  Bruno Haible  <bruno@clisp.org>
73437
73438         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
73439         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
73440         Define fallbacks.
73441         Avoids link error on FreeBSD 4.x.
73442         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
73443
73444         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
73445         encoding.
73446         * lib/mbswidth.c (iswcntrl): Likewise.
73447
73448 2006-07-27  Bruno Haible  <bruno@clisp.org>
73449
73450         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
73451         test.
73452
73453 2006-07-27  Bruno Haible  <bruno@clisp.org>
73454
73455         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
73456         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
73457         defined.
73458
73459 2006-07-26  Eric Blake  <ebb9@byu.net>
73460
73461         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
73462
73463 2006-07-26  Eric Blake  <ebb9@byu.net>
73464
73465         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
73466         like mingw that lack mkstemp.
73467         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
73468         avoid compilation warning on mingw.
73469
73470 2006-07-26  Bruno Haible  <bruno@clisp.org>
73471
73472         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
73473         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
73474         INT_FAST*_MIN, INTPTR_MIN.
73475
73476 2006-07-25  Bruno Haible  <bruno@clisp.org>
73477
73478         * modules/version-etc (Depends-on): Add stdarg.
73479
73480 2006-07-25  Bruno Haible  <bruno@clisp.org>
73481
73482         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
73483         complex commands.
73484
73485 2006-07-25  Bruno Haible  <bruno@clisp.org>
73486
73487         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
73488         defined in <stdarg.h> or config.h.
73489
73490 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
73491
73492         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
73493         (gl_STDIO_SAFER): Remove.
73494
73495 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
73496
73497         * MODULES.html.sh (File stream based Input/Output):
73498         Add fopen-safer, tmpfile-safer; remove stdio-safer.
73499         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
73500         * modules/fopen-safer, modules/tmpfile-safer: New files.
73501         * modules/stdio-safer: Remove.
73502
73503 2006-07-24  Bruno Haible  <bruno@clisp.org>
73504
73505         * modules/tmpdir: New file.
73506         * MODULES.html.sh (File system functions): Add it.
73507
73508 2006-07-24  Bruno Haible  <bruno@clisp.org>
73509
73510         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
73511         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
73512
73513 2006-07-24  Bruno Haible  <bruno@clisp.org>
73514
73515         * modules/clean-temp: New file.
73516
73517 2006-07-24  Bruno Haible  <bruno@clisp.org>
73518
73519         * m4/tmpdir.m4: New file, from GNU gettext.
73520
73521 2006-07-24  Bruno Haible  <bruno@clisp.org>
73522
73523         * lib/tmpdir.h: New file, from GNU gettext.
73524         * lib/tmpdir.c: New file, from GNU gettext.
73525
73526 2006-07-24  Bruno Haible  <bruno@clisp.org>
73527
73528         * lib/clean-temp.h: New file, from GNU gettext.
73529         * lib/clean-temp.c: New file, from GNU gettext.
73530
73531 2006-07-23  Eric Blake  <ebb9@byu.net>
73532
73533         * modules/stdio-safer (Files): Add tmpfile-safer.c.
73534         (Depends-on): Add binary-io.
73535
73536 2006-07-23  Eric Blake  <ebb9@byu.net>
73537
73538         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
73539
73540 2006-07-23  Eric Blake  <ebb9@byu.net>
73541
73542         * lib/tmpfile-safer.c: New file.
73543         * lib/stdio-safer.h (fopen_safer): Add prototype.
73544         * lib/stdio--.h (tmpfile): Make safer.
73545
73546 2006-07-23  Bruno Haible  <bruno@clisp.org>
73547
73548         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
73549         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
73550         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
73551         gl_linked_remove_at): Use it.
73552
73553 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73554         and Simon Josefsson <jas@extundo.com>
73555
73556         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
73557
73558         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
73559
73560 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
73561
73562         * modules/close-stream: New file.
73563         * modules/closeout (Description): Make it clear that it exits
73564         with a diagnostic on error.
73565         (Depends-on): Add close-stream.  Remove fpending, stdbool.
73566         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
73567
73568 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
73569
73570         * m4/close-stream.m4: New file.
73571
73572 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
73573
73574         * lib/close-stream.c, lib/close-stream.h: New files.
73575
73576 2006-07-22  Bruno Haible  <bruno@clisp.org>
73577
73578         Merge from GNU gettext 0.15.
73579
73580         2006-05-01  Bruno Haible  <bruno@clisp.org>
73581
73582                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
73583
73584         2006-07-22  Bruno Haible  <bruno@clisp.org>
73585
73586                 * modules/javaversion: New file.
73587                 * MODULES.html.sh (Java): Add javaversion.
73588
73589         2006-03-12  Bruno Haible  <bruno@clisp.org>
73590
73591                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
73592
73593         2005-12-04  Bruno Haible  <bruno@clisp.org>
73594
73595                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
73596                 (untested).
73597
73598         2006-06-21  Bruno Haible  <bruno@clisp.org>
73599
73600                 Avoid warnings from recent versions of mcs.
73601                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
73602                 -o, -L, -r any more. Use options documented since mcs-1.0
73603                 instead. Similarly for -g.
73604
73605         2005-12-04  Bruno Haible  <bruno@clisp.org>
73606
73607                 * build-aux/csharpcomp.sh.in: Suffix for resources is
73608                 .resources, not .resource.
73609
73610         2005-07-09  Bruno Haible  <bruno@clisp.org>
73611
73612                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
73613                 add a .dll suffix.
73614                 Reported by Mark Junker <mjscod@gmx.de>.
73615
73616         2006-07-22  Bruno Haible  <bruno@clisp.org>
73617
73618                 * modules/gettext: Upgrade to gettext-0.15.
73619                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
73620                 m4/visibility.m4.
73621                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
73622
73623 2006-07-22  Bruno Haible  <bruno@clisp.org>
73624
73625         Merge from GNU gettext 0.15.
73626
73627         2006-03-25  Bruno Haible  <bruno@clisp.org>
73628
73629                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
73630
73631         2006-07-21  Bruno Haible  <bruno@clisp.org>
73632
73633                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
73634                 "1.1".
73635
73636         2006-05-09  Bruno Haible  <bruno@clisp.org>
73637
73638                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
73639                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
73640                 for the conftestver execution.
73641
73642         2006-05-01  Bruno Haible  <bruno@clisp.org>
73643
73644                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
73645                 optional target-version argument. Verify that the compiler
73646                 groks source of the specified source-version, or add -source
73647                 option as necessary. Verify that the compiler produces
73648                 bytecode in the specified target-version, or add -target and
73649                 -source options as necessary. Make the result of the test
73650                 available as variable CONF_JAVAC. Also log error output in
73651                 config.log.
73652
73653         2006-03-11  Bruno Haible  <bruno@clisp.org>
73654
73655                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
73656
73657         2006-05-09  Bruno Haible  <bruno@clisp.org>
73658
73659                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
73660                 CLASSPATH_SEPARATOR to a semicolon.
73661
73662         2006-03-12  Bruno Haible  <bruno@clisp.org>
73663
73664                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
73665                 available as variable CONF_JAVA, for subsequent autoconf
73666                 tests. Also log error output in config.log.
73667
73668         2006-07-19  Bruno Haible  <bruno@clisp.org>
73669
73670                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
73671                 that getline works on glibc2 systems. Needed to avoid trouble
73672                 in relocatable.c.
73673                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
73674
73675         2005-12-04  Bruno Haible  <bruno@clisp.org>
73676
73677                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
73678                 launcher (untested).
73679
73680         2005-12-04  Bruno Haible  <bruno@clisp.org>
73681
73682                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
73683
73684         2006-07-22  Bruno Haible  <bruno@clisp.org>
73685
73686                 * gettext.m4: Update from GNU gettext-0.15.
73687                 * nls.m4: Likewise.
73688                 * po.m4: Likewise.
73689                 * inttypes-pri.m4: Likewise.
73690                 * inttypes-h.m4: Renamed from inttypes.m4.
73691                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
73692
73693 2006-07-22  Bruno Haible  <bruno@clisp.org>
73694
73695         Merge from GNU gettext 0.15.
73696
73697         2005-07-05  Bruno Haible  <bruno@clisp.org>
73698
73699                 * printf-args.c (printf_fetchargs): Work around broken
73700                 definition of wint_t on mingw.
73701
73702         2005-02-12  Bruno Haible  <bruno@clisp.org>
73703
73704                 * xallocsa.h: Add extern "C" for C++.
73705
73706         2006-05-17  Bruno Haible  <bruno@clisp.org>
73707
73708                 Cygwin portability.
73709                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
73710
73711         2006-04-30  Bruno Haible  <bruno@clisp.org>
73712
73713                 * progreloc.c: Include <mach-o/dyld.h> if available.
73714                 (find_executable): Use _NSGetExecutablePath when possible.
73715
73716         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73717
73718                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
73719                 function.
73720
73721         2005-12-29  Bruno Haible  <bruno@clisp.org>
73722
73723                 * progreloc.c (set_program_name_and_installdir): Fix
73724                 compilation error.
73725
73726         2005-12-04  Bruno Haible  <bruno@clisp.org>
73727
73728                 Cygwin portability.
73729                 * progreloc.c: Include <windows.h> also on Cygwin.
73730                 (find_executable): Add support for Cygwin.
73731                 (set_program_name_and_installdir): Handle also platforms with
73732                 nonempty EXEEXT.
73733
73734         2006-07-11  Bruno Haible  <bruno@clisp.org>
73735
73736                 * javacomp.c: Fix a comment.
73737                 Reported by Jim Meyering.
73738
73739         2006-04-30  Bruno Haible  <bruno@clisp.org>
73740
73741                 * javacomp.h (compile_java_class): Add source_version,
73742                 target_version arguments.
73743                 * javacomp.c: Rewritten to choose only a compiler that
73744                 respects the specified source_version and target_version.
73745
73746         2006-06-27  Bruno Haible  <bruno@clisp.org>
73747
73748                 Assume correct S_ISDIR macro.
73749                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
73750
73751         2006-07-22  Bruno Haible  <bruno@clisp.org>
73752
73753                 * javaversion.h: New file, from GNU gettext.
73754                 * javaversion.c: New file, from GNU gettext.
73755                 * javaversion.java: New file, from GNU gettext.
73756                 * javaversion.class: New file, from GNU gettext.
73757
73758         2006-05-17  Bruno Haible  <bruno@clisp.org>
73759
73760                 Cygwin portability.
73761                 * javaexec.c (execute_java_class): Test for jview program
73762                 also on Cygwin.
73763
73764         2006-04-09  Bruno Haible  <bruno@clisp.org>
73765
73766                 * fatal-signal.c: Don't include string.h.
73767                 (at_fatal_signal): Use a copying loop instead of memcpy.
73768
73769         2005-12-04  Bruno Haible  <bruno@clisp.org>
73770
73771                 * csharpexec.c: Add support for 'clix' launcher (untested).
73772                 (execute_csharp_using_sscli): New function.
73773                 (execute_csharp_program): Call it.
73774
73775         2006-06-21  Bruno Haible  <bruno@clisp.org>
73776
73777                 Avoid warnings from recent versions of mcs.
73778                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
73779                 -o, -L, -r any more. Use options documented since mcs-1.0
73780                 instead. Similarly for -g.
73781
73782         2005-07-09  Bruno Haible  <bruno@clisp.org>
73783
73784                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
73785                 add a .dll suffix.
73786                 Reported by Mark Junker <mjscod@gmx.de>.
73787
73788         2006-06-17  Bruno Haible  <bruno@clisp.org>
73789
73790                 * config.charset: Update for NetBSD 3.0.
73791
73792         2006-05-17  Bruno Haible  <bruno@clisp.org>
73793
73794                 Cygwin portability.
73795                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
73796
73797         2006-05-16  Bruno Haible  <bruno@clisp.org>
73798
73799                 * localcharset.c [CYGWIN]: Include <windows.h>.
73800                 (get_charset_aliases): For Cygwin, return the same CPxxx
73801                 aliases list as under WIN32.
73802                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
73803                 the environment variables. Fall back to GetACP().
73804
73805         2006-04-05  Bruno Haible  <bruno@clisp.org>
73806
73807                 * config.charset: Update Juan Manuel Guerrero's address.
73808
73809         2005-02-12  Bruno Haible  <bruno@clisp.org>
73810
73811                 * allocsa.h: Add extern "C" for C++.
73812
73813         2005-02-10  Bruno Haible  <bruno@clisp.org>
73814
73815                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
73816                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
73817
73818         2006-07-22  Bruno Haible  <bruno@clisp.org>
73819
73820                 * gettext.h: Update to GNU gettext-0.15.
73821
73822 2006-07-22  Bruno Haible  <bruno@clisp.org>
73823
73824         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
73825         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
73826         lib-prefix.m4, longdouble.m4, ssize_t.m4.
73827
73828 2006-07-21  Eric Blake  <ebb9@byu.net>
73829
73830         * modules/stdlib-safer: New file.
73831         * MODULES.html.sh (File stream based Input/Output): Add
73832         stdlib-safer.
73833
73834 2006-07-21  Eric Blake  <ebb9@byu.net>
73835
73836         * lib/stdlib-safer.h: New file from coreutils, required by
73837         stdlib--.h.
73838
73839 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
73840
73841         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
73842
73843 2006-07-20  Bruno Haible  <bruno@clisp.org>
73844
73845         * gnulib-tool: Recognize new option --assume-autoconf.
73846         (autoconf_minversion): New variable.
73847         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
73848
73849 2006-07-20  Bruno Haible  <bruno@clisp.org>
73850
73851         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
73852
73853 2006-07-19  Derek R. Price  <derek@ximbiot.com>
73854
73855         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
73856         Reindent and repaginate.
73857
73858 2006-07-19  Derek Price  <derek@ximbiot.com>
73859
73860         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
73861         Correct grammar.
73862
73863 2006-07-17  Bruno Haible  <bruno@clisp.org>
73864
73865         * modules/list: New file.
73866         * modules/array-list: New file.
73867         * modules/carray-list, modules/carray-list-tests: New files.
73868         * modules/linked-list, modules/linked-list-tests: New files.
73869         * modules/avltree-list, modules/avltree-list-tests: New files.
73870         * modules/rbtree-list, modules/rbtree-list-tests: New files.
73871         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
73872         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
73873         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
73874         * modules/oset: New file.
73875         * modules/array-oset: New file.
73876         * modules/avltree-oset, modules/avltree-oset-tests: New files.
73877         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
73878         * tests/test-carray_list.c: New file.
73879         * tests/test-linked_list.c: New file.
73880         * tests/test-avltree_list.c: New file.
73881         * tests/test-rbtree_list.c: New file.
73882         * tests/test-linkedhash_list.c: New file.
73883         * tests/test-avltreehash_list.c: New file.
73884         * tests/test-rbtreehash_list.c: New file.
73885         * tests/test-avltree_oset.c: New file.
73886         * tests/test-rbtree_oset.c: New file.
73887         * MODULES.html.sh (Container data structures): New section.
73888
73889 2006-07-17  Bruno Haible  <bruno@clisp.org>
73890
73891         * m4/gl_list.m4: New file.
73892
73893 2006-07-17  Bruno Haible  <bruno@clisp.org>
73894
73895         * lib/gl_list.h: New file.
73896         * lib/gl_list.c: New file.
73897         * lib/gl_array_list.h: New file.
73898         * lib/gl_array_list.c: New file.
73899         * lib/gl_carray_list.h: New file.
73900         * lib/gl_carray_list.c: New file.
73901         * lib/gl_linked_list.h: New file.
73902         * lib/gl_linked_list.c: New file.
73903         * lib/gl_anylinked_list1.h: New file.
73904         * lib/gl_anylinked_list2.h: New file.
73905         * lib/gl_avltree_list.h: New file.
73906         * lib/gl_avltree_list.c: New file.
73907         * lib/gl_anyavltree_list1.h: New file.
73908         * lib/gl_anyavltree_list2.h: New file.
73909         * lib/gl_rbtree_list.h: New file.
73910         * lib/gl_rbtree_list.c: New file.
73911         * lib/gl_anyrbtree_list1.h: New file.
73912         * lib/gl_anyrbtree_list2.h: New file.
73913         * lib/gl_anytree_list1.h: New file.
73914         * lib/gl_anytree_list2.h: New file.
73915         * lib/gl_linkedhash_list.h: New file.
73916         * lib/gl_linkedhash_list.c: New file.
73917         * lib/gl_anyhash_list1.h: New file.
73918         * lib/gl_anyhash_list2.h: New file.
73919         * lib/gl_avltreehash_list.h: New file.
73920         * lib/gl_avltreehash_list.c: New file.
73921         * lib/gl_rbtreehash_list.h: New file.
73922         * lib/gl_rbtreehash_list.c: New file.
73923         * lib/gl_anytreehash_list1.h: New file.
73924         * lib/gl_anytreehash_list2.h: New file.
73925
73926         * lib/gl_oset.h: New file.
73927         * lib/gl_oset.c: New file.
73928         * lib/gl_array_oset.h: New file.
73929         * lib/gl_array_oset.c: New file.
73930         * lib/gl_avltree_oset.h: New file.
73931         * lib/gl_avltree_oset.c: New file.
73932         * lib/gl_rbtree_oset.h: New file.
73933         * lib/gl_rbtree_oset.c: New file.
73934         * lib/gl_anytree_oset.h: New file.
73935
73936 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
73937
73938         * m4/mkancesdirs.m4: New file.
73939         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
73940         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
73941         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
73942         it.
73943
73944 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
73945
73946         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
73947         * lib/mkancesdirs.h: New files.
73948         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
73949         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
73950         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
73951         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
73952         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
73953         callers changed.  Revamp internals significantly, by not
73954         attempting to create directories that are temporarily more
73955         permissive than the final results.  Do not attempt to use
73956         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
73957         This removes some race conditions, fixes some bugs, and simplifies
73958         things.  Use new dirchownmod function to do owner and mode changes.
73959         * lib/mkdir-p.h: Likewise.
73960         * lib/modechange.c (octal_to_mode): New function.
73961         (struct mode_change): New member mentioned.
73962         (make_node_op_equals): New arg mentioned.  All callers changed.
73963         (mode_compile): Keep track of which mode bits the user has explicitly
73964         mentioned.
73965         (mode_adjust): New arg DIR, so that we implement the X op correctly.
73966         New arg PMODE_BITS, to keep track of which mode bits the user
73967         mentioned; it treats S_ISUID and S_ISGID speciall.
73968         All callers changed.
73969         * lib/modechange.h: Likewise.
73970
73971 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
73972
73973         * MODULES.html.sh: Add mkancestors.
73974         * modules/mkancesdirs: New module.
73975         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
73976         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
73977         The chdir-safer and afs files are now orphans; I'll remove them
73978         unless someone speaks up.
73979         Add lib/dirchownmod.c, lib/dirchownmod.h.
73980         (Depends-on): Remove alloca, chown, save-cwd, dirname.
73981         Add lchown, mkancesdirs.
73982         (Maintainer): Add self.
73983
73984 2006-07-15  Karl Berry  <karl@gnu.org>
73985
73986         * gnulib-tool: help message wording/arrangement.
73987
73988 2006-07-14  Simon Josefsson  <jas@extundo.com>
73989
73990         * doc/gnulib.texi (Libtool and Windows): New section.
73991
73992 2006-07-12  Simon Josefsson  <jas@extundo.com>
73993
73994         * modules/gendocs (License): Fix license, approved by Karl.
73995
73996 2006-07-12  Eric Blake  <ebb9@byu.net>
73997
73998         * MODULES.html.sh: Add gendocs.
73999
74000 2006-07-11  Eric Blake  <ebb9@byu.net>
74001
74002         * modules/fdl: New module, to install doc/fdl.texi.
74003         * MODULES.html.sh: Add new section for documentation modules.
74004         * gnulib-tool: Avoid space-tab.
74005         (--doc-base): New option, to manage files from doc.
74006
74007 2006-07-11  Eric Blake  <ebb9@byu.net>
74008
74009         * m4/absolute-header.m4: Fix comments to match recent change.
74010
74011 2006-07-11  Eric Blake  <ebb9@byu.net>
74012
74013         * gnulib-tool: List --doc-base before --tests-base.
74014
74015 2006-07-11  Derek R. Price  <derek@ximbiot.com>
74016
74017         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
74018
74019 2006-07-11  Bruno Haible  <bruno@clisp.org>
74020
74021         * README: Mention where to put documentation.
74022
74023 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74024
74025         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
74026
74027 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
74028
74029         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
74030         to stdint.m4.
74031
74032 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
74033
74034         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
74035         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
74036         "no/such/file/stdint.h" when there is no such file, so that
74037         the resulting C code can be parsed by dodgy compilers.
74038         Problems reported by Bob Proulx.
74039
74040 2006-07-10  Derek R. Price  <derek@ximbiot.com>
74041
74042         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
74043         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
74044         macros into the GNU _D_EXACT_NAMLEN.
74045         * lib/savedir.c:  Likewise.
74046         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
74047
74048 2006-07-10  Derek R. Price  <derek@ximbiot.com>
74049         and Paul Eggert  <eggert@cs.ucla.edu>
74050
74051         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
74052         * m4/savedir.m4:
74053         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
74054         macros into the GNU _D_EXACT_NAMLEN.
74055
74056 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74057
74058         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
74059         around the absolute name, to work around a problem with the HP-UX
74060         11.23 native C compiler, reported by Bob Proulx.
74061
74062 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74063
74064         * doc/maintain.texi, make-stds.texi: Sync from
74065         <http://savannah.gnu.org/projects/gnustandards>.
74066
74067 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74068
74069         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
74070
74071 2006-07-09  Jim Meyering  <jim@meyering.net>
74072
74073         * m4/glob.m4: Remove a doubled word in a comment.
74074
74075 2006-07-09  Jim Meyering  <jim@meyering.net>
74076
74077         * lib/argp-pv.c: Remove a doubled word in a comment.
74078         * lib/check-version.c (check_version): Likewise.
74079         * lib/javacomp.c (compile_java_class): Likewise.
74080
74081 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
74082
74083         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
74084         for the benefit of people using Autoconf 2.60.  If you want to
74085         support older Autoconf versions you can copy m4/onceonly_2_57.m4
74086         (or m4/onceonly.m4, if pre-2.57) manually.
74087
74088 2006-07-08  Jim Meyering  <jim@meyering.net>
74089
74090         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
74091         comment.
74092         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
74093         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
74094         comment.
74095
74096 2006-07-08  Jim Meyering  <jim@meyering.net>
74097
74098         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
74099
74100 2006-07-07  Simon Josefsson  <jas@extundo.com>
74101
74102         * tests/test-crc.c: Change expected crc value, the test vector
74103         were probably computed using the old broken crc.c?
74104
74105 2006-07-06  Simon Josefsson  <jas@extundo.com>
74106
74107         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
74108         now the canonical place for the M4 file).
74109
74110         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
74111         from the sys_socket dependency now.
74112
74113         * modules/inet_pton (Files): Ditto.
74114
74115         * modules/inet_ntop (Files): Ditto.
74116
74117 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74118
74119         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
74120         not gl_PREREQ_GETUSERSHELL.
74121
74122 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74123
74124         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
74125         with only one argument, for Autoconf 2.60.
74126         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
74127         expand to nothing, so add a shell command to avoid syntax error.
74128         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
74129
74130 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74131
74132         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
74133
74134 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74135
74136         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
74137         no longer needed.  Check for isblank decl.
74138         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
74139         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
74140         of existence.
74141
74142 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74143
74144         * lib/getloadavg.c: Use __VMS, not VMS.
74145         * lib/getopt.c: Likewise.
74146         * lib/getpagesize.h: Likewise.
74147         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
74148         and probably does not work.
74149
74150 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74151
74152         * lib/.cppi-disable: Add wcwidth.
74153         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
74154         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
74155         (ISGRAPH): Remove.  All uses changed to isgraph.
74156         (FOLD) [!defined _LIBC]: Remove special case.
74157         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
74158         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
74159         HAVE_ISBLANK.
74160         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
74161         case.
74162
74163 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
74164
74165         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
74166         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
74167         brackets.  Other minor changes to suppress some compiler
74168         warnings.
74169
74170 2006-07-06  Derek R. Price  <derek@ximbiot.com>
74171         and Paul Eggert  <eggert@cs.ucla.edu>
74172
74173         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
74174         of invoking obsolescent AC_HEADER_DIRENT macro.
74175         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
74176         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
74177         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
74178         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
74179         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
74180         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
74181         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
74182         * m4/readdir.m4: Remove; no longer needed.
74183
74184 2006-07-06  Derek R. Price  <derek@ximbiot.com>
74185         and Paul Eggert  <eggert@cs.ucla.edu>
74186
74187         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
74188         Don't worry about this obsolete case any more.
74189         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
74190         directories.
74191         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
74192         worry about this obsolete case any more.
74193         * lib/fts.c: Likewise.
74194         * lib/getcwd.c: Likewise.
74195         * lib/glob.h: Likewise.
74196         * lib/savedir.c: Likewise.
74197
74198 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
74199
74200         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
74201         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
74202         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
74203         needed.
74204         All uses removed.
74205         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74206         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
74207         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
74208         needed.
74209         * m4/getdate.m4 (gl_GETDATE): Likewise.
74210         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
74211         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
74212         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
74213         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74214         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
74215         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74216         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
74217         needed.
74218
74219 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
74220
74221         * lib/memcasecmp.c: Include <limits.h>.
74222         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
74223         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
74224         Don't assume isdigit succeeds only on '0' through '9'.
74225
74226 2006-07-05  Eric Blake  <ebb9@byu.net>
74227
74228         * modules/getaddrinfo (Depends-on): Add snprintf.
74229
74230 2006-07-05  Eric Blake  <ebb9@byu.net>
74231
74232         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
74233         to avoid 'header present but could not be compiled' on cygwin.
74234
74235 2006-07-05  Eric Blake  <ebb9@byu.net>
74236
74237         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
74238         missing from netdb.h.
74239         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
74240
74241 2006-07-05  Derek R. Price  <derek@ximbiot.com>
74242
74243         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
74244         no longer needed.
74245         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
74246         * m4/getdate.m4 (gl_GETDATE): Likewise.
74247         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
74248         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
74249         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
74250         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74251         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74252
74253 2006-07-05  Derek R. Price  <derek@ximbiot.com>
74254
74255         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
74256         All uses of is_space replaced by isspace.
74257         * lib/exit.h: Don't talk about STDC_HEADERS.
74258         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
74259         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
74260         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
74261         replaced by isprint etc.
74262         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
74263         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
74264         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
74265         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
74266         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
74267         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
74268
74269 2006-07-05  Bruno Haible  <bruno@clisp.org>
74270
74271         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
74272         the function exists, before testing against AIX.
74273         Reported by Martin Lambers <marlam@marlam.de>.
74274
74275 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
74276
74277         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
74278         From Mark D. Baushke.
74279
74280 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
74281
74282         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
74283         to the absolute name, not just one, to bypass Sun C 5.8's
74284         "warning: #include of /usr/include/... may be non-portable".
74285
74286 2006-07-04  Eric Blake  <ebb9@byu.net>
74287
74288         * modules/dirname-tests: New test module.
74289         * tests/test-dirname.c: New file, replacing dirname.c
74290         TEST_DIRNAME section that was recently deleted.
74291
74292 2006-07-04  Bruno Haible  <bruno@clisp.org>
74293
74294         Assume ANSI C header files and <ctype.h> functions.
74295         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
74296         (mbsnwidth): Use isprint, iscntrl instead.
74297
74298 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74299
74300         Merge from coreutils.
74301         * MODULES.html.sh: Add xstrtold.
74302         * modules/xstrtold: New file.
74303         * modules/cycle-check (Files): Add lib/same-inode.h.
74304         * modules/dirname (Files): Add m4/double-slash-root.m4.
74305         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
74306         * modules/mkdir-p (Files): Add lib/same-inode.h.
74307         * modules/same (Files): Add lib/same-inode.h.
74308
74309 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74310
74311         * m4/absolute-header.m4: Renamed from full-header-path.m4.
74312         This is to keep the terminology clean; POSIX talks about
74313         "absolute pathnames", not "full pathnames", but the GNU
74314         Coding Standards say to use "path" for something else;
74315         so use "absolute" to keep both sides happy.
74316         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
74317         Set gl_absolute_header, not gl_full_header_path.
74318         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
74319         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
74320         All uses changed.
74321
74322         Merge from coreutils.
74323
74324         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
74325
74326         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
74327         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
74328         want to require the building of c-strtod.o.
74329         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
74330         needs -lm directly.
74331         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
74332
74333         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
74334
74335         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
74336         --as-needed option if available.  Problem reported by Albert Chin in
74337         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
74338         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
74339         cc merely issues a bunch of annoying warnings for --as-needed
74340         (this problem was reported by Bob Proulx).  Also, try linking with
74341         -lm to detect a bug in binutils 2.16 (this problem was reported
74342         by Ralf Wildenhues).
74343
74344         2006-06-18  Jim Meyering  <jim@meyering.net>
74345
74346         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
74347         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
74348         macro.
74349         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
74350         also check for glibc-2.4's abort-inducing bug.
74351
74352         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
74353         Low-probability clean-up should be to use rmdir to get rid of
74354         the just-created directory, not unlink.
74355
74356         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
74357         configure fail, and request a bug report to inform us about it.
74358         Add a comment that, barring reports to the contrary, in 2007 we'll
74359         assume ftruncate is universally available.
74360
74361         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
74362
74363         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
74364
74365         2006-03-12  Jim Meyering  <jim@meyering.net>
74366
74367         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
74368         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
74369         * m4/same.m4 (gl_SAME): Likewise.
74370         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
74371
74372         2006-03-11  Eric Blake  <ebb9@byu.net>
74373
74374         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
74375         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
74376         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
74377         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
74378
74379 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74380
74381         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
74382         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
74383         reported by Mark D. Baushke, one in
74384         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
74385
74386         Merge from coreutils.
74387
74388         * lib/.cppi-disable: Add stdint_.h.
74389         * lib/.cvsignore: Add stdint.h.
74390
74391         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
74392
74393         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
74394         both double and long double versions.
74395         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
74396         * lib/xstrtold.c: New file.
74397         * lib/xstrtod.h (xstrtold): New decl.
74398
74399         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
74400
74401         * lib/filemode.c (setst): Remove.
74402         (strmode): Rewrite to avoid setst.  This makes the code shorter,
74403         (arguably) clearer, and the generated code is a bit smaller on my
74404         Debian GNU/Linux stable x86 host.
74405
74406         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
74407
74408         * lib/filemode.c: Include "filemode.h" first, to test the interface.
74409         Assume that filemode.h includes sys/types.h and sys/stat.h.
74410         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
74411         (ftypelet): Reorder to put common cases first, for efficiency.
74412         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
74413         to do 'M'.
74414         (strmode): Renamed from mode_string, and now stores 12 bytes instead
74415         of 10, for compatibility with FreeBSD.  All callers changed.
74416         (filemodestring): Now stores 12 bytes instead of 10, and sets file
74417         types that can't be deduced solely from st_mode.  First arg is now a
74418         const pointer.
74419         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
74420         (strmode): Renamed from mode_string.
74421         (filemodestring): New decl.
74422         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
74423         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
74424         needed.
74425         (S_ISPORT, S_ISWHT): New macros, if not already defined.
74426
74427         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
74428
74429         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
74430         fsusage.h now does that.  Include fsusage.h first, to test interface.
74431         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
74432         at most one method (the old code could have generated decls that
74433         didn't conform to C89, not that this was ever exercised).
74434         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
74435
74436         2006-03-19  Jim Meyering  <jim@meyering.net>
74437
74438         Work even in a chroot where d_ino values for entries in "/"
74439         don't match the stat.st_ino values for the same names.
74440         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
74441         number, iterate through all entries again, using lstat instead.
74442         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
74443         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
74444
74445         * lib/getcwd.c (__getcwd): Clarify a comment.
74446         Use memcpy in place of a call to strcpy.
74447
74448         2006-03-12  Jim Meyering  <jim@meyering.net>
74449
74450         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
74451         matches that of the current directory (which we're about to chdir ".."
74452         out of), then save the dev-ino of the parent, instead.
74453
74454         * lib/same-inode.h (SAME_INODE): New file/macro.
74455         * lib/chdir-safer.c (SAME_INODE): Remove definition.
74456         Include "same-inode.h", instead.
74457         * lib/same.c: Likewise.
74458         * lib/cycle-check.h: Include "same-inode.h".
74459         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
74460         * lib/cycle-check.c (SAME_INODE): Remove definition.
74461         * lib/root-dev-ino.h: Include "same-inode.h".
74462
74463         2006-03-11  Eric Blake  <ebb9@byu.net>
74464
74465         * lib/same.c (same_name): s/base_name/last_component/
74466         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
74467         * lib/filenamecat.c (file_name_concat): Likewise.
74468
74469         2006-03-11  Eric Blake  <ebb9@byu.net>,
74470                     Paul Eggert  <eggert@cs.ucla.edu>
74471
74472         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
74473         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
74474         drive prefix.
74475         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
74476         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
74477         (last_component): New method.
74478         * lib/dirname.c (dir_len): Determine when drive letters need a
74479         subsequent slash.  Preserve // when it is special.
74480         (dir_name): Don't append dot when drive letter is absolute.
74481         [TEST_DIRNAME]: Move into a full-blown gnulib test.
74482         * lib/basename.c (base_name): New semantics - malloc the result.
74483         Preserve // when it is special.  Preserve relative files that look
74484         like drive letters.
74485         (base_len): Preserve // when it is special.
74486         (last_component): New method, similar to old base_name semantics.
74487         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
74488         base_name.  Strip redundant slashes from ///.
74489
74490 2006-07-03  Jim Meyering  <jim@meyering.net>
74491
74492         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
74493         macro is used before the first cycle_check call.
74494
74495 2006-07-03  Eric Blake  <ebb9@byu.net>
74496
74497         * modules/dirname (Depends-on): Add xstrndup.
74498
74499 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
74500
74501         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
74502         test cases, so that config.log is a bit easier to follow.
74503
74504 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
74505
74506         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
74507         both are 64 bits, since this seems to be the tradition, and this
74508         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
74509         we ever run into a host that prefers long long to long in this
74510         case, we'll need another configure-time test.  Problem reported by
74511         Jim Meyering.
74512
74513 2006-07-02  Eric Blake  <ebb9@byu.net>
74514
74515         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
74516
74517 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
74518
74519         * modules/inttypes (Depends-on): No longer depends on stdint.
74520         * modules/stdint (Description): Say more about assumptions.
74521         Say that the fast types might differ.  Say macros are used.
74522         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
74523         (Makefile.am): Revise list of substituted symbols to match
74524         new stdint.m4.
74525         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
74526         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
74527         * tests/test-stdint.c (verify_same_types)
74528         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
74529         the code conforms to C99/C89.
74530         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
74531         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
74532
74533 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
74534
74535         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
74536         but fix a bug, by requiring at least 64 bits.
74537         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
74538         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
74539         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
74540         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
74541
74542         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
74543         changes.  Make 2.59 a prerequisite.  Check and substitute for
74544         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
74545         inttypes.h.  Do not use special include files; just use the
74546         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
74547         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
74548         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
74549         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
74550         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
74551         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
74552         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
74553         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
74554         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
74555         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
74556         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
74557         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
74558         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
74559         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
74560         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
74561         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
74562         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
74563         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
74564         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
74565         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
74566         WINT_MAX.  Check for C99 conformance more strictly, by detecting
74567         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
74568         not check for things that C99 does not require, e.g., int8_t.  If
74569         a test isn't needed unless <stdint.h> isn't working, and is
74570         unlikely to be needed for any other reason, then don't do it
74571         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
74572         size_t, since we assume C89 freestanding at least.  Do not check
74573         for sig_atomic_t, wchar_t, or wint_t, since the code now does
74574         the right thing even if the types are not defined.  Instead use:
74575         (gl_STDINT_TYPE_PROPERTIES): New macro.
74576         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
74577         testing whether <sys/types.h> clashes, as Autoconf does this for
74578         us now.  All uses removed.
74579         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
74580         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
74581         (gl_CHECK_TYPE_SAME):
74582         Remove; no longer needed.
74583         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
74584         exists, since we'll return 0 anyway in that case.
74585         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
74586
74587 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
74588
74589         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
74590         possible collision with system files.
74591         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
74592         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
74593         WCHAR_MIN and WCHAR_MAX in this case.
74594         (<stddef.h>): Do not include; no longer needed.
74595         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
74596         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
74597         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
74598         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
74599         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
74600         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
74601         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
74602         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
74603         !defined(__c99))]: Include in this case too, since it's harmless
74604         now.
74605         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
74606         dangerous to do so.
74607         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
74608         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
74609         (_STDINT_MIN, _STDINT_MAX): New macros.
74610         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
74611         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
74612         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
74613         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
74614         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
74615         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
74616         macros, not typedefs; this simplifies things quite a bit.
74617         Use long int for all types narrower than int64_t.
74618         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
74619         Define in terms of long long int or int64_t or long int,
74620         not int64_t or int32_t.  This saves some compile-time testing.
74621         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
74622         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
74623         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
74624         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
74625         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
74626         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
74627         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
74628         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
74629         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
74630         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
74631         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
74632         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
74633         undef any previous version and define our own version, for
74634         simplicity and consistency with the new macros for types.
74635         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
74636         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
74637         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
74638         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
74639         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
74640         @WINT_T_SUFFIX@ to keep things simple here.
74641         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
74642         Simplify by assuming typical 8/16/32/64 host, since we're
74643         already doing that elsewhere anyway.
74644         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
74645         and assume long long int is 64 bits if available.  This
74646         speeds up 'configure'.
74647
74648 2006-07-01  Eric Blake  <ebb9@byu.net>
74649
74650         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
74651         Reported by Andreas Buening.
74652
74653 2006-07-01  Eric Blake  <ebb9@byu.net>
74654
74655         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
74656
74657 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
74658
74659         * lib/getaddrinfo.c: fixed typo
74660
74661 2006-06-29  Jim Meyering  <jim@meyering.net>
74662
74663         * modules/strftime (Maintainer): Add my name, since with the
74664         FPRINTFTIME changes strftime.c has forked from glibc.
74665
74666 2006-06-29  Eric Blake  <ebb9@byu.net>
74667
74668         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
74669
74670 2006-06-29  Eric Blake  <ebb9@byu.net>
74671
74672         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
74673
74674 2006-06-29  Eric Blake  <ebb9@byu.net>
74675
74676         * lib/stat_.h: New file.
74677
74678 2006-06-29  Eric Blake  <ebb9@byu.net>
74679
74680         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
74681         unused static function.
74682
74683 2006-06-29  Eric Blake  <ebb9@byu.net>
74684
74685         * doc/functions.texi (Function Portability): Document missing lstat
74686         on mingw.
74687
74688 2006-06-29  Eric Blake  <ebb9@byu.net>
74689
74690         * MODULES.html.sh: Add sys_stat.
74691         * modules/sys_stat: New module.
74692         * modules/mkstemp (Depends-on): Add sys_stat.
74693
74694 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74695
74696         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
74697
74698 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74699
74700         * m4/c-bs-a.m4: Removed.
74701
74702 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74703
74704         * lib/strftime.c: Assume strftime() exists.
74705
74706 2006-06-29  Derek Price  <derek@ximbiot.com>
74707
74708         * modules/c-bs-a: Removed - \a is C89.
74709         * MODULES.html.sh: Remove c-bs-a.
74710
74711 2006-06-29  Bruno Haible  <bruno@clisp.org>
74712
74713         * modules/wcwidth (License): Change to LGPL.
74714
74715 2006-06-28  Simon Josefsson  <jas@extundo.com>
74716
74717         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
74718         on _WIN32.
74719
74720         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
74721         getnameinfo.
74722
74723 2006-06-28  Simon Josefsson  <jas@extundo.com>
74724
74725         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
74726
74727 2006-06-28  Simon Josefsson  <jas@extundo.com>
74728
74729         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
74730         functions there.  It will succeed on Windows XP, but on Windows
74731         2000 and (presumably) earlier, it will fail, and use the internal
74732         re-implementation.
74733         (use_win32_p): New function.
74734         (getaddrinfo): Use strtoul on servname, to support numeric ports.
74735         Support AI_NUMERICSERV to disable getservbyname.
74736         (getnameinfo): New function, only supports
74737         NI_NUMERICHOST|NI_NUMERICSERV for now.
74738
74739         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
74740         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
74741         getnameinfo.
74742
74743 2006-06-28  Eric Blake  <ebb9@byu.net>
74744
74745         * modules/wcwidth: New file.
74746         * modules/mbchar (Depends-on): Add wcwidth.
74747         * modules/mbswidth (Depends-on): Add wcwidth.
74748         * MODULES.html.sh: Add wcwidth.
74749
74750 2006-06-28  Eric Blake  <ebb9@byu.net>
74751
74752         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
74753         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
74754
74755 2006-06-28  Eric Blake  <ebb9@byu.net>
74756
74757         * lib/xvasprintf.h: Fix comments.
74758
74759 2006-06-28  Eric Blake  <ebb9@byu.net>
74760
74761         * lib/mbchar.h (wcwidth): Include wcwidth.h.
74762         * lib/mbswidth.c (wcwidth): Move from here...
74763         * lib/wcwidth.h: ...to this new file.
74764
74765 2006-06-28  Derek R. Price  <derek@ximbiot.com>
74766
74767         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
74768
74769         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
74770         it's obsolete.
74771         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
74772
74773 2006-06-28  Derek R. Price  <derek@ximbiot.com>
74774
74775         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
74776         Autoconf 2.60 says this stuff was obsolete.
74777
74778 2006-06-28  Bruno Haible  <bruno@clisp.org>
74779
74780         * modules/wcwidth (Files): Add m4/wchar_t.m4.
74781
74782 2006-06-28  Bruno Haible  <bruno@clisp.org>
74783
74784         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
74785         gt_TYPE_WCHAR_T.
74786
74787 2006-06-28  Bruno Haible  <bruno@clisp.org>
74788
74789         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
74790         declaration for wcwidth.
74791         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
74792
74793 2006-06-28  Bruno Haible  <bruno@clisp.org>
74794
74795         * lib/mkdtemp.c [MINGW]: Include <io.h>.
74796         (mkdir): Define using _mkdir.
74797
74798 2006-06-28  Bruno Haible  <bruno@clisp.org>
74799
74800         * lib/getaddrinfo.h: Fix POSIX URL.
74801         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
74802         _WIN32.
74803         (use_win32_p): Make static.
74804         (getaddrinfo): Reject service name if it is empty or does not consist
74805         solely of decimal digits, or if its value is > 65535.
74806         (getnameinfo): Remove useless casts.
74807
74808 2006-06-27  Simon Josefsson  <jas@extundo.com>
74809
74810         * modules/sys_select: New file, suggested by Bruno Haible, Paul
74811         Eggert and Martin Lambers.
74812
74813 2006-06-27  Simon Josefsson  <jas@extundo.com>
74814
74815         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
74816         Eggert and Martin Lambers.
74817
74818 2006-06-27  Bruno Haible  <bruno@clisp.org>
74819
74820         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
74821         result to 0, not to empty.
74822         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
74823
74824 2006-06-27  Bruno Haible  <bruno@clisp.org>
74825
74826         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
74827
74828 2006-06-26  Simon Josefsson  <jas@extundo.com>
74829
74830         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
74831         present.
74832
74833 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
74834
74835         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
74836         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
74837         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
74838
74839 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
74840
74841         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
74842
74843 2006-06-26  Bruno Haible  <bruno@clisp.org>
74844
74845         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
74846
74847 2006-06-26  Bruno Haible  <bruno@clisp.org>
74848
74849         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
74850
74851 2006-06-26  Bruno Haible  <bruno@clisp.org>
74852
74853         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
74854         SGI C compiler in pre-C99 mode.
74855         Suggested by Mark D. Baushke and Larry Jones.
74856
74857 2006-06-26  Bruno Haible  <bruno@clisp.org>
74858
74859         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
74860         WCHAR_MAX.
74861         Reported by Mark D. Baushke and Larry Jones.
74862
74863 2006-06-26  Bruno Haible  <bruno@clisp.org>
74864
74865         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
74866         in pre-C99 mode.
74867         Suggested by Mark D. Baushke and Larry Jones.
74868
74869 2006-06-23  Simon Josefsson  <jas@extundo.com>
74870             Bruno Haible  <bruno@clisp.org>
74871
74872         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
74873         Emit mostlyclean-local rule.
74874         (func_emit_tests_Makefile_am): Likewise.
74875         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
74876
74877 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
74878
74879         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
74880
74881 2006-06-23  Bruno Haible  <bruno@clisp.org>
74882
74883         * tests/test-stdint.c: Update to match ISO C 99 Technical
74884         Corrigendum 1.
74885
74886 2006-06-23  Bruno Haible  <bruno@clisp.org>
74887
74888         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
74889
74890 2006-06-23  Bruno Haible  <bruno@clisp.org>
74891
74892         * lib/stdint_.h: Treat IRIX like OpenBSD.
74893
74894 2006-06-23  Bruno Haible  <bruno@clisp.org>
74895
74896         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
74897         ISO C 99 Technical Corrigendum 1.
74898
74899 2006-06-22  Simon Josefsson  <jas@extundo.com>
74900
74901         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
74902         MinGW.
74903
74904 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
74905
74906         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
74907         needed.  Some compiler complained about some of them.  Problem reported
74908         by Larry Jones in
74909         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
74910
74911 2006-06-21  Simon Josefsson  <jas@extundo.com>
74912
74913         * tests/test-getaddrinfo.c: New file.
74914
74915         * modules/getaddrinfo-tests: New file.
74916
74917         * MODULES.html.sh: Add inet_pton.
74918
74919         * modules/inet_pton: New file.
74920
74921 2006-06-21  Simon Josefsson  <jas@extundo.com>
74922
74923         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
74924         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
74925         of using the (limited) gnulib implementation on Windows XP.
74926
74927         * m4/inet_pton.m4: New file.
74928
74929 2006-06-21  Simon Josefsson  <jas@extundo.com>
74930
74931         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
74932         variable.
74933
74934         * lib/socket_.h: Don't define WINVER.
74935
74936         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
74937         slightly modified to work in gnulib.
74938
74939 2006-06-21  Simon Josefsson  <jas@extundo.com>
74940
74941         * doc/gnulib.texi (Windows sockets): Add.
74942
74943 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
74944
74945         * lib/read-file.c (fread_file): Start with buffer allocation of
74946         0 bytes rather than 1 byte; this simplifies the code.
74947         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
74948         code to free buffer and save/restore errno.
74949         (internal_read_file): Remove unused local.
74950
74951 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
74952
74953         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
74954         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
74955         Problem reported by Denis Excoffier in
74956         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
74957
74958 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74959
74960         * modules/sys_socket, modules/socklen: Include sys/types since
74961         FreeBSD 4.x's sys/socket.h needs it.
74962
74963 2006-06-19  Simon Josefsson  <jas@extundo.com>
74964
74965         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
74966
74967 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
74968
74969         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
74970
74971 2006-06-19  Bruno Haible  <bruno@clisp.org>
74972
74973         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
74974         and FULL_PATH_INTTYPES_H in angle brackets.
74975         Reported by Mark D. Baushke <mdb@gnu.org>.
74976
74977 2006-06-17  Eric Blake  <ebb9@byu.net>
74978
74979         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
74980         errno.
74981
74982 2006-06-17  Bruno Haible  <bruno@clisp.org>
74983
74984         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
74985         <sys/inttypes.h>.
74986
74987 2006-06-17  Bruno Haible  <bruno@clisp.org>
74988
74989         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
74990         whether errno is declared. Assume <errno.h> declares errno.
74991
74992 2006-06-17  Bruno Haible  <bruno@clisp.org>
74993
74994         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
74995
74996 2006-06-17  Bruno Haible  <bruno@clisp.org>
74997
74998         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
74999         problem on Solaris 2.5.1.
75000
75001 2006-06-16  Eric Blake  <ebb9@byu.net>
75002
75003         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
75004         * lib/unicodeio.c [!defined errno]: Likewise.
75005         * lib/strtol.c [!defined errno]: Likewise.
75006         * lib/strtod.c [!defined errno]: Likewise.
75007
75008 2006-06-15  Eric Blake  <ebb9@byu.net>
75009
75010         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
75011
75012 2006-06-15  Eric Blake  <ebb9@byu.net>
75013
75014         * config/srclist.txt (ssize_t.m4): Lose sync.
75015
75016 2006-06-15  Bruno Haible  <bruno@clisp.org>
75017
75018         * modules/stdint (Files): Include m4/full-header-path.m4,
75019         m4/size_max.m4, m4/wchar_t.m4.
75020         (Makefile.am): Many more substitutions.
75021         * modules/stdint-tests: New file.
75022         * tests/test-stdint.c: New file.
75023
75024 2006-06-15  Bruno Haible  <bruno@clisp.org>
75025
75026         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
75027         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
75028         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
75029         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
75030         gl_CHECK_TYPE_SAME): New macros.
75031
75032 2006-06-15  Bruno Haible  <bruno@clisp.org>
75033
75034         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
75035
75036 2006-06-15  Bruno Haible  <bruno@clisp.org>
75037
75038         * lib/stdint_.h: Rewritten to be fully auto-configured.
75039         Fixes bug on HP-UX/IA64.
75040
75041 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
75042
75043         * lib/getdate.y (__attribute__): Don't define if already defined.
75044         Problem reported by Larry Jones.
75045         * lib/utimens.c (__attribute__): Likewise.
75046
75047 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
75048
75049         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
75050         reported by Andreas Schwab.
75051
75052 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75053             Bruno Haible  <bruno@clisp.org>
75054
75055         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
75056         check for the declaration of strnlen and a run test that exposes the
75057         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
75058         rpl_strndup.
75059
75060 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75061             Bruno Haible  <bruno@clisp.org>
75062
75063         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
75064
75065 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75066
75067         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
75068         compile test, for Tru64 4.0D.
75069
75070 2006-05-28  Karl Berry  <karl@gnu.org>
75071
75072         * config/srclist.txt (printf-args.c): lose sync.
75073
75074 2006-05-26  Martin Lambers  <marlam@marlam.de>
75075
75076         * lib/getpass.c: Updates the test for the native W32 API, and adds
75077         missing includes, thus fixing compilation warnings.
75078
75079 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
75080
75081         * lib/exclude.c (exclude_fnmatch): New function.
75082         (excluded_file_name): Call exclude_fnmatch.
75083         * lib/exclude.h (excluded_file_name): New prototype
75084
75085 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
75086
75087         * lib/tempname.c (small_open, large_open): New macros.
75088         (__open, __open64) [!_LIBC]: Remove.
75089         (__gen_tempname): Use small_open and large_open instead of __open
75090         and __open64.  This fixes a portability bug on HP-UX 11.11i
75091         reported by Simon Wing-Tang in
75092         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
75093
75094 2006-05-24  Bruno Haible  <bruno@clisp.org>
75095
75096         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
75097         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
75098         Reported by Thorsten Maerz <torte@netztorte.de> via
75099         Aaron Stone <aaron@serendipity.cx>.
75100
75101 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75102
75103         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
75104         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
75105         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
75106         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
75107         not really conditional on the cache.
75108         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
75109
75110 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75111
75112         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
75113         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
75114         (my_usleep): Don't mishandle maximum value.
75115
75116 2006-05-19  Jim Meyering  <jim@meyering.net>
75117
75118         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
75119
75120 2006-05-17  Bruno Haible  <bruno@clisp.org>
75121
75122         Cygwin portability.
75123         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
75124
75125 2006-05-17  Bruno Haible  <bruno@clisp.org>
75126
75127         * lib/stdint_.h: Fix recognition of Cygwin.
75128
75129 2006-05-15  Bruno Haible  <bruno@clisp.org>
75130
75131         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
75132         on libtool patch by Ralf Wildenhues.
75133
75134 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
75135
75136         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
75137         test for C99 conformance; (bool) 0.5 is an integer constant
75138         expression, but (bool) -0.5 is not.  Problem reported by Fedor
75139         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
75140
75141 2006-05-11  Simon Josefsson  <jas@extundo.com>
75142
75143         * m4/xvasprintf.m4: Fix obvious typo.
75144
75145 2006-05-11  Jim Meyering  <jim@meyering.net>
75146
75147         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
75148         James Lemley.
75149
75150 2006-05-10  Simon Josefsson  <jas@extundo.com>
75151
75152         * lib/md4.c: Typo fix, update copyright years.
75153         (K1, K2): Don't use L because it turn computations into 64-bit on
75154         64-bit platforms.
75155
75156 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
75157
75158         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
75159         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
75160         unwanted sign propagation, e.g., on hosts with 64-bit int.
75161         There still are some problems with reeelly weird theoretical hosts
75162         (e.g., 33-bit int) but it's not worth worrying about now.
75163         * lib/sha1.c (rol): Likewise.
75164         (K1, K2, K3, K4): Remove unnecessary L suffix.
75165
75166 2006-05-10  Bruno Haible  <bruno@clisp.org>
75167
75168         * lib/des.c: Cast to avoid warnings.
75169
75170 2006-05-09  Bruno Haible  <bruno@clisp.org>
75171
75172         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
75173         (Depends-on): Depend also on xsize, stdarg.
75174         (configure.ac): Add gl_XVASPRINTF.
75175
75176 2006-05-09  Bruno Haible  <bruno@clisp.org>
75177
75178         * m4/xvasprintf.m4: New file.
75179
75180 2006-05-09  Bruno Haible  <bruno@clisp.org>
75181
75182         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
75183         (EOVERFLOW): Define fallback value.
75184         (xstrcat): New function.
75185         (xvasprintf): Recognize the special case of a string concatenation.
75186
75187 2006-05-08  Eric Blake  <ebb9@byu.net>
75188
75189         * gnulib-tool (func_version): Base copyright year on CVS date.
75190         (func_emit_copyright_notice): New function.
75191         (func_emit_lib_Makefile_am): Use it.
75192         (func_emit_tests_Makefile_am): Likewise.
75193         (func_import): Likewise.
75194
75195 2006-05-08  Bruno Haible  <bruno@clisp.org>
75196
75197         * modules/stdarg: New file.
75198         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
75199
75200 2006-05-08  Bruno Haible  <bruno@clisp.org>
75201
75202         * m4/stdarg.m4: New file, from GNU gettext.
75203
75204 2006-05-08  Bruno Haible  <bruno@clisp.org>
75205
75206         * config/srclist.txt (build-aux/config.rpath): different from latest
75207         release.
75208
75209 2006-05-08  Bruno Haible  <bruno@clisp.org>
75210
75211         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
75212
75213 2006-05-05  Jim Meyering  <jim@meyering.net>
75214
75215         * m4/warning.m4: New file, derived from bison's file by the same name.
75216
75217 2006-05-03  Bruno Haible  <bruno@clisp.org>
75218
75219         * lib/stdint_.h: Shorter URL.
75220         * lib/inttypes.h: Likewise.
75221
75222 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75223
75224         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
75225
75226 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75227
75228         * lib/verify.h: Document the internals better.  Most of this change
75229         was written by Bruno Haible.
75230
75231 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75232
75233         * doc/verify.texi: New file, partly based on a proposal by
75234         Bruno Haible.
75235
75236 2006-05-02  Bruno Haible  <bruno@clisp.org>
75237
75238         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
75239         test from here...
75240         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
75241
75242 2006-04-29  Bruno Haible  <bruno@clisp.org>
75243
75244         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
75245         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
75246
75247 2006-04-29  Bruno Haible  <bruno@clisp.org>
75248
75249         * gnulib-tool: Make --update option actually work.
75250
75251 2006-04-29  Bruno Haible  <bruno@clisp.org>
75252
75253         * doc/gcd.texi: New file.
75254         * doc/gnulib.texi: Include it.
75255
75256 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
75257
75258         * lib/getdate.y (get_date): When adding relative date, start with the
75259         initial time, not with the result of the first mktime call.
75260
75261 2006-04-25  Bruno Haible  <bruno@clisp.org>
75262
75263         * gnulib-tool (func_import): Output the include directives in three
75264         blocks, sorted separately.
75265         Reported by Ben Pfaff <blp@cs.stanford.edu>.
75266
75267 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
75268
75269         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
75270         to define main with arguments, for C++.  Reported by Eric Blake.
75271         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
75272         Prefer 'int main ()' to 'int main (void)', for C++.
75273         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
75274         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
75275         for 'main', for C99 and C++.
75276
75277 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
75278
75279         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
75280         Don't assume that exit status -1 is valid.
75281         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
75282         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
75283         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
75284         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
75285         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
75286         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
75287         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
75288         functions can be used without declaring them, or that you can
75289         exit with status -1.
75290         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
75291
75292 2006-04-24  Karl Berry  <karl@gnu.org>
75293
75294         * config/srclist.txt (longdouble.m4): sync lost.
75295
75296 2006-04-24  Eric Blake  <ebb9@byu.net>
75297
75298         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
75299
75300 2006-04-24  Bruno Haible  <bruno@clisp.org>
75301
75302         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
75303         poll() implementation in AIX.
75304         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75305
75306 2006-04-24  Bruno Haible  <bruno@clisp.org>
75307
75308         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
75309         assigned exactly once.
75310
75311 2006-04-23  Claudio Fontana  <claudio@gnu.org>
75312             Bruno Haible  <bruno@clisp.org>
75313
75314         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
75315         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
75316         for AM_CPPFLAGS.
75317
75318 2006-04-23  Bruno Haible  <bruno@clisp.org>
75319
75320         * modules/copy-file: Depend on unistd.
75321         * modules/execute: Likewise.
75322         * modules/fatal-signal: Likewise.
75323         * modules/findprog: Likewise.
75324         * modules/mkdtemp : Likewise.
75325         * modules/pipe: Likewise.
75326         * modules/wait-process: Likewise.
75327
75328 2006-04-23  Bruno Haible  <bruno@clisp.org>
75329
75330         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
75331         condition was already detected.
75332         Reported by Ben Pfaff <blp@cs.stanford.edu>.
75333
75334 2006-04-23  Bruno Haible  <bruno@clisp.org>
75335
75336         * lib/copy-file.c: Include <unistd.h> unconditionally.
75337         * lib/execute.c: Likewise.
75338         * lib/fatal-signal.c: Likewise.
75339         * lib/findprog.c: Likewise.
75340         * lib/mkdtemp.c: Likewise.
75341         * lib/pipe.h: Likewise.
75342         * lib/pipe.c: Likewise.
75343         * lib/wait-process.h: Likewise.
75344
75345 2006-04-23  Bruno Haible  <bruno@clisp.org>
75346
75347         * gnulib-tool (func_usage): Fix --import description. Document
75348         --update.
75349         (func_import): Create temporary file in a temporary directory, if
75350         --dry-run is specified. Silence errors from 'grep' when there are no
75351         m4 files in $m4dir.
75352         (func_create_testdir): Silence errors from 'grep' when there are no
75353         m4 files in $m4dir.
75354         Reported by Karl Berry <karl@freefriends.org>.
75355
75356 2006-04-20  Bruno Haible  <bruno@clisp.org>
75357
75358         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
75359         one argument, so that the code will be portable to Autoconf 2.60.
75360         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
75361         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
75362         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
75363
75364 2006-04-19  Derek Price  <derek@ximbiot.com>
75365             Eric Blake  <ebb9@byu.net>
75366
75367         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
75368         rather than "/full/path.h".  Update comment to match.  Shorten &
75369         generalize m4_translit call via AS_TR_CPP.
75370
75371 2006-04-19  Derek Price  <derek@ximbiot.com>
75372             Eric Blake  <ebb9@byu.net>
75373
75374         * lib/inttypes.h: Correct grammar in comment.
75375
75376 2006-04-18  Derek Price  <derek@ximbiot.com>
75377             Paul Eggert  <eggert@cs.ucla.edu>
75378
75379         * modules/inttypes: New file.
75380         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
75381
75382 2006-04-18  Derek Price  <derek@ximbiot.com>
75383             Paul Eggert  <eggert@cs.ucla.edu>
75384
75385         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
75386         New files.
75387
75388 2006-04-18  Derek Price  <derek@ximbiot.com>
75389             Paul Eggert  <eggert@cs.ucla.edu>
75390
75391         * lib/inttypes.h: New file.
75392         * lib/strtoimax.c: Assume <inttypes.h>.
75393
75394 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
75395
75396         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
75397         isn't mounted.  Problem reported by Kir Kolyshkin.
75398
75399 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
75400
75401         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
75402         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
75403         Derek R. Price.
75404         * lib/regex.h (RE_DUP_MAX): Update comment to match current
75405         implementation.
75406
75407 2006-04-12  Eric Blake  <ebb9@byu.net>
75408
75409         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
75410         is now done automatically by the corresponding Autoconf macro.
75411
75412 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
75413
75414         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
75415         time_r.h.
75416
75417 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75418
75419         Merge regex changes from libc, removing some of our
75420         POSIX-conformance changes that were rejected and redoing them in a
75421         less-intrusive way.
75422
75423         * lib/regcomp.c (re_compile_internal, init_dfa):
75424         Length arg is now size_t, not Idx.  All uses changed.
75425         (peek_token): Forward decl now says internal_function.
75426         (__re_error_msgid, __re_error_msgid_idx):
75427         Now static rather than extern with attribute_hidden.
75428         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
75429         For some reason libc prefers K&R style defns for external functions.
75430         (regerror) [!defined _LIBC]: Likewise.
75431         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
75432         (seek_collating_symbol_entry, lookup_collation_sequence_value):
75433         (build_range_exp, build_collating_symbol):
75434         Use K&R-style defn.
75435         (re_compile_fastmap): Use '\0' to memset, not 0.
75436         (utf8_sb_map): Make the calculations more obvious.
75437         (init_dfa, parse_bracket_exp, build_charclass_op):
75438         Call calloc and cast result, as glibc does.
75439         (init_word_char, fetch_token, peek_token, peek_token_bracket):
75440         (build_range_exp, build_collating_symbol):
75441         Now internal functions.
75442
75443         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
75444
75445         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
75446         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
75447         Don't depend on VMS; depend on __VMS instead, for POSIX
75448         namespace cleanness.
75449         (regoff_t): Define to ssize_t, not long int.
75450
75451         Remove the REG_ macros named below.  Instead, make the old names
75452         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
75453         __USE_GNU_REGEX.
75454         (REG_BACKSLASH_ESCAPE_IN_LISTS):
75455         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
75456         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
75457         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
75458         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
75459         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
75460         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
75461         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
75462         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
75463         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
75464         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
75465         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
75466         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
75467         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
75468         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
75469         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
75470         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
75471         (REG_NREGS):
75472         Remove.  All uses replaced by the old RE_* names.
75473         (RE_BACKSLASH_ESCAPE_IN_LISTS):
75474         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
75475         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
75476         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
75477         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
75478         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
75479         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
75480         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
75481         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
75482         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
75483         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
75484         Don't bother having these macros be independent of each others'
75485         values, since they no longer exist in the POSIX name space.
75486
75487         Rename the following member names back to their old names,
75488         unless !__USE_GNU_REGEX.  All uses changed back.
75489         (buffer): Renamed from re_buffer.
75490         (allocated): Renamed from re_allocated.
75491         (used): Renamed from re_used.
75492         (syntax): Renamed from re_syntax.
75493         (fastmap): Renamed from re_fastmap.
75494         (translate): Renamed from re_translate.
75495         (can_be_null): Renamed from re_can_be_null.
75496         (regs_allocated): Renamed from re_regs_allocated.
75497         (fastmap_accurate): Renamed from re_fastmap_accurate.
75498         (no_sub): Renamed from re_no_sub.
75499         (not_bol): Renamed from re_not_bol.
75500         (not_eol): Renamed from re_not_eol.
75501         (newline_anchor): Renamed from re_newline_anchor.
75502         (num_regs): Renamed from rm_num_regs.
75503         (start): Renamed from rm_start.
75504         (end): Renamed from rm_end.
75505
75506         (free_state): Move up a bit.
75507
75508         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
75509         #define to be empty.
75510         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
75511         when that is what is intended.
75512         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
75513         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
75514         (MAX): New macro.
75515         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
75516         All uses changed back to re_malloc, etc.  It's now the caller's
75517         responsibility to check for overflow; all callers changed.
75518         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
75519         (re_x2nrealloc): Remove.
75520         (free_state): Remove decl.
75521
75522         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
75523         (re_set_registers, re_exec):
75524         Use K&R-style defn.
75525
75526         2006-01-31  Roland McGrath  <roland@redhat.com>
75527
75528         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
75529         Reported by Mike Frysinger <vapier@gentoo.org>.
75530
75531         2006-01-15  Andreas Jaeger  <aj@suse.de>
75532
75533         [BZ #1950]
75534         * lib/regex_internal.c (re_string_reconstruct): Adjust for
75535         build_wcs_upper_buffer change.
75536         (build_wcs_upper_buffer): Change return type.
75537
75538         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
75539
75540         * lib/regex_internal.h: Include <stdint.h> if available.
75541
75542         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
75543
75544         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
75545
75546         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
75547
75548         * lib/regcomp.c: Adjust for changed secondary hash function.
75549
75550         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
75551
75552         * lib/regex.h: Pretty printing.
75553         Clean up namespace a bit.
75554
75555         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
75556
75557         * lib/regexec.c (update_cur_sifted_state, check_arrival,
75558         check_arrival_add_next_nodes): Avoid using uninitialized variable.
75559
75560         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
75561                     Ulrich Drepper  <drepper@redhat.com>
75562
75563         [BZ #1302]
75564         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
75565         changed.
75566         (bitset_word_t): Renamed from bitset_word.  All uses changed.
75567
75568         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
75569
75570         [BZ #281]
75571         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
75572         * lib/regcomp.c: Remove unnecessary uses of
75573         unsigned RE_TRANSLATE_TYPE.
75574         * lib/regex_internal.h: Likewise.
75575         * lib/regex_internal.c: Likewise.
75576         * lib/regexec.c: Likewise.
75577         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
75578
75579         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
75580
75581         * lib/regexec.c (find_recover_state): Remove unnecessary
75582         initialization.
75583         (transit_state_bkref): Make DFA a const pointer.
75584         (get_subexp): Likewise.
75585         (check_arrival): Likewise.
75586         (update_cur_sifted_state): Likewise.
75587         (re_search_internal): Likewise.
75588         (prune_impossible_nodes): Likewise.
75589         (acquire_init_state_context): Likewise.
75590         (proceed_next_node): Likewise.
75591         (set_regs): Likewise.
75592         (free_fail_stack_return): Likewise.
75593         (check_arrival_expand_ecl): Mark DFA parameter as const.
75594         (check_arrival_expand_ecl_sub): Likewise.
75595         (check_subexp_limits): Likewise.
75596         (sub_epsilon_src_nodes):  Likewise.
75597         (add_epsilon_src_nodes):  Likewise.
75598         (merge_state_array): Likewise.
75599         (update_regs): Likewise.
75600         (build_trtable): Likewise.
75601         (sift_states_backward): Mark MCTX parameter as const.
75602         (build_sifted_states): Likewise.
75603         (update_cur_sifted_state): Likewise.
75604         (sift_states_mkref): Likewise.
75605         (check_arrival_expand_ecl): Mark eclosure as const.
75606         (check_dst_limits_calc_pos_1): Likewise.
75607         * lib/regex_internal.h (re_match_context_t): Make dfa a const
75608         pointer.
75609
75610         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
75611
75612         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
75613         (transit_state_sb): Likewise.
75614         (transit_state_mb): Likewise.
75615         (sift_states_iter_mb): Likewise.
75616         (check_arrival_add_next_nodes): Likewise.
75617         (check_node_accept_bytes): Change first parameter to pointer-to-const.
75618         [_LIBC] (re_search_2_stub): Use mempcpy.
75619
75620         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
75621         mbrtowc for very simple UTF-8 case.
75622
75623         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
75624         a pointer-to-const.
75625         (re_acquire_state_context): Likewise.
75626         * lib/regex_internal.h: Adjust prototypes.
75627
75628         * lib/regex.c: Prevent using C++ compilers.
75629
75630         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
75631         (re_acquire_state_context): Likewise.
75632
75633 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75634
75635         * modules/regex (Depends-on): Add ssize_t.
75636
75637 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75638
75639         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
75640         translation table.
75641
75642 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75643
75644         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
75645
75646 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
75647             Bruno Haible  <bruno@clisp.org>
75648
75649         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
75650         <sys/types.h> and <inttypes.h>.
75651
75652 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75653
75654         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
75655         `__error_t_defined', so argp.h will not typedef the former.
75656
75657 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
75658
75659         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
75660         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
75661         glibc names.  Even if glibc is changed to conform to POSIX, the
75662         traditional names will be available anyway, since regex depends on
75663         the extensions module.  Also, fix a longstanding typo in the
75664         implementation of Spencer ERE test #75 from grep 2.3.  Problems
75665         reported by Emanuele Giaquinta.  Also, change sense of cached
75666         variable, so that the message makes sense.
75667
75668 2006-03-24  Simon Josefsson  <jas@extundo.com>
75669
75670         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
75671         including some doc fixes.
75672         (base64_encode_alloc): Fix +1 bug on allocation failures.
75673
75674 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75675
75676         * lib/base64.c (base64_encode): Do not read past end of array with
75677         unsanitized input on systems with CHAR_BIT > 8.
75678
75679 2006-03-24  Eric Blake  <ebb9@byu.net>
75680
75681         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
75682
75683 2006-03-22  Karl Berry  <karl@gnu.org>
75684
75685         * config/srclist.txt (*setenv.[ch]): get from coreutils.
75686         * config/srclistvars.sh (COREUTILS): new var.
75687
75688 2006-03-17  Jim Meyering  <jim@meyering.net>
75689
75690         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
75691         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
75692
75693 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
75694
75695         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
75696         no longer needs it.  Instead, check that regoff_t is as least
75697         as wide as ptrdiff_t.
75698
75699         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
75700         so that our regex.h stays compatible with the installed regex.
75701         This is helpful for installers who configure --without-included-regex.
75702         Problem reported by Emanuele Giaquinta.
75703
75704 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
75705
75706         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
75707         Typedef to long int, not to off_, as POSIX will likely change
75708         in that direction.
75709
75710 2006-03-15  Eric Blake  <ebb9@byu.net>
75711
75712         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
75713
75714 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
75715
75716         * lib/argp-help.c (validate_uparams): Fix typo
75717         * lib/argp-parse.c (argp_default_options): Consistently begin help
75718         messages with a lowercase letter.
75719
75720 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
75721
75722         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
75723         overrun buffers and shouldn't be used (much as gets shouldn't be
75724         used).
75725         * lib/time_r.c (asctime_r, ctime_r): Likewise.
75726
75727 2006-03-08  Simon Josefsson  <jas@extundo.com>
75728
75729         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
75730         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75731
75732 2006-03-08  Simon Josefsson  <jas@extundo.com>
75733
75734         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
75735         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75736
75737 2006-03-08  Simon Josefsson  <jas@extundo.com>
75738
75739         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
75740         signal that configure disabled the device.
75741
75742 2006-03-08  Simon Josefsson  <jas@extundo.com>
75743
75744         * build-aux/maint.mk: Fix refresh-po, to handle no translated
75745         languages.
75746
75747 2006-03-07  Simon Josefsson  <jas@extundo.com>
75748
75749         * modules/getopt (Depends-on): Add unistd.
75750
75751         * modules/unistd: New file.
75752
75753 2006-03-07  Simon Josefsson  <jas@extundo.com>
75754
75755         * modules/gc-random: New file.
75756
75757 2006-03-07  Simon Josefsson  <jas@extundo.com>
75758
75759         * m4/unistd_h.m4: New file.
75760
75761 2006-03-07  Simon Josefsson  <jas@extundo.com>
75762
75763         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
75764         test to be side-effect free by storing the result in the cache
75765         variable gl_cv_lib_readline, and moving the assignment of
75766         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
75767         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75768
75769 2006-03-07  Simon Josefsson  <jas@extundo.com>
75770
75771         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
75772         error on missing devices (the functions will return an error).
75773
75774         * m4/gc.m4: Move random stuff to gc-random.m4
75775
75776 2006-03-07  Simon Josefsson  <jas@extundo.com>
75777
75778         * lib/unistd_.h: New file.
75779
75780 2006-03-07  Simon Josefsson  <jas@extundo.com>
75781
75782         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
75783
75784 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75785
75786         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
75787         Problem reported by Juan Manuel Guerrero.
75788
75789 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75790
75791         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
75792         the unistd module.
75793         * lib/getlogin_r.c: Likewise.
75794         * lib/getlogin_r.h: Likewise.
75795         * lib/glob.c: Likewise.
75796         * lib/pagealign_alloc.c: Likewise.
75797         * lib/unistd_.h: Remove; no longer needed.
75798
75799 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75800
75801         * MODULES.html.sh (Support for systems lacking POSIX:2001):
75802         Add unistd.
75803         * modules/c-stack (Depends-on): Add unistd.
75804         * modules/getlogin_r: Likewise.
75805         * modules/glob: Likewise.
75806         * modules/pagealign_alloc: Likewise.
75807         * modules/unistd (Files): Remove lib/unistd_.h.
75808         (EXTRA_DIST): Remove.
75809         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
75810         need unistd_.h.
75811         (MOSTLYCLEANFILES): Remove unistd.h-t.
75812
75813 2006-03-03  Simon Josefsson  <jas@extundo.com>
75814
75815         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
75816
75817 2006-03-03  Simon Josefsson  <jas@extundo.com>
75818
75819         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
75820         libidn and bison.
75821
75822 2006-03-03  Simon Josefsson  <jas@extundo.com>
75823
75824         * build-aux/maint.mk: Add indent target.
75825
75826 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
75827
75828         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
75829         our replacement poll.h in any case, to avoid a differing
75830         declaration from a system header.  Seen on AIX.
75831
75832 2006-03-01  Simon Josefsson  <jas@extundo.com>
75833
75834         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
75835         <kasal@ucw.cz>.
75836
75837 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
75838
75839         * modules/gettime (Depends-on): Add extensions module.
75840         * modules/nanosleep (Depends-on): Likewise.
75841         * modules/settime (Depends-on): Likewise.
75842
75843 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
75844
75845         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
75846         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
75847         pedantically.
75848         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
75849         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
75850
75851         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
75852         not "==".  Reported by Ralf Wildenhues.
75853
75854 2006-03-01  Karl Berry  <karl@gnu.org>
75855
75856         * doc/Copyright/request-*: new files, synced from gnuorg.
75857
75858 2006-03-01  Karl Berry  <karl@gnu.org>
75859
75860         * config/srclist.txt (Copyright/*): new entries.
75861
75862 2006-02-28  Simon Josefsson  <jas@extundo.com>
75863
75864         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
75865
75866 2006-02-27  Simon Josefsson  <jas@extundo.com>
75867
75868         * lib/base64.h: Indent #define's.  From Jim Meyering
75869         <jim@meyering.net>.
75870
75871 2006-02-27  Jim Meyering  <jim@meyering.net>
75872
75873         Revert the change of 2006-02-24, so these files can continue
75874         to be sync'd from gettext.
75875         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
75876         of `config.h'.
75877
75878 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
75879
75880         * modules/intprops: New file.
75881         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
75882         Add intprops.
75883         * modules/getloadavg (Files): Remove lib/intprops.h.
75884         (Depends-on): Add intprops.
75885         * modules/human: Likewise.
75886         * modules/inttostr: Likewise.
75887         * modules/openat: Likewise.
75888         * modules/sig2str: Likewise.
75889         * modules/userspec: Likewise.
75890         * modules/utimecmp: Likewise.
75891         * modules/xnanosleep: Likewise.
75892         * modules/xstrtol: Likewise.
75893
75894 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
75895
75896         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
75897         * modules/lock-tests (TESTS): Use $(EXEEXT).
75898         * modules/tls-tests: Likewise.
75899         * modules/argp-tests: Likewise.
75900         (check_PROGRAMS): New var, replacing...
75901         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
75902
75903 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75904
75905         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
75906         `config.h'.
75907
75908 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
75909
75910         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
75911
75912 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75913
75914         Sync from coreutils.
75915         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
75916         gl_CHDIR_SAFER.
75917
75918 2006-02-22  Jim Meyering  <jim@meyering.net>
75919
75920         Sync from coreutils.
75921         * m4/chdir-safer.m4: New file.
75922
75923 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
75924
75925         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
75926         AT_FDCWD exceeds INT_MAX.
75927         * lib/openat.h (AT_FDCWD): Likewise.
75928
75929 2006-02-17  Eric Blake  <address@hidden>
75930
75931         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
75932
75933 2006-02-16  Simon Josefsson  <jas@extundo.com>
75934
75935         * modules/getaddrinfo (Depends-on): Add sys_socket.
75936
75937 2006-02-15  Simon Josefsson  <jas@extundo.com>
75938
75939         * build-aux/maint.mk: Add dsyntax-check rule.
75940
75941 2006-02-15  Eric Blake  <ebb9@byu.net>
75942
75943         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
75944         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
75945         'present but cannot compile' warnings on cygwin.
75946         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
75947         use ws2tcpip.h if sys/socket.h works.
75948         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
75949         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
75950
75951 2006-02-14  Simon Josefsson  <jas@extundo.com>
75952
75953         * modules/maintainer-makefile (Files): Rename.
75954
75955         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
75956         and (the local) Makefile.cfg to maint-cfg.mk.
75957
75958         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
75959         to the latter.
75960
75961         * modules/maintainer-makefile: New module.
75962
75963         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
75964         severaly stripped to make it possible to build it up from scratch
75965         with reliable tests.
75966
75967         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
75968         fixes to permit overriding the default actions when configure and
75969         makefile are not available.
75970
75971 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
75972
75973         Sync from coreutils.
75974         * modules/lstat (Depends-on): Don't depend on xalloc.
75975         (License): Change from GPL to LGPL, since this is now simply a
75976         replacement for a libc function.
75977
75978 2006-02-14  Jim Meyering  <jim@meyering.net>
75979
75980         Sync from coreutils.
75981
75982         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
75983         failure on deficient systems, and simplify gnulib lgpl dependencies.
75984         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
75985         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
75986
75987         * lib/xalloc-die.c: Remove unused definition of N_.
75988
75989 2006-02-14  Jim Meyering  <jim@meyering.net>
75990
75991         Sync from coreutils.
75992         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
75993         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
75994         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
75995         double-quote uses of that variable, to accommodate the rare case in
75996         which getmntent is available in none of the libraries checked.  This
75997         happens at least on FreeBSD 5.0.
75998
75999 2006-02-13  Simon Josefsson  <jas@extundo.com>
76000
76001         * gnulib-tool (Usage): Fix --import, from
76002         karl@freefriends.org (Karl Berry).
76003
76004 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76005
76006         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
76007
76008 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
76009
76010         * lib/argp-namefrob.h: Restore changes accidentally lost during the
76011         "autoupdate" on 2005-12-12.
76012
76013 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76014
76015         * modules/closeout (Depends-on): Remove atexit.
76016
76017 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76018
76019         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
76020         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
76021
76022 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
76023
76024         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
76025         __EXTENSIONS__ if this causes compilation to fail.  Problem
76026         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
76027         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
76028
76029 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
76030
76031         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
76032         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
76033         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
76034         All uses changed.
76035
76036 2006-01-26  Simon Josefsson  <jas@extundo.com>
76037
76038         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
76039         prototype is visible on mingw32.
76040
76041         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
76042         for mingw32.
76043
76044         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
76045         mingw32).
76046
76047 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
76048
76049         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
76050         attempt to open for write; this always fails, at least on POSIX
76051         hosts.  This reinstates the 2006-01-09 change, which was
76052         inadvertently removed.
76053
76054 2006-01-26  Bruno Haible  <bruno@clisp.org>
76055
76056         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
76057         Reported by Paul Eggert.
76058
76059 2006-01-26  Bruno Haible  <bruno@clisp.org>
76060             Paul Eggert  <eggert@cs.ucla.edu>
76061
76062         * lib/stdbool_.h (_Bool)
76063         [(! (defined __cplusplus || defined __BEOS__)
76064           && !defined __GNUC__
76065           && !(defined __HP_cc || defined __xlc__
76066                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
76067                || defined __sgi))]:
76068         #define to signed char in these cases too; this simplifies
76069         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
76070         etc., separately) and makes it more conservative.
76071
76072 2006-01-25  Simon Josefsson  <jas@extundo.com>
76073
76074         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
76075         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
76076         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
76077
76078 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76079
76080         * lib/argp-namefrob.h: Bugfix. Remove stray #
76081
76082 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
76083
76084         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
76085         so that we test the test.
76086         Check for yet another HP-UX cc bug involving *bool |= bool.
76087
76088 2006-01-25  Karl Berry  <karl@gnu.org>
76089
76090         * config/srclist.txt (vasnprintf.c): sync lost.
76091
76092 2006-01-25  Jim Meyering  <jim@meyering.net>
76093
76094         Sync from the stable (b5) branch of coreutils:
76095
76096         * lib/fts.c (fts_children): Don't let close() clobber errno from
76097         failed fchdir().
76098
76099         * lib/fts.c (fts_stat): When following a symlink-to-directory,
76100         don't necessarily interpret stat-fails+lstat-succeeds as indicating
76101         a dangling symlink.  That can also happen at least for ELOOP.
76102         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
76103         FYI, this bug predates the inclusion of fts.c in coreutils.
76104
76105         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
76106         in their own block, so pre-c99 compilers don't object.
76107
76108         Avoid the double-free (first in fts_read, second in fts_close) that
76109         would occur when an `active' directory is made inaccessible (e.g.,
76110         via chmod a-x) during a traversal.
76111         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
76112         before returning.  Reproduce this failure by
76113         mkdir -p a/b; cd a; chmod a-x . b
76114         Reported by Stavros Passas.
76115
76116 2006-01-25  Jim Meyering  <jim@meyering.net>
76117
76118         * lib/fileblocks.c: Remove more useless parentheses.
76119         * lib/readutmp.h: Likewise.
76120
76121 2006-01-25  Bruno Haible  <bruno@clisp.org>
76122
76123         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
76124         warnings.
76125         Reported by Paul Eggert.
76126
76127 2006-01-25  Bruno Haible  <bruno@clisp.org>
76128
76129         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
76130         rid of a trap command. For Solaris sh.
76131         Reported by Mark D. Baushke <mdb@gnu.org>.
76132
76133 2006-01-24  Simon Josefsson  <jas@extundo.com>
76134
76135         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
76136         Bruno.
76137
76138 2006-01-24  Karl Berry  <karl@gnu.org>
76139
76140         * config/srclist.txt (argp-namefrob.h): sync lost.
76141
76142 2006-01-24  Jim Meyering  <jim@meyering.net>
76143
76144         * modules/openat (Files): Add lib/intprops.h.
76145         From Mark D. Baushke.
76146
76147 2006-01-24  Jim Meyering  <jim@meyering.net>
76148
76149         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
76150         Reported by Mark D. Baushke.
76151
76152 2006-01-24  Jim Meyering  <jim@meyering.net>
76153
76154         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
76155
76156 2006-01-24  Bruno Haible  <bruno@clisp.org>
76157
76158         * modules/strnlen (Maintainer): Change from glibc to all.
76159
76160 2006-01-24  Bruno Haible  <bruno@clisp.org>
76161
76162         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
76163         Patch by Paul Eggert.
76164
76165 2006-01-24  Bruno Haible  <bruno@clisp.org>
76166
76167         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
76168         already has it.
76169         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
76170         2005-11-26.
76171
76172         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
76173         'signed char' to avoid problems with the built-in _Bool type.
76174         Reported by Paul Eggert on 2005-11-26.
76175
76176 2006-01-24  Bruno Haible  <bruno@clisp.org>
76177
76178         * gnulib-tool (func_import): Avoid constructing complicated sed
76179         expressions inside backquote.
76180         Report and solution by Mark D. Baushke <mdb@gnu.org>.
76181
76182 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
76183
76184         These changes imported from libc.
76185         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
76186         test and two separate function calls.
76187         * lib/strndup.c (__strndup): Add libc_hidden_def.
76188
76189 2006-01-23  Simon Josefsson  <jas@extundo.com>
76190
76191         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
76192         Remove the test_*_SOURCES variable: automake infers it by default.
76193         * modules/tls-tests: Likewise.
76194
76195 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76196
76197         Work around porting bugs reported by Dieter in
76198         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
76199         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
76200         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
76201         Include "getopt.h" first, to check interface.
76202         (getenv): Declare only if defined HAVE_DECL_GETENV &&
76203         !HAVE_DECL_GETENV.
76204         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
76205         (__strndup): Revert to K&R-style function dfns, the glibc style.
76206         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
76207         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
76208         Include strnlen.h first, to get prototype properly.
76209         (strnlen): Renamed from __strnlen.
76210         Remove weak alias.
76211
76212 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76213
76214         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
76215
76216 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76217
76218         * config/srclist.txt: Adjust to reflect glibc reorganization.
76219         This affects only comments.
76220
76221 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76222
76223          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
76224          Reported by Bruce Korb <bkorb@gnu.org>.
76225
76226 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
76227
76228         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
76229         to pacify gcc -Wswitch-default.
76230
76231 2006-01-22  Bruno Haible  <bruno@clisp.org>
76232
76233         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
76234         temporary buffer for sprintf, take into account the precision also
76235         for 'd', 'i', 'u', 'o', 'x', 'X'.
76236
76237 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
76238
76239         * modules/argp-tests: New module
76240         * tests/test-argp.c: New file
76241         * tests/test-argp-2.sh: New file
76242
76243 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
76244
76245         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
76246         (__argp_base_name): Removed
76247         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
76248         typo.
76249         (__argp_base_name): Provide macro definition or extern declaration
76250         depending on the configuration
76251
76252 2006-01-20  Simon Josefsson  <jas@extundo.com>
76253
76254         * modules/inet_ntop (Depends-on): Depend on sys_socket.
76255
76256 2006-01-20  Simon Josefsson  <jas@extundo.com>
76257
76258         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
76259
76260 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
76261
76262         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
76263         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
76264         Suggested by Bruno Haible.
76265
76266 2006-01-20  Karl Berry  <karl@gnu.org>
76267
76268         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
76269         until changes propagate, I guess.
76270
76271 2006-01-19  Simon Josefsson  <jas@extundo.com>
76272
76273         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
76274
76275 2006-01-19  Simon Josefsson  <jas@extundo.com>
76276
76277         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
76278
76279 2006-01-19  Simon Josefsson  <jas@extundo.com>
76280
76281         * gnulib-tool: Set check_PROGRAMS.
76282
76283         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
76284         modules/des-tests, modules/gc-arcfour-tests,
76285         modules/gc-arctwo-tests, modules/gc-des-tests,
76286         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
76287         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
76288         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
76289         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
76290         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
76291         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
76292         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
76293         test_*_SOURCES.
76294
76295 2006-01-18  Simon Josefsson  <jas@extundo.com>
76296
76297         * modules/socklen (Depends-on): Depend on sys_socket.
76298
76299 2006-01-18  Simon Josefsson  <jas@extundo.com>
76300
76301         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
76302         modules/des-tests, modules/gc-arcfour-tests,
76303         modules/gc-arctwo-tests, modules/gc-des-tests,
76304         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
76305         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
76306         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
76307         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
76308         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
76309         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
76310         $(EXEEXT) to automake TESTS variable, for mingw32.
76311
76312 2006-01-17  Simon Josefsson  <jas@extundo.com>
76313
76314         * modules/socklen (Include): Need sys/socket.h.
76315
76316 2006-01-17  Bruno Haible  <bruno@clisp.org>
76317
76318         * modules/ssize_t (Include): Add <sys/types.h>.
76319
76320 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
76321
76322         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
76323         it's not portable and it doesn't work with cross-compiles.
76324         Problem reported by Bruno Haible.  Fix missing-$ typo in
76325         'test "gl_cv_ignore_unused_libraries" ...' that prevented
76326         -zignore from being used with Sun's C compiler.
76327
76328 2006-01-12  Simon Josefsson  <jas@extundo.com>
76329
76330         * lib/base64.c: Fix warning, reported by Bruno Haible
76331         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
76332
76333 2006-01-12  Bruno Haible  <bruno@clisp.org>
76334
76335         * modules/ldd: New file.
76336         * build-aux/ldd.sh.in: New file.
76337         * MODULES.html.sh (Support for building libraries and executables): Add
76338         ldd.
76339
76340 2006-01-12  Bruno Haible  <bruno@clisp.org>
76341
76342         * m4/ldd.m4: New file.
76343
76344 2006-01-12  Bruno Haible  <bruno@clisp.org>
76345
76346         * gnulib-tool (func_import, func_create_testdir): Don't go into an
76347         endless loop while replacing $auxdir with build-aux.
76348
76349 2006-01-11  Simon Josefsson  <jas@extundo.com>
76350
76351         * lib/stdint_.h (SIZE_MAX): Add missing (.
76352
76353 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
76354
76355         Sync from coreutils.
76356         * lib/md5.c: Fix commentary typos.
76357         (alignof, UNALIGNED_P): No need for a GCC-specific version.
76358         * lib/md5.h (__attribute__): Remove; unused.
76359         * lib/sha1.c: Fix commentary to match md5 better.
76360         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
76361         so that we don't need to worry about alignment.  All uses changed.
76362         This merges the 2005-10-28 md5 change into sha1.
76363
76364 2006-01-11  Jim Meyering  <jim@meyering.net>
76365
76366         Sync from coreutils.
76367         * lib/md5.c (OP): Fix spacing.
76368
76369 2006-01-11  Bruno Haible  <bruno@clisp.org>
76370
76371         Ensure automatic ordering between gl_LOCK and gl_ARGP.
76372         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
76373         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
76374
76375 2006-01-11  Bruno Haible  <bruno@clisp.org>
76376
76377         Ensure automatic ordering between gl_LOCK and gl_ARGP.
76378         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
76379         the "early" section as well.
76380
76381 2006-01-11  Bruno Haible  <bruno@clisp.org>
76382
76383         Avoid "ar: no archive members specified" error on MacOS X.
76384         * gnulib-tool (func_modules_add_dummy): New function.
76385         (func_import, func_create_testdir): Invoke it.
76386
76387 2006-01-11  Bruno Haible  <bruno@clisp.org>
76388
76389         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
76390         with $auxdir in AC_CONFIG_FILES statements.
76391
76392 2006-01-11  Bruno Haible  <bruno@clisp.org>
76393
76394         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76395         Initialize also noinst_HEADERS to empty.
76396
76397 2006-01-11  Bruno Haible  <bruno@clisp.org>
76398
76399         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
76400         variables.
76401         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
76402         autoreconf.
76403
76404 2006-01-11  Bruno Haible  <bruno@clisp.org>
76405
76406         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
76407         overridable by the user.
76408         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76409
76410 2006-01-10  Simon Josefsson  <jas@extundo.com>
76411
76412         * modules/sys_socket: New file.
76413
76414 2006-01-10  Simon Josefsson  <jas@extundo.com>
76415
76416         * m4/sys_socket_h.m4: New file.
76417
76418 2006-01-10  Simon Josefsson  <jas@extundo.com>
76419
76420         * lib/socket_.h: New file.
76421
76422 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
76423
76424         * modules/readutmp (Maintainer): Add myself.
76425
76426 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
76427
76428         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
76429         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
76430         People who are still concerned with buggy memcmp implementations
76431         can invoke gl_FUNC_MEMCMP themselves.
76432
76433 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
76434
76435         * lib/regex_internal.h (BITSET_WORD_BITS):
76436         Work around a bug in 64-bit PGC (before version 6.1-2), where the
76437         preprocessor mishandles large unsigned values as if they were signed.
76438         Problem reported by Claudio Fontana in
76439         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
76440
76441 2006-01-10  Jim Meyering  <jim@meyering.net>
76442
76443         Avoid the double-free (first in fts_read, second in fts_close) that
76444         would occur when an `active' directory is made inaccessible (e.g.,
76445         via chmod a-x) during a traversal.
76446         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
76447         before returning.  Reproduce this failure by
76448         mkdir -p a/b; cd a; chmod a-x . b
76449         Reported by Stavros Passas.
76450
76451         Sync from coreutils.
76452         * lib/sha1.c: Tweak grammar in a comment.
76453
76454 2006-01-10  Jim Meyering  <jim@meyering.net>
76455
76456         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
76457         Patch by Joerg Sonnenberger.
76458
76459 2006-01-10  Bruno Haible  <bruno@clisp.org>
76460
76461         * modules/readutmp: Depend on module free.
76462         * modules/strtok_r: Depend on module restrict.
76463
76464 2006-01-10  Bruno Haible  <bruno@clisp.org>
76465
76466         * modules/gettext (configure.ac): Add an invocation of
76467         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
76468
76469 2006-01-10  Bruno Haible  <bruno@clisp.org>
76470
76471         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
76472         Reported by Werner Lemberg <wl@gnu.org>.
76473
76474 2006-01-10  Bruno Haible  <bruno@clisp.org>
76475
76476         * lib/localcharset.c: Update from GNU gettext.
76477
76478 2006-01-10  Bruno Haible  <bruno@clisp.org>
76479
76480         * lib/argp.h (__const): Remove macro. Use const instead.
76481         * lib/argp-fmtstream.h (__const): Likewise.
76482         * lib/glob_.h (__const): Remove macro.
76483         * lib/glob-libc.h: Use const instead of __const.
76484
76485 2006-01-10  Bruno Haible  <bruno@clisp.org>
76486
76487         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
76488         variable.
76489         Needed to avoid an automake error regarding the 'gettext' module.
76490
76491 2006-01-09  Simon Josefsson  <jas@extundo.com>
76492
76493         * modules/inet_ntop (Depends-on): Add restrict.
76494
76495 2006-01-09  Simon Josefsson  <jas@extundo.com>
76496
76497         * modules/gc-rijndael-tests (License): Put under LGPL.
76498
76499         * modules/gc-des-tests (License): Likewise.
76500
76501         * modules/gc-arcfour-tests (License): Likewise.
76502
76503         * modules/gc-arctwo-tests (License): Likewise.
76504
76505         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
76506
76507         * modules/gc-hmac-sha1-tests (Files): Likewise.
76508
76509         * modules/gc-hmac-md5-tests (License): Likewise.
76510
76511         * modules/gc-sha1-tests (License): Likewise.
76512
76513         * modules/gc-md5-tests (License): Likewise.
76514
76515         * modules/gc-md4-tests (License): Likewise.
76516
76517         * modules/gc-md2-tests (License): Likewise.
76518
76519         * modules/gc-tests (License): Likewise.
76520
76521         * modules/des-tests (License): Likewise.
76522
76523         * modules/md4-tests (License): Likewise.
76524
76525         * modules/md2-tests (License): Likewise.
76526
76527 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76528
76529         Sync from coreutils:
76530
76531         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
76532         * modules/lib-ignore: New file.
76533         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
76534         chdir-safer.m4, lchmod.m4.
76535         * modules/openat: Add mkdirat.c, openat-priv.h.
76536
76537 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76538
76539         Sync from coreutils.
76540         * m4/lib-ignore.m4: New file.
76541         * m4/lchmod.m4: New file.
76542
76543 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76544
76545         Sync from coreutils.
76546         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
76547         for write access: POSIX says that must fail.
76548         * lib/fts.c (diropen): Likewise.
76549         * lib/save-cwd.c (save_cwd): Likewise.
76550         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
76551         well, for minor improvements on hosts that lack O_DIRECTORY.
76552         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
76553         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
76554         Fall back on chown if open failed with EACCES.
76555
76556         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
76557         Report an error at compile-time if only a 1-second nominal clock
76558         resolution is found.
76559
76560         * lib/lchmod.h: New file.
76561         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
76562         (make_dir_parents): Use lchown rather than chown, and
76563         lchmod rather than chmod.
76564
76565         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
76566         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
76567         "proc" reported by n0dalus.
76568
76569         * lib/mountlist.c: Include <limits.h>.
76570         (dev_from_mount_options)
76571         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
76572         New function.  It no longer assumes "dev=" has the System V meaning
76573         on Linux (since it doesn't).  It also parses "dev=" more carefully.
76574         (read_file_system_list)
76575         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
76576         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
76577         dev= in that case.
76578
76579         * lib/posixtm.h (PDS_PRE_2000): New macro.
76580         * lib/posixtm.c (year): Arg is now syntax_bits rather than
76581         allow_century.  All usages changed.  Reject dates outside the range
76582         1969-1999 if PDS_PRE_2000 is used.
76583
76584 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76585
76586         Sync from coreutils.
76587         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
76588         (Time of day items): Mention the possibility of leap seconds.
76589         Problem reported by Dr. David Alan Gilbert.
76590
76591 2006-01-09  Jim Meyering  <jim@meyering.net>
76592
76593         Sync from coreutils.
76594
76595         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
76596
76597         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
76598
76599         * lib/modechange.c (mode_compile): Reject an invalid mode string
76600         that starts with an octal digit.  From Andreas Gruenbacher.
76601
76602         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
76603         and dup to open_safer and dup_safer, respectively.
76604         (openat_permissive): Fix typo in comment.
76605
76606         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
76607         "gettext.h"; either no longer needed or are guaranteed by openat.h.
76608         (_): Remove; no longer needed.
76609         (openat): Renamed from rpl_openat; no need for rpl_openat
76610         since openat.h renames openat for us.
76611         Replace most of the body with a call to openat_permissive,
76612         to avoid duplicate code.
76613         Port to (probably hypothetical) environments were mode_t is
76614         wider than int.
76615         (openat_permissive): Require mode arg, so that we can check
76616         types better.  Put it just after flags.  Change cwd failure
76617         indicator from pointer-to-bool to pointer-to-errno-value.
76618         All callers changed.
76619         Invoke openat_save_fail and/or openat_restore_fail if
76620         cwd_errno is null, so that openat can call us.
76621         (openat_permissive, fdopendir, fstatat, unlinkat):
76622         Simplify errno handling to avoid some duplicate code,
76623         as it's OK to set errno on success.
76624         * lib/openat.h: Revamp code so that function macros depend on
76625         __OPENAT_PREFIX only, not also on AT_FDCWD.
76626         (openat_ro): Remove.  Caller changed to use openat_permissive.
76627         (openat_permissive): Now a macro, if not a function.
76628         (openat_restore_fail, openat_save_fail): Now always functions,
76629         since mkdirat needs them even if __OPENAT_PREFIX is defined.
76630
76631         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
76632         and openat.c.
76633         * lib/mkdirat.c: Include openat-priv.h.
76634         Remove definitions of macros defined therein.
76635         * lib/openat.c: Likewise.
76636
76637         * lib/mkdirat.c (mkdirat): New file and function.
76638         * lib/openat.h (mkdirat): Declare.
76639
76640         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
76641
76642         * lib/openat.h (openat_permissive): Declare.
76643         (openat_ro): Define.
76644
76645         * lib/openat.c (EXPECTED_ERRNO): New macro.
76646         (openat_permissive): New function -- used in remove.c rewrite.
76647         (all functions): Set errno just before returning, only if there
76648         was an actual failure.
76649         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
76650
76651         Emulate openat-family functions using Linux's procfs, if possible.
76652         Idea and some code based on Ulrich Drepper's glibc changes.
76653
76654         * lib/openat.c: (BUILD_PROC_NAME): New macro.
76655         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
76656         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
76657         before falling back on save_cwd and restore_cwd.
76658         (fdopendir, fstatat, unlinkat): Likewise.
76659
76660         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
76661         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
76662
76663         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
76664         as second argument to va_arg.  Otherwise, some versions of gcc
76665         warn that `if this code is reached, the program will abort'.
76666
76667 2006-01-09  Jim Meyering  <jim@meyering.net>
76668
76669         Sync from coreutils.
76670         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
76671         Require openat-priv.h.
76672
76673 2006-01-09  Bruno Haible  <bruno@clisp.org>
76674
76675         * modules/strnlen (Include): Use strnlen.h.
76676
76677 2006-01-09  Bruno Haible  <bruno@clisp.org>
76678
76679         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
76680
76681 2006-01-09  Bruno Haible  <bruno@clisp.org>
76682
76683         * lib/sysexit_.h (EX_OK): New macro.
76684         Suggested by Martin Lambers <marlam@marlam.de>.
76685
76686 2006-01-09  Bruno Haible  <bruno@clisp.org>
76687
76688         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
76689         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
76690
76691 2006-01-09  Bruno Haible  <bruno@clisp.org>
76692
76693         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
76694         numbers.
76695
76696 2006-01-09  Bruno Haible  <bruno@clisp.org>
76697
76698         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
76699         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
76700         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
76701         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
76702
76703 2006-01-09  Bruno Haible  <bruno@clisp.org>
76704
76705         * build-aux/javacomp.sh.in: New file, moved from lib/.
76706         * modules/javacomp-script (Files): Update.
76707         (configure.ac): Add AC_CONFIG_FILES invocation.
76708         (EXTRA_DIST): Remove variable.
76709
76710         * build-aux/javaexec.sh.in: New file, moved from lib/.
76711         * modules/javaexec (Files): Update.
76712         (configure.ac): Add AC_CONFIG_FILES invocation.
76713         (EXTRA_DIST): Remove javaexec.sh.in.
76714
76715         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
76716         * modules/csharpcomp-script (Files): Update.
76717         (configure.ac): Add AC_CONFIG_FILES invocation.
76718         (EXTRA_DIST): Remove variable.
76719
76720         * build-aux/csharpexec.sh.in: New file, moved from lib/.
76721         * modules/csharpexec (Files): Update.
76722         (configure.ac): Add AC_CONFIG_FILES invocation.
76723         (EXTRA_DIST): Remove csharpexec.sh.in.
76724
76725 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
76726
76727         Sync from coreutils.
76728
76729         Add POSIX ACL support
76730         * lib/acl.h (copy_acl, set_acl): Add declarations.
76731         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
76732         systems other than Linux.
76733         (chmod_or_fchmod): New function: use fchmod when possible,
76734         and chmod otherwise.
76735         (file_has_acl): Add a POSIX ACL implementation, with a
76736         Linux-specific subcase.
76737         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
76738         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
76739         acls are unsupported.
76740         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
76741         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
76742         are unsupported.
76743
76744 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
76745
76746         Sync from coreutils.
76747         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
76748
76749 2006-01-07  Bruno Haible  <bruno@clisp.org>
76750
76751         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
76752         gl_EARLY.
76753
76754 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
76755
76756         * lib/strftime.c (tzname): Don't declare if it is already #defined.
76757         Problem reported for Mingw by Mark Junker.
76758
76759 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
76760
76761         * README: Gnulib normally doesn't generate a tarball.
76762
76763 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
76764
76765         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
76766         long int, not int, for nanosecond counts, so that people who are
76767         used to POSIX struct timespec won't be surprised.  Reported by Jim
76768         Meyering.
76769
76770 2005-12-28  Bruno Haible  <bruno@clisp.org>
76771
76772         * build-aux/config.rpath: Update from GNU gettext.
76773
76774 2005-12-16  Jim Meyering  <jim@meyering.net>
76775
76776         * modules/fprintftime: New module.
76777         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
76778
76779 2005-12-16  Jim Meyering  <jim@meyering.net>
76780
76781         * m4/fprintftime.m4: New file.
76782
76783 2005-12-16  Jim Meyering  <jim@meyering.net>
76784
76785         * lib/fprintftime.c, lib/fprintftime.h: New files.
76786
76787 2005-12-15  Simon Josefsson  <jas@extundo.com>
76788
76789         * modules/socklen (configure.ac): Fix M4 macro name, to align with
76790         new m4/socklen.m4.
76791
76792 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
76793
76794         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
76795         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
76796
76797 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
76798
76799         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
76800         * lib/argp-help.c (fill_in_uparams): Check if the constructed
76801         struct uparams is valid. Fall back to the default values if it is
76802         not.
76803
76804 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76805
76806         * modules/argp (Files): Add argp-pin.c
76807         (Depends-on): dirname
76808         (lib_SOURCES): Add argp-pin.c
76809
76810 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76811
76812         * m4/argp.m4:  Check if program_invocation_name and
76813         program_invocation_short_name are declared and define appropriate
76814         macros if they are not.
76815
76816 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76817
76818         * lib/argp-help.c (__argp_base_name): New function
76819         (__argp_short_program_name): Rewrite using __argp_base_name
76820         * lib/argp-namefrob.h: Define program_invocation_name and
76821         program_invocation_short_name if requested
76822         (__argp_base_name): Add prototype
76823         * lib/argp-parse.c (argp_def): Use gettext wrappers
76824         (argp_default_parser): Use __argp_base_name
76825         * lib/argp-pin.c: New file. Defines program_invocation_name and
76826         program_invocation_short_name on systems that lack them.
76827
76828 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
76829
76830         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
76831         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
76832         porting problem reported by Georg Schwarz in
76833         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
76834
76835 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
76836
76837         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
76838         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
76839         porting problem reported by Georg Schwarz in
76840         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
76841
76842 2005-12-05  Bruno Haible  <bruno@clisp.org>
76843
76844         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
76845         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
76846         Reported by Mark Junker <mjscod@gmx.de>.
76847
76848 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
76849
76850         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
76851         Use implementation from Albert Chin, with some
76852         comments/corrections by Stepan Kasal and myself.
76853
76854 2005-12-02  Bruno Haible  <bruno@clisp.org>
76855
76856         * gnulib-tool (func_import): Accept GPLed build tool modules when
76857         --lgpl is given.
76858         * modules/csharpcomp-script: New file.
76859         * modules/csharpcomp: Depend on it.
76860         * modules/javacomp-script: New file.
76861         * modules/javacomp: Depend on it.
76862         Suggested by Simon Josefsson.
76863
76864 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
76865
76866         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
76867         statement, to work around an HP-UX 10.20 compiler bug reported by
76868         Peter O'Gorman.
76869
76870 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
76871
76872         * modules/savedir (Depends-on): Add openat.
76873
76874 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
76875
76876         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
76877         (uintmax_t) [defined uintmax_t]: Do not declare.
76878         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
76879         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
76880         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
76881         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
76882         sake of portability to weird hosts that C allows (though we don't
76883         know of any practical examples).
76884
76885         * lib/savedir.h (fdsavedir): New decl.
76886         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
76887         contains most of the former guts of savedir.
76888         (savedir): Use savedirstream.
76889         Include "openat.h".
76890
76891 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
76892
76893         * modules/obstack (Files): Add m4/ulonglong.m4.
76894         Problem reported by Davide Angelocola.
76895
76896 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
76897
76898         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
76899         coreutils no longer futzes with rounding modes.
76900
76901 2005-11-14  Jim Meyering  <jim@meyering.net>
76902
76903         * lib/mkstemp-safer.c: Include <config.h>, required for possible
76904         replacement of mkstemp.
76905
76906 2005-11-10  Simon Josefsson  <jas@extundo.com>
76907
76908         * lib/readline.c: Remove EOL.
76909
76910 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76911
76912         * modules/gethrxtime (Depends-on): Add gettime.
76913
76914 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76915
76916         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
76917         or gettimeofday; no longer needed.
76918
76919 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76920
76921         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
76922         time business.
76923         (gethrxtime) [! (HAVE_NANOUPTIME
76924         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
76925         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
76926         our own approximation.
76927
76928 2005-11-08  Eric Blake  <ebb9@byu.net>
76929
76930         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
76931
76932 2005-11-08  Eric Blake  <ebb9@byu.net>
76933
76934         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
76935
76936 2005-11-04  Bruno Haible  <bruno@clisp.org>
76937
76938         * gnulib-tool: Implement --update mode.
76939
76940 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
76941
76942         Fix porting problem reported by Theodoros V. Kalamatianos.
76943         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
76944         Don't assume that futimes failing means we must fail.
76945
76946 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
76947
76948         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
76949         variables to suggest the intended function of the PATH_MAX check.
76950
76951 2005-10-30  Kean Johnston  <jkj@sco.com>
76952
76953         Trivial changes to support SCO systems.
76954         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
76955         as PATH_MAX.
76956         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
76957         where __ptr is null when no I/O is pending.
76958
76959 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
76960
76961         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
76962         leave errno alone.  Problem reported by Dmitry V. Levin.
76963
76964 2005-10-28  Simon Josefsson  <jas@extundo.com>
76965
76966         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
76967         Test more.
76968
76969         * tests/test-gc-md2.c, tests/test-md2.c: New files.
76970
76971         * modules/md2, modules/md2-tests: New files.
76972
76973 2005-10-28  Simon Josefsson  <jas@extundo.com>
76974
76975         * m4/inet_ntop.m4: More tests.
76976
76977         * m4/gc-md2.m4, md2.m4: New file.
76978
76979 2005-10-28  Simon Josefsson  <jas@extundo.com>
76980
76981         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
76982         "restrict" keywords, as per POSIX.  Protect the function
76983         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
76984         Don't use K&R prototypes.  Check the sprintf return values.
76985         Re-define EAFNOSUPPORT if not present.  Indent.
76986
76987         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
76988         suggested by Bruno Haible <bruno@clisp.org>.
76989
76990         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
76991
76992         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
76993
76994         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
76995         libgcrypt).
76996
76997         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
76998
76999         * lib/md2.h, lib/md2.c: New files.
77000
77001 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
77002
77003         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
77004         errno alone.  Problem reported by Frederic Jolliton.
77005
77006 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
77007
77008         * modules/verify (License): Change from GPL to LGPL.  This is a
77009         tiny module and there are apparently near-equivalents that are
77010         under the BSD license.
77011
77012 2005-10-24  Simon Josefsson  <jas@extundo.com>
77013
77014         * modules/sha1: Relicense to LGPL.
77015
77016 2005-10-24  Simon Josefsson  <jas@extundo.com>
77017
77018         * lib/md4.h: Shrink buffer size, now that we changed the type.
77019
77020 2005-10-23  Simon Josefsson  <jas@extundo.com>
77021
77022         * gnulib-tool (func_import): Fix --tests-base.
77023
77024 2005-10-22  Simon Josefsson  <jas@extundo.com>
77025
77026         * modules/arcfour (Depends-on): Need stdint.
77027
77028 2005-10-22  Simon Josefsson  <jas@extundo.com>
77029
77030         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
77031         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
77032
77033 2005-10-22  Simon Josefsson  <jas@extundo.com>
77034
77035         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
77036         suggested by Bruno Haible <bruno@clisp.org>.
77037
77038 2005-10-22  Simon Josefsson  <jas@extundo.com>
77039
77040         * lib/crc.h: Include stddef.h, for size_t.
77041
77042 2005-10-22  Simon Josefsson  <jas@extundo.com>
77043
77044         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
77045         arcfour_context struct (simplify test vector testing in GNU
77046         Shishi).
77047
77048 2005-10-21  Simon Josefsson  <jas@extundo.com>
77049
77050         * modules/des, modules/des-tests: New files.
77051
77052         * modules/gc-des, modules/gc-des-tests: New files.
77053
77054         * tests/test-des.c, tests/test-gc-des.c: New file.
77055
77056 2005-10-21  Simon Josefsson  <jas@extundo.com>
77057
77058         * modules/arctwo, modules/arctwo-tests: New files.
77059
77060         * tests/test-arctwo.c: New file.
77061
77062         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
77063
77064         * tests/test-gc-arctwo.c: New file.
77065
77066 2005-10-21  Simon Josefsson  <jas@extundo.com>
77067
77068         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
77069         Bruno Haible <bruno@clisp.org>.
77070
77071         * m4/gc-des.m4: New file.
77072
77073 2005-10-21  Simon Josefsson  <jas@extundo.com>
77074
77075         * m4/arctwo.m4: New file.
77076
77077         * m4/gc-arctwo.m4: New file.
77078
77079 2005-10-21  Simon Josefsson  <jas@extundo.com>
77080
77081         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
77082         block.
77083
77084 2005-10-21  Simon Josefsson  <jas@extundo.com>
77085
77086         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
77087         <bruno@clisp.org>.
77088
77089         * lib/hmac-sha1.c (hmac_sha1): Likewise.
77090
77091         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
77092         Bruno Haible <bruno@clisp.org>.
77093
77094         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
77095         <bruno@clisp.org>.
77096
77097 2005-10-21  Simon Josefsson  <jas@extundo.com>
77098
77099         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
77100
77101 2005-10-21  Simon Josefsson  <jas@extundo.com>
77102
77103         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
77104
77105 2005-10-21  Simon Josefsson  <jas@extundo.com>
77106
77107         * lib/des.h, lib/des.c: New files.
77108
77109         * lib/gc-gnulib.c: Support DES.c
77110
77111 2005-10-21  Simon Josefsson  <jas@extundo.com>
77112
77113         * lib/arctwo.h, lib/arctwo.c: New files.
77114
77115         * lib/gc-gnulib.c: Support ARCTWO.
77116
77117 2005-10-21  Simon Josefsson  <jas@extundo.com>
77118
77119         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
77120         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77121
77122 2005-10-21  Simon Josefsson  <jas@extundo.com>
77123
77124         * gnulib-tool (func_import, func_create_testdir): Define automake
77125         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
77126         Makefile.am snippet),
77127         suggested by Bruno Haible <bruno@clisp.org>.
77128
77129         * modules/gc (Makefile.am): Use it.
77130
77131 2005-10-21  Bruno Haible  <bruno@clisp.org>
77132
77133         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
77134         patch.
77135
77136 2005-10-19  Simon Josefsson  <jas@extundo.com>
77137
77138         * tests/test-gc-rijndael.c: New file.
77139
77140         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
77141
77142 2005-10-19  Simon Josefsson  <jas@extundo.com>
77143
77144         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
77145         interface too.
77146
77147 2005-10-19  Simon Josefsson  <jas@extundo.com>
77148
77149         * tests/test-gc-arcfour.c: New file.
77150
77151         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
77152
77153 2005-10-19  Simon Josefsson  <jas@extundo.com>
77154
77155         * modules/gc-md4, modules/gc-md4-tests: New file.
77156
77157         * tests/test-gc-md4.c: New file.
77158
77159 2005-10-19  Simon Josefsson  <jas@extundo.com>
77160
77161         * m4/gc-md4.m4: New file.
77162
77163 2005-10-19  Simon Josefsson  <jas@extundo.com>
77164
77165         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
77166         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
77167         <kasal@ucw.cz>.
77168
77169 2005-10-19  Simon Josefsson  <jas@extundo.com>
77170
77171         * m4/gc-arcfour.m4: New file.
77172
77173         * m4/gc-rijndael.m4: New file.
77174
77175 2005-10-19  Simon Josefsson  <jas@extundo.com>
77176
77177         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
77178
77179 2005-10-19  Simon Josefsson  <jas@extundo.com>
77180
77181         * lib/gc-gnulib.c: Support ARCFOUR.
77182
77183 2005-10-19  Simon Josefsson  <jas@extundo.com>
77184
77185         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
77186         support.
77187
77188         * lib/gc.h: Add ECB enum type.
77189
77190         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
77191
77192 2005-10-18  Simon Josefsson  <jas@extundo.com>
77193
77194         * tests/test-md5.c: New file.
77195
77196         * modules/md5-tests: New file.
77197
77198 2005-10-18  Simon Josefsson  <jas@extundo.com>
77199
77200         * tests/test-md4.c: New file.
77201
77202         * modules/md4, modules/md4-tests: New files.
77203
77204 2005-10-18  Simon Josefsson  <jas@extundo.com>
77205
77206         * m4/md4.m4: New file.
77207
77208 2005-10-18  Simon Josefsson  <jas@extundo.com>
77209
77210         * lib/md4.h, lib/md4.c: New files, based on md5.?.
77211
77212 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
77213
77214         * gnulib-tool (func_create_testdir): Omit the second check whether
77215         BUILT_SOURCES in nonempty.
77216
77217 2005-10-17  Simon Josefsson  <jas@extundo.com>
77218
77219         * tests/test-rijndael.c: New file.
77220
77221 2005-10-17  Simon Josefsson  <jas@extundo.com>
77222
77223         * modules/sha1: Depend on stdint instead of md5.
77224
77225         * modules/md5: Depend on stdint, remove uint32_t.
77226
77227 2005-10-17  Simon Josefsson  <jas@extundo.com>
77228
77229         * modules/gc-sha1-tests: New file.
77230
77231         * tests/test-gc-sha1.c: New file.
77232
77233 2005-10-17  Simon Josefsson  <jas@extundo.com>
77234
77235         * m4/md5.m4: Remove call to uint32_t.m4.
77236
77237 2005-10-17  Simon Josefsson  <jas@extundo.com>
77238
77239         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
77240
77241         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
77242         md5.h.
77243
77244         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
77245
77246         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
77247
77248 2005-10-17  Simon Josefsson  <jas@extundo.com>
77249
77250         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
77251
77252 2005-10-17  Simon Josefsson  <jas@extundo.com>
77253
77254         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
77255
77256 2005-10-17  Simon Josefsson  <jas@extundo.com>
77257
77258         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
77259
77260         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
77261
77262 2005-10-17  Bruno Haible  <bruno@clisp.org>
77263
77264         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
77265         that it can also be used in a test.
77266
77267 2005-10-16  Bruno Haible  <bruno@clisp.org>
77268
77269         * gnulib-tool (func_emit_tests_Makefile_am): Also define
77270         TESTS_ENVIRONMENT, so that individual tests can augment it.
77271
77272         * gnulib-tool (func_create_testdir): Use an intermediate target for
77273         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
77274         macros, like $(ALLOCA_H), which cannot be passed through the command
77275         line.
77276
77277 2005-10-15  Simon Josefsson  <jas@extundo.com>
77278
77279         * modules/rijndael-tests: New file.
77280
77281         * modules/rijndael: New file.
77282
77283 2005-10-15  Simon Josefsson  <jas@extundo.com>
77284
77285         * m4/rijndael.m4: New file.
77286
77287 2005-10-15  Simon Josefsson  <jas@extundo.com>
77288
77289         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
77290
77291         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
77292
77293 2005-10-14  Simon Josefsson  <jas@extundo.com>
77294
77295         * tests/test-arcfour.c: New file.
77296
77297         * modules/arcfour, modules/arcfour-tests: New files.
77298
77299 2005-10-14  Simon Josefsson  <jas@extundo.com>
77300
77301         * m4/arcfour.m4: New file.
77302
77303 2005-10-14  Simon Josefsson  <jas@extundo.com>
77304
77305         * lib/arcfour.h, lib/arcfour.c: New files.
77306
77307 2005-10-14  Roland McGrath  <roland@redhat.com>
77308
77309         Import from libc.  [BZ #1331]
77310         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
77311         macro argument.
77312         Reported by Matej Vela <vela@debian.org>.
77313
77314 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
77315
77316         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
77317         include <wchar.h>; no longer needed.
77318
77319 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
77320
77321         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
77322
77323 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
77324         and  Ulrich Drepper  <drepper@redhat.com>
77325
77326         Import from libc.
77327         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
77328         instead of inline stream orientation test and two separate
77329         function calls.  Pay no attention to USE_IN_LIBIO.
77330
77331 2005-10-13  Simon Josefsson  <jas@extundo.com>
77332
77333         * modules/gc-hmac-md5-tests: New file.
77334
77335         * tests/test-gc-hmac-sha1.c: New file.
77336
77337         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
77338
77339         * modules/gc-hmac-md5-tests: New file.
77340
77341         * tests/test-gc-md5.c: New file.
77342
77343         * modules/gc-md5-tests: New file.
77344
77345 2005-10-13  Simon Josefsson  <jas@extundo.com>
77346
77347         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
77348         Move memory allocation outside of loop.
77349
77350 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
77351
77352         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
77353         intermediate directory is in a read-only file system.  Problem
77354         reported by Eric Blake.
77355
77356 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
77357
77358         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
77359
77360 2005-10-12  Simon Josefsson  <jas@extundo.com>
77361
77362         * tests/test-hmac-sha1.c: New file.
77363
77364         * modules/hmac-sha1-tests: New file.
77365
77366         * modules/hmac-sha1: New file.
77367
77368 2005-10-12  Simon Josefsson  <jas@extundo.com>
77369
77370         * modules/gc-sha1: New file.
77371
77372 2005-10-12  Simon Josefsson  <jas@extundo.com>
77373
77374         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
77375
77376         * tests/test-gc-pbkdf2-sha1.c: New file.
77377
77378 2005-10-12  Simon Josefsson  <jas@extundo.com>
77379
77380         * modules/gc-md5, modules/gc-hmac-md5: New files.
77381
77382         * modules/gc (Files): Remove md5, memxor and hmac files.
77383
77384 2005-10-12  Simon Josefsson  <jas@extundo.com>
77385
77386         * m4/gc-pbkdf2-sha1.m4: New file.
77387
77388         * m4/gc-hmac-sha1.m4: New file.
77389
77390         * m4/gc-sha1: New file.
77391
77392         * m4/hmac-sha1.m4: New file.
77393
77394 2005-10-12  Simon Josefsson  <jas@extundo.com>
77395
77396         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
77397
77398         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
77399
77400 2005-10-12  Simon Josefsson  <jas@extundo.com>
77401
77402         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
77403         suggested by Bruno Haible <bruno@clisp.org>.
77404
77405 2005-10-12  Simon Josefsson  <jas@extundo.com>
77406
77407         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
77408
77409 2005-10-12  Simon Josefsson  <jas@extundo.com>
77410
77411         * lib/gc-pbkdf2-sha1.c: New file.
77412
77413         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
77414
77415 2005-10-12  Simon Josefsson  <jas@extundo.com>
77416
77417         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
77418
77419         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
77420
77421 2005-10-12  Simon Josefsson  <jas@extundo.com>
77422
77423         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
77424         GC_USE_HMAC_MD5, respectively.
77425
77426         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
77427         (gc_md5): Fix typo.
77428
77429         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
77430
77431         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
77432
77433         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
77434
77435 2005-10-12  Bruno Haible  <bruno@clisp.org>
77436
77437         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
77438         Reported by Stepan Kasal <kasal@ucw.cz>.
77439
77440 2005-10-11  Simon Josefsson  <jas@extundo.com>
77441
77442         * tests/test-crc.c: New file.
77443
77444         * modules/crc, modules/crc-tests: New files.
77445
77446 2005-10-11  Simon Josefsson  <jas@extundo.com>
77447
77448         * m4/crc.m4: New file.
77449
77450 2005-10-11  Simon Josefsson  <jas@extundo.com>
77451
77452         * lib/gc.h: Add gc_hash and gc_hash_buffer.
77453
77454         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
77455
77456         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
77457
77458 2005-10-11  Simon Josefsson  <jas@extundo.com>
77459
77460         * lib/crc.h, lib/crc.c: New files.
77461
77462         * lib/gc.h (gc_hash_buffer): Add doc.
77463
77464 2005-10-11  Bruno Haible  <bruno@clisp.org>
77465
77466         * modules/c-strcasestr: New file.
77467         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
77468
77469 2005-10-11  Bruno Haible  <bruno@clisp.org>
77470
77471         * modules/c-strcase: New file.
77472         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
77473
77474 2005-10-11  Bruno Haible  <bruno@clisp.org>
77475
77476         * lib/strcasecmp.c: Include limits.h.
77477         (strcasecmp): Avoid integer overflow on exotic platforms.
77478         * lib/strncasecmp.c: Include limits.h.
77479         (strncasecmp): Avoid integer overflow on exotic platforms.
77480         Reported by Paul Eggert.
77481
77482 2005-10-11  Bruno Haible  <bruno@clisp.org>
77483
77484         * lib/c-strcasestr.h: New file, from GNU gettext.
77485         * lib/c-strcasestr.c: New file, from GNU gettext.
77486
77487 2005-10-11  Bruno Haible  <bruno@clisp.org>
77488
77489         * lib/c-strcase.h: New file, from GNU gettext.
77490         * lib/c-strcasecmp.c: New file, from GNU gettext.
77491         * lib/c-strncasecmp.c: New file, from GNU gettext.
77492
77493 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77494
77495         * modules/mempcpy (License): GPL -> LGPL.
77496         * modules/strchrnul (License): Likewise.
77497         * modules/sysexits (License): Likewise.
77498
77499 2005-10-08  Simon Josefsson  <jas@extundo.com>
77500
77501         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
77502
77503 2005-10-07  Simon Josefsson  <jas@extundo.com>
77504
77505         * m4/memxor.m4: Remove gl_C_RESTRICT call.
77506
77507 2005-10-06  Simon Josefsson  <jas@extundo.com>
77508
77509         * tests/test-hmac-md5.c: New file.
77510
77511         * modules/hmac-md5-tests: New file.
77512
77513         * modules/hmac-md5: New file.
77514
77515 2005-10-06  Simon Josefsson  <jas@extundo.com>
77516
77517         * m4/hmac-md5.m4: New file.
77518
77519         * m4/memxor.m4: Require gl_C_RESTRICT.
77520
77521 2005-10-06  Simon Josefsson  <jas@extundo.com>
77522
77523         * lib/memxor.c (memxor): Avoid casts and warnings.
77524
77525 2005-10-06  Simon Josefsson  <jas@extundo.com>
77526
77527         * lib/hmac-md5.c: New file.
77528
77529         * lib/hmac.h: New file.
77530
77531 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77532
77533         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
77534         promotes to int, not unsigned int, to catch the AIX 5.3
77535         compiler bug.
77536
77537 2005-10-05  Simon Josefsson  <jas@extundo.com>
77538
77539         * modules/memxor: New file.
77540
77541         * modules/iconv (Files): Move config.rpath to havelib, it is used
77542         there.
77543
77544         * modules/havelib (Files): Add config.rpath.
77545
77546 2005-10-05  Simon Josefsson  <jas@extundo.com>
77547
77548         * m4/memxor.m4: New file.
77549
77550 2005-10-05  Simon Josefsson  <jas@extundo.com>
77551
77552         * lib/memxor.c (memxor): Fix compiler error.
77553
77554         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
77555         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
77556
77557         * lib/memxor.h, lib/memxor.c: New files.
77558
77559         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
77560         we assume all systems have it, suggested by Jim Meyering
77561         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
77562         any systems lack sys/socket.h; mingw32 is known to lack it, but we
77563         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
77564         same reasons.
77565
77566 2005-10-05  Simon Josefsson  <jas@extundo.com>
77567
77568         * config/srclist.txt: Add glibc bug 1423 for md5.h.
77569
77570 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77571
77572         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
77573         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
77574         needed, since the source code now assumes these .h files.
77575
77576 2005-10-05  Derek Price  <derek@ximbiot.com>
77577
77578         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
77579
77580 2005-10-05  Bruno Haible  <bruno@clisp.org>
77581
77582         * modules/stdint (License): Change to LGPL.
77583
77584 2005-10-04  Simon Josefsson  <jas@extundo.com>
77585
77586         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
77587         D. Baushke" <mdb@gnu.org>.
77588
77589 2005-10-04  Bruno Haible  <bruno@clisp.org>
77590
77591         * lib/verify.h (verify_true): Provide alternative definition for C++.
77592
77593 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
77594
77595         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
77596         (SSIZE_MAX): New macro, if not already defined.
77597         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
77598         than 2 GiB.
77599
77600 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
77601
77602         Sync from coreutils.
77603         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
77604         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
77605         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
77606         ULLONG_MAX doesn't work with 2.7.2.1.
77607
77608 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
77609
77610         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
77611         From Ben Pfaff.
77612
77613         * modules/exclude (Depends-on): Depend on verify.
77614         * modules/strtoimax (Depends-on): Likewise.
77615         * modules/utimecmp (Depends-on): Likewise.
77616
77617 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
77618
77619         * lib/exclude.c: Include verify.h.
77620         (verify): Remove.  All callers changed to use verify.h's version.
77621         * lib/strtoimax.c: Likewise.
77622         * lib/utimecmp.c: Likewis.e
77623
77624         Sync from coreutils.
77625         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
77626         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
77627         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
77628         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
77629         bother returning ENOSYS if settimeofday or stime fails; just let
77630         them return whatever errno they want to return.
77631         * lib/utimens.c: Include unistd.h, for dup2.
77632         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
77633         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
77634
77635 2005-10-02  Jim Meyering  <jim@meyering.net>
77636
77637         Sync from coreutils.
77638         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
77639         from glibc-2.2.5 that fails for read-only files.
77640
77641 2005-10-02  Jim Meyering  <jim@meyering.net>
77642
77643         Sync from coreutils.
77644         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
77645         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
77646         `#if HAVE_CONFIG_H'.
77647         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
77648         Remove AT_FDCWD test.
77649         Do not consume the fd unless successful.
77650         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
77651         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
77652         block, so that we don't even try to compile it if settimeofday is
77653         available.  This works around a compilation failure on OSF1 V5.1,
77654         due to stime requiring a `long int*' while tv_sec is `int'.
77655
77656 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
77657
77658         Sync from coreutils.
77659         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
77660         against `yes', rather than just testing for nonempty.
77661
77662 2005-10-01  Simon Josefsson  <jas@extundo.com>
77663
77664         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
77665         and Darwin.
77666
77667         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
77668         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
77669         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
77670         freeaddrinfo and gai_strerror are declared by the POSIX headers.
77671         Check if struct addrinfo is declared.
77672
77673 2005-10-01  Simon Josefsson  <jas@extundo.com>
77674
77675         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
77676         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
77677         AI_* and EAI_* definitions.  Protect function declarations.
77678
77679 2005-10-01  Jim Meyering  <jim@meyering.net>
77680
77681         Sync from coreutils.
77682
77683         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
77684         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
77685         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
77686         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
77687         in the inet and nsl libraries.  Required on Solaris 5.7.
77688
77689 2005-10-01  Jim Meyering  <jim@meyering.net>
77690
77691         Sync from coreutils.
77692         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
77693         in the inet and nsl libraries.  Required on Solaris 5.7.
77694
77695 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
77696
77697         * lib/getdelim.c (getdelim): Remove unused variables.
77698
77699 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77700
77701         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
77702         so that the code works even with ancient cpp.  Portability problem
77703         with GCC 2.7.2.1 reported by Thomas M.Ott.
77704
77705 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77706
77707         * modules/regex (Depends-on): Add strcase.
77708
77709         * modules/gethostname (Licence): Change from GPL to LGPL, since
77710         gethostname.c is a trivial implementation of a standard library
77711         function.
77712         * modules/poll (License): Change from GPL to LGPL, since it's
77713         derived from LGPL code.
77714
77715 2005-09-27  Jim Meyering  <jim@meyering.net>
77716
77717         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
77718         HAVE_CONFIG_H.
77719
77720         * lib/intprops.h (signed_type_or_expr__): Define.
77721         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
77722         for unsigned types.
77723
77724 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77725
77726         * lib/verify.h (verify_expr): Remove, replacing with:
77727         (verify_true): New macro that returns true instead of void.
77728         (verify_type__): Remove.
77729         (verify): Use verify_true rather than verify_type__.
77730
77731 2005-09-26  Bruno Haible  <bruno@clisp.org>
77732
77733         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
77734         is necessary.
77735         (lib_SOURCES): Remove mbchar.c.
77736         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
77737         (Files): Add m4/mbrtowc.m4.
77738         * modules/mbiter: Likewise.
77739         * modules/mbuiter: Likewise.
77740
77741 2005-09-26  Bruno Haible  <bruno@clisp.org>
77742
77743         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
77744         compile mbchar.c if they are not both present.
77745         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
77746         * m4/mbiter.m4 (gl_MBITER): Likewise.
77747         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
77748         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
77749         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
77750
77751 2005-09-25  Jim Meyering  <jim@meyering.net>
77752
77753         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
77754         also uses socklen_t.
77755
77756 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
77757
77758         * lib/utimens.c (ENOSYS): Define if not already defined.
77759         (futimens): Support having a null PATH if the file descriptor
77760         is nonnegative.
77761
77762         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
77763         Remove.
77764         (__attribute): Define to empty unless GCC 3.1 or later.
77765         This works around a core dump on OpenBSD 3.4, which has GCC
77766         2.95.3, which dumps core when given __attribute__(()).  It also
77767         simplifies other tests, since we really don't want to bother with
77768         worrying about which ancient version of GCC supported what.
77769         Original problem reported by Yoann Vandoorselaere, with part of
77770         the fix suggested by Derek Price.
77771
77772 2005-09-24  Jim Meyering  <jim@meyering.net>
77773
77774         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
77775         so we can once again use a positive bitfield width of 1 -- now we
77776         don't have to explain why we were using a bitfield width of 2.
77777
77778 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
77779
77780         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
77781         and similarly for the other external symbols.  Problem reported
77782         by James Gallager.
77783
77784         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
77785         bug reported by Jim Meyering.
77786
77787         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
77788         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
77789         not needed, since socklen is a prerequisite module.
77790
77791 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
77792
77793         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
77794         Problem reported by Eric Blake.
77795         (getaddrinfo): Initialize se so that it's not garbage.
77796         Redo internal storage allocation so that it doesn't make unportable
77797         assumptions about alignment.
77798         Fix a memory leak.
77799
77800         * lib/utimens.c (futimens): Use futimesat if available.
77801         Prefer it to futimes since it doesn't have the futimes bug.
77802
77803         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
77804         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
77805         Instead, declare a function that returns a pointer to an array,
77806         and use verify_type__ to declare the size of the array.
77807         Problem and germ of a solution reported by Bruno Haible.
77808         (verify_type__): Use 2, not 1, for bitfield size, to avoid
77809         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
77810
77811 2005-09-23  Jim Meyering  <jim@meyering.net>
77812
77813         Sync from coreutils.
77814         Correct build failure (socklen_t not defined) on at least
77815         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
77816         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
77817
77818 2005-09-23  Jim Meyering  <jim@meyering.net>
77819
77820         * modules/getaddrinfo (Depends-on): Add socklen.
77821
77822 2005-09-23  Bruno Haible  <bruno@clisp.org>
77823
77824         * tests/test-verify.c: New file.
77825
77826 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77827
77828         Sync from coreutils.
77829
77830         * modules/argmatch (Depends-on): Add verify.
77831         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
77832         unistd-safer.
77833         * modules/save-cwd (Depends-on): Likewise.
77834
77835         * modules/openat (Files): Add lib/openat-die.c.
77836         (Depends-on): Remove error, exitfail.
77837         Add dirname.
77838
77839         * modules/verify: New file.
77840         * MODULES.html.sh (Diagnostics <assert.h>): New section,
77841         with "verify" module.
77842
77843 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77844
77845         Sync from coreutils.
77846
77847         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
77848         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
77849         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
77850         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
77851         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
77852         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
77853         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
77854         Don't bother checking for string.h, stdlib.h, unistd.h.
77855         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
77856         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
77857         module's job.
77858         * m4/jm-macros.m4 (gl_MACROS): Likewise.
77859         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
77860
77861         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
77862         (gl_GETDATE): Use it.
77863
77864         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
77865
77866 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77867
77868         Sync from coreutils.
77869
77870         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
77871         stat-time.h.
77872         * lib/argmatch.h: Include verify.h
77873         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
77874         (ARGMATCH_ASSERT): Remove; unused.
77875         * lib/canonicalize.c: Assume STDC_HEADERS.
77876         * lib/exclude.c: Include "strcase.h".
77877         * lib/regex_internal.h [!defined _LIBC]: Likewise.
77878         * lib/getusershell.c: Include stdio--.h rather than stdio.h
77879         and stdio-safer.h.
77880         (getusershell): Call fopen, not fopen_safer.
77881         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
77882         Do not include unistd-safer.h.
77883         (save_cwd): Don't call fd_safer; no longer needed
77884         now that we include fcntl--.h.
77885
77886         * lib/getdate.y (relative_time): New type.
77887         (RELATIVE_TIME_0): New constant.
77888         (parser_control): Use relative_time instead of doing it ourselves.
77889         (%union): Add new relative_time rel member.
77890         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
77891         Now typeless.
77892         (relunit, relunit_snumber): Now of type rel.
77893         (zone, rel, relunit, get_date): Adjust to above changes.
77894
77895         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
77896         Do not include unistd-safer.h.
77897         (getloadavg): Don't call fd_safer; no longer needed
77898         now that we include fcntl--.h.
77899
77900         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
77901         (make_dir_parents): Treat ENOSYS like EEXIST.
77902
77903         Improve quality of diagnostics on restore_cwd failure.
77904         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
77905         (make_dir_parents): Last arg is now int * (for errno), not bool *.
77906         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
77907         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
77908         each time through the loop.  Do not diagnose restore_cwd failure;
77909         that is the caller's job (and perhaps the caller does not care).
77910
77911         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
77912         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
77913         If the file already exists but is not a directory, don't bother
77914         to try to make its parents.
77915         Close potential file descriptor leak if we can't chdir("/") (!).
77916         Don't always return true if chdir($PWD) fails; return true only
77917         if the requested action was done successfully (except for the
77918         chdir($PWD)).
77919         Don't log final directory unless we actually made it.
77920         Refactor to avoid duplicate code to fix up permissions.
77921         Don't attempt to fix up parent permissions if chdir($PWD) fails.
77922
77923         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
77924         to make it a bit faster and (I hope) clearer.
77925         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
77926         Fix bug in formats like %2N.
77927
77928         * lib/verify.h: New file.
77929
77930 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77931
77932         Sync from coreutils.
77933         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
77934
77935 2005-09-22  Jim Meyering  <jim@meyering.net>
77936
77937         Sync from coreutils.
77938
77939         * m4/lstat.m4 (gl_FUNC_LSTAT):
77940         Use AC_LIBSOURCES to require lstat.c and lstat.h.
77941         Remove obsolete comment.
77942         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
77943         * m4/xstrtod.m4: Likewise.
77944
77945         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
77946
77947 2005-09-22  Jim Meyering  <jim@meyering.net>
77948
77949         Sync from coreutils.
77950
77951         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
77952
77953         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
77954         the .tm_year member, since otherwise gcc-4.0 would now warn about
77955         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
77956
77957         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
77958         order to avoid an unsuppressible warning from gcc on 64-bit systems.
77959
77960         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
77961         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
77962         when run in a time zone for which daylight savings time is in effect
77963         for the starting date.
77964
77965         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
77966         stop us from restricting permissions of just-created absolute-named
77967         directories.
77968         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
77969         to restore initial working directory.
77970         * lib/mkdir-p.c (make_dir_parents): New parameter:
77971         different_working_dir, to tell caller if/when we change the working
77972         directory and are unable to return to the initial one.
77973         * lib/mkdir-p.h (make_dir_parents): Update prototype.
77974         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
77975         `return false'.  This fixes a bug introduced on 2004-07-30.
77976
77977         * lib/openat.c (fdopendir): Be sure to close the supplied
77978         file descriptor before returning.  This makes our replacement
77979         implementation a little closer to Solaris's, where fdopendir
77980         ties the file descriptor to the returned DIR* pointer.
77981         * lib/openat.c (unlinkat): New function.
77982         * lib/openat.h (unlinkat): Add prototype.
77983         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
77984         (openat_restore_fail): Rename from openat_restore_die.
77985         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
77986
77987         Provide an alternative to exiting immediately upon save_cwd or
77988         restore_cwd failure.  Now, an application can arrange e.g.,
77989         to perform a longjump in that case.
77990         * lib/openat.c: Include dirname.h.
77991         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
77992         (rpl_openat, fdopendir, fstatat): Call openat_save_die
77993         and openat_restore_die rather than calling error directly.
77994         Don't include "error.h" or "exitfail.h"; they're no longer needed.
77995
77996         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
77997         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
77998         define.
77999
78000         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
78001         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
78002                             int utc, int nanoseconds);
78003         Background:
78004         date should not have to allocate a megabyte of virtual memory to
78005         handle a format argument like +%1048575T.  When implemented with
78006         strftime, it must allocate such a buffer, use strftime to fill it
78007         in, print it, then free it.
78008         With fprintftime, it simply prints everything and exits.
78009         With no need for memory allocation, that's one fewer way to fail.
78010         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
78011         optional field width, not before, so we accept %9:z, not %:9z.
78012         (my_strftime): Be sure to use L_('x') for literals.
78013
78014         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
78015         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
78016         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
78017         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
78018         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
78019         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
78020         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
78021         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
78022         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
78023         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
78024         * lib/xgethostname.c, lib/xreadlink.c:
78025         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
78026
78027         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
78028         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
78029         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
78030         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
78031         and don't include <sys/file.h>).
78032
78033 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
78034
78035         Sync from coreutils.
78036
78037         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
78038         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
78039         [!LDAV_DONE]: Avoid unused variable warning.
78040
78041 2005-09-21  Bruno Haible  <bruno@clisp.org>
78042
78043         * lib/unicodeio.h (unicode_to_mb): New declaration.
78044
78045 2005-09-20  Derek Price  <derek@ximbiot.com>
78046
78047         * lib/getaddrinfo.c: Don't include <netdb.h> included from
78048         getaddrinfo.h.
78049
78050 2005-09-20  Bruno Haible  <bruno@clisp.org>
78051
78052         * gnulib-tool: Remove trailing slashes from the values specified for
78053         --source-base, --m4-base, --tests-base, --aux-dir.
78054         Suggested by Simon Josefsson <jas@extundo.com>.
78055
78056 2005-09-20  Bruno Haible  <bruno@clisp.org>
78057
78058         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
78059         func_modules_to_filelist, func_import, func_create_testdir): Make all
78060         sorting results locale-independent, so that gnulib-cache.m4 doesn't
78061         change when gnulib-tool is invoked in a different locale.
78062
78063 2005-09-19  Simon Josefsson  <jas@extundo.com>
78064
78065         * m4/socklen.m4: Fix typo.
78066
78067 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78068
78069         Use a consistent style for including <config.h>.
78070         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
78071         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
78072         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
78073         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
78074         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
78075         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
78076         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
78077         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
78078         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
78079         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
78080         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
78081         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
78082         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
78083         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
78084         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
78085         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
78086         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
78087         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
78088         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
78089         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
78090         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
78091         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
78092         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
78093         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
78094         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
78095         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
78096         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
78097         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
78098         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
78099         lib/xstrtoumax.c, lib/yesno.c:
78100         Standardize inclusion of config.h.
78101         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
78102         lib/inttostr.h:  Removed inclusion of config.h from header files.
78103         * lib/inttostr.c:  Adjusted in-tree users.
78104         * lib/timespec.h: Remove superfluous warning to include config.h.
78105         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
78106         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
78107         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
78108         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
78109         config.h with HAVE_CONFIG_H.
78110
78111 2005-09-19  Jim Meyering  <jim@meyering.net>
78112
78113         * modules/pathmax (License): Change to LGPL.
78114
78115 2005-09-19  Derek Price  <derek@ximbiot.com>
78116
78117         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
78118
78119 2005-09-19  Bruno Haible  <bruno@clisp.org>
78120
78121         * gnulib-tool (import): Provide default for --tests-base.
78122
78123 2005-09-19  Bruno Haible  <bruno@clisp.org>
78124
78125         * doc/quote.texi: New file, extracted from gnulib.texi.
78126         * doc/ctime.texi: New file, extracted from gnulib.texi.
78127         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
78128         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
78129         * doc/gnulib.texi: Include them.
78130
78131 2005-09-18  Bruno Haible  <bruno@clisp.org>
78132
78133         Portability fix.
78134         * gnulib-tool (func_readlink): New function.
78135         (func_ln_if_changed): Use it.
78136
78137 2005-09-18  Bruno Haible  <bruno@clisp.org>
78138
78139         * gnulib-tool: Support --with-tests also with --import.
78140         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
78141         (func_import): Use variables $testsbase and $inctests. Emit a
78142         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
78143         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
78144         SUBDIRS += $testsdir.
78145         (func_create_testdir): Update.
78146
78147 2005-09-18  Bruno Haible  <bruno@clisp.org>
78148
78149         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
78150         instead of $dry_run.
78151         (func_cp_if_changed, func_mv_if_changed): Remove functions.
78152         (func_ln_if_changed): Don't handle dry-run here.
78153         (func_import): In dry-run mode, detect more precisely which actions
78154         would be performed, and don't use "...ing" verbs.
78155
78156 2005-09-18  Bruno Haible  <bruno@clisp.org>
78157
78158         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
78159         (func_import): Use join on two temporary files instead of three nested
78160         loops, in order to determine which files are new or old.
78161
78162 2005-09-18  Bruno Haible  <bruno@clisp.org>
78163
78164         * gnulib-tool (func_import): Comment out code that spits out the
78165         new files with --dry-run.
78166
78167 2005-09-18  Bruno Haible  <bruno@clisp.org>
78168
78169         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
78170
78171 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78172
78173         * lib/stat-time.h: New file.
78174         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
78175         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
78176         in a different way.
78177         (timespec_cmp): New function.
78178         * lib/utimecmp.c: Include stat-time.h.
78179         (SYSCALL_RESOLUTION): Depend on whether various struct stat
78180         members exist, not on the obsolescent ST_MTIM_NSEC.
78181         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
78182
78183 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78184
78185         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
78186
78187 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78188
78189         * MODULES.html.sh (File system functions): Add stat-time.
78190         * modules/stat-time: New file.
78191         * modules/timespec (Files): Remove m4/st_mtim.m4; this
78192         is now done in a different way, by the stat-time module.
78193         * modules/utimecmp (Depends-on): Add stat-time.
78194
78195 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78196
78197         * m4/st_mtim.m4: Remove.  Superseded by...
78198         * m4/stat-time.m4: New file.
78199         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
78200         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
78201
78202 2005-09-15  Derek Price  <derek@ximbiot.com>
78203
78204         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
78205
78206 2005-09-15  Derek Price  <derek@ximbiot.com>
78207
78208         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
78209         * lib/regex_internal.c: Ditto, using this...
78210         (__GNUC_PREREQ): ...new macro.
78211         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
78212         using...
78213         (__GNUC_PREREQ): ...this new macro.
78214
78215         * lib/strstr.h: Include string.h. Define strstr as a macro here.
78216
78217 2005-09-15  Derek Price  <derek@ximbiot.com>
78218             Paul Eggert  <eggert@cs.ucla.edu>
78219
78220         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
78221         changes, consolidating in...
78222         * lib/regex_internal.h: ...this file.
78223
78224 2005-09-13  Jim Meyering  <jim@meyering.net>
78225
78226         * lib/canon-host.c: Filter through gnu indent and reword comments
78227         slightly.
78228         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
78229
78230 2005-09-13  Derek Price  <derek@ximbiot.com>
78231
78232         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
78233         failure.
78234         Reported by Jim Meyering  <jim@meyering.net>.
78235
78236 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78237
78238         * lib/base64.c: Typo.
78239         (base64_encode): Put b64str in initialized data section.
78240
78241 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
78242
78243         Merge glibc and coreutils changes into gnulib, plus a few
78244         extra fixes.
78245         * lib/md5.c: Use #error rather than a string.
78246         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
78247         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
78248         (__attribute__): Define to empty for non recent-GCC.
78249         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
78250         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
78251         Renamed from their non-__ counterparts, with new macros replacing
78252         them if not _LIBC.  Add __THROW attribute.
78253         (rol): Remove.
78254         (struct md5_ctx): Align buffer if using GCC.
78255         * lib/sha1.h (struct sha1_ctx): Likewise.
78256         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
78257         The old name was backwards.
78258         (NOTSWAP): Remove; not used.
78259         (rol): New macro, moved here from md5.h.
78260         (sha1_process_block): Remove a FIXME that doesn't make sense.
78261
78262 2005-09-12  Derek Price  <derek@ximbiot.com>
78263
78264         Return usable errors from canon-host.
78265         * lib/canon-host.h: New file.
78266         * lib/canon-host.c (canon_host): Wrap...
78267         (canon_host_r): ...this new function, which now relies exclusively on
78268         getaddrinfo.
78269         (ch_strerror): New function.
78270         (last_cherror): New global.
78271         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
78272         interface.
78273         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
78274         void *.
78275         (freeaddrinfo): Free ai->ai_canonname when set.
78276
78277 2005-09-12  Derek Price  <derek@ximbiot.com>
78278
78279         Make canon-host require getaddrinfo.
78280         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
78281         AC_LIBSOURCE canon-host.h.  Call...
78282         (gl_PREREQ_CANON_HOST): ...this new function, which requires
78283         gl_GETADDRINFO.
78284         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
78285
78286 2005-09-12  Derek Price  <derek@ximbiot.com>
78287
78288         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
78289         LGPL.
78290         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
78291
78292 2005-09-12  Derek Price  <derek@ximbiot.com>
78293
78294         * lib/gai_strerror.c: Include config.h when available.  Include
78295         getaddrinfo.h before other headers to test interface.
78296         Reported by Larry Jones <lawrence.jones@ugs.com>.
78297
78298 2005-09-12  Derek Price  <derek@ximbiot.com>
78299             Paul Eggert  <eggert@cs.ucla.edu>
78300
78301         * modules/glob (Files): Add glob-libc.h.
78302
78303 2005-09-12  Derek Price  <derek@ximbiot.com>
78304             Paul Eggert  <eggert@cs.ucla.edu>
78305
78306         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
78307         glob_.h, glob-libc.h.
78308         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
78309
78310 2005-09-12  Derek Price  <derek@ximbiot.com>
78311             Paul Eggert  <eggert@cs.ucla.edu>
78312
78313         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
78314         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
78315         protecting things that should be done only in gnulib contexts.
78316         * lib/glob_.h: New file, containing only the glob things needed for
78317         gnulib.
78318         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
78319         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
78320         (glob, globfree, glob_pattern_p): Now defined simply in terms of
78321         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
78322         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
78323         and to respect the namespace rules better.
78324
78325 2005-09-08  Simon Josefsson  <jas@extundo.com>
78326
78327         * modules/socklen: New file.
78328
78329 2005-09-08  Simon Josefsson  <jas@extundo.com>
78330
78331         * m4/socklen.m4: New file.
78332
78333 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78334
78335         * modules/utimens (Files): Add m4/utimbuf.m4, since
78336         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
78337         Reported by Sergey Poznyakoff.
78338
78339 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78340
78341         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
78342         definitions, since that's the preferred style in glibc.
78343         Fix a minor spacing issue, and update copyright notice to match
78344         glibc's.
78345
78346 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78347
78348         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
78349
78350 2005-09-06  Simon Josefsson  <jas@extundo.com>
78351
78352         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
78353         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
78354
78355 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78356
78357         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
78358         warning.
78359
78360 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78361
78362         * config/srclist.txt: Add glibc bug 1302.
78363
78364 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
78365
78366         Change bitset word type from unsigned int to unsigned long int,
78367         as this has better performance on typical 64-bit hosts.
78368         Port bitset code to hosts with unusual word sizes.
78369         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
78370         (build_collating_symbol):
78371         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
78372         argument is a bitset.  This is merely a style issue, but it makes
78373         it clearer that an entire array is expected.
78374         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
78375         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
78376         Port to the case where bitset_word is not the same as unsigned int.
78377         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
78378         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
78379         Likewise.
78380         * lib/regexec.c (check_dst_limits_calc_pos_1,
78381         check_subexp_matching_top):
78382         (build_trtable, group_nodes_into_DFAstates):
78383         Likewise.
78384         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
78385         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
78386         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
78387         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
78388         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
78389         * lib/regcomp.c (optimize_subexps, lower_subexp):
78390         Work even if bitset_word has holes in its bitwise representation.
78391         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
78392         * lib/regexec.c (check_dst_limits_calc_pos_1,
78393         check_subexp_matching_top):
78394         Likewise.
78395         * lib/regex_internal.c (re_string_reconstruct):
78396         Don't assume UCHAR_MAX == 255.
78397         * lib/regex_internal.h (bitset_set_all): Likewise.
78398         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
78399         All uses changed.
78400         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
78401         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
78402         All uses changed.
78403         (BITSET_WORD_MAX): New macro.
78404         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
78405         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
78406         (bitset_empty, bitset_copy):
78407         Prefer sizeof (bitset) to multiplying it out ourselves.
78408         (bitset_not_merge): Remove; unused.
78409         (bitset_contain): Return bool, not unsigned int with one bit on.
78410         All callers changed.
78411         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
78412         alignment than re_node_set; do this by defining a new internal
78413         type struct dests_alloc and using it to allocate memory.
78414
78415 2005-09-05  Bruno Haible  <bruno@clisp.org>
78416
78417         * gnulib-tool (func_import): Fix comparison in handling of symbolic
78418         links.
78419
78420 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
78421
78422         * modules/size_max (Makefile.am): Add size_max.h
78423
78424 2005-09-04  Derek Price  <derek@ximbiot.com>
78425
78426         * gnulib-tool (func_import): Fix reversed $symbolic logic.
78427
78428 2005-09-03  Simon Josefsson  <jas@extundo.com>
78429
78430         * gnulib-tool: Fix typo.
78431
78432 2005-09-03  Simon Josefsson  <jas@extundo.com>
78433
78434         * config/srclist.txt: Add glibc bug 1293.
78435
78436 2005-09-03  Derek Price  <derek@ximbiot.com>
78437
78438         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
78439         From Larry Jones <lawrence.jones@ugs.com>.
78440
78441 2005-09-02  Simon Josefsson  <jas@extundo.com>
78442
78443         * modules/socklen: New file.
78444
78445 2005-09-02  Simon Josefsson  <jas@extundo.com>
78446
78447         * modules/havelib: New module.
78448
78449         * modules/gettext, modules/iconv, modules/lock, modules/readline:
78450         Use havelib.
78451
78452 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
78453
78454         Check for arithmetic overflow when calculating sizes, to prevent
78455         some buffer-overflow issues.  These patches are conservative, in the
78456         sense that when I couldn't determine whether an overflow was possible,
78457         I inserted a run-time check.
78458         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
78459         macros.
78460         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
78461         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
78462         (re_xnrealloc, re_x2nrealloc): New inline functions.
78463         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
78464         parse_bracket_exp):
78465         (build_equiv_class, build_charclass): Check for arithmetic overflow
78466         in size expression calculations.
78467         * lib/regex_internal.c (re_string_realloc_buffers):
78468         (build_wcs_upper_buffer, re_node_set_add_intersect):
78469         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
78470         (re_dfa_add_node, register_state): Likewise.
78471         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
78472         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
78473         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
78474         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
78475
78476 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
78477
78478         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
78479         m4/ulonglong.m4.  Problem reported by Martin Lambers.
78480
78481 2005-09-02  Bruno Haible  <bruno@clisp.org>
78482
78483         Support for lib vs. lib64 distinction on biarch platforms.
78484         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
78485         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
78486         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
78487
78488 2005-09-02  Bruno Haible  <bruno@clisp.org>
78489
78490         * gnulib-tool (import): In the other first-use case, provide defaults
78491         as well.
78492
78493 2005-09-02  Bruno Haible  <bruno@clisp.org>
78494
78495         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
78496         patches not yet found in the latest gettext release.
78497
78498 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78499
78500         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
78501         to avoid a collision with bits/local_lim.h in glibc.
78502         All uses changed.  Problem reported by Dmitry V. Levin in
78503         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
78504
78505         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
78506         bugs in int versus size_t comparisons.
78507         (re_string_context_at): Fix bug where the code assumed that
78508         Idx is signed.
78509
78510         Use bool where appropriate.
78511         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
78512         All callers changed.
78513         (calc_eclosure_iter): Likewise, for ROOT arg.
78514         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
78515         (build_charclass_op): Likewise, for NON_MATCH arg.
78516         * lib/regex_internal.c (re_string_allocate, re_string_construct):
78517         (re_string_construct_common): Likewise, for ICASE arg.
78518         * lib/regexec.c (re_search_2_stub, re_search_stub):
78519         Likewise, for RET_LEN arg.
78520         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
78521         (set_regs): Likewise, for FL_BACKTRACK arg.
78522         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
78523         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
78524         (calc_eclosure_iter, parse_bracket_exp):
78525         Use bool for internal variables that are booleans.
78526         * lib/regexec.c (re_search_internal, check_matching,
78527         proceed_next_node):
78528         (set_regs, build_sifted_states, sift_states_bkref):
78529         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
78530         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
78531         (find_collation_sequence_value):
78532         Likewise.
78533         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
78534         (re_node_set_compare):
78535         Return bool, not int. All callers changed.
78536         * lib/regexec.c (check_halt_node_context, check_dst_limits):
78537         (build_trtable, check_node_accept): Likewise.
78538         * lib/regex_internal.h: Include stdbool.h.
78539
78540         Fix bugs uncovered when converting to bool.
78541         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
78542         failure instead of charging ahead blindly.
78543         * lib/regex_internal.c (register_state): Likewise.
78544         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
78545         for freeing internal storage.
78546         (group_nodes_into_DFA_states): Use unsigned int, not int, for
78547         bitset pieces used as boolean, to avoid undefined behavior
78548         on hosts that do int overflow checking.
78549
78550 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78551
78552         * config/srclist.txt: Add glibc bugs 1285-1287.
78553
78554 2005-09-01  Jim Meyering  <jim@meyering.net>
78555
78556         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
78557         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
78558         Require gl_STAT_MACROS, too.
78559
78560 2005-09-01  Bruno Haible  <bruno@clisp.org>
78561
78562         * gnulib-tool (import): In the first-use case, provide defaults.
78563
78564 2005-09-01  Bruno Haible  <bruno@clisp.org>
78565
78566         * gnulib-tool (func_import): Remove the .tmp files.
78567
78568 2005-09-01  Bruno Haible  <bruno@clisp.org>
78569
78570         * gnulib-tool (func_import): Fix handling of symbolic links.
78571
78572 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78573
78574         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
78575         old glibc regex code mishandles strings longer than 2**31 bytes.
78576         This patch fixes this when the regex code is used in gnulib
78577         (i.e., outside glibc).
78578
78579         This patch should not affect the use of the regex code inside
78580         glibc.  No doubt this problem also needs to be handled for glibc
78581         as well, but the result will be an incompatible change to the
78582         glibc ABI, and the old ABI will have to be supported too.  That
78583         can be the the subject for another patch.
78584
78585         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
78586         governing whether the rest of this patch is active.  By default,
78587         the macro is disabled and the patch has no effect.
78588         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
78589         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
78590         (struct re_pattern_buffer, re_search, re_search_2, re_match):
78591         (re_match_2, re_set_registers): Use the new types.
78592         * lib/regex_internal.h (Idx, re_hashval_t): New types.
78593         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
78594         New macros.
78595         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
78596         (re_string_context_at, bin_tree_t, re_dfastate_t):
78597         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
78598         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
78599         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
78600         (re_string_char_size_at, re_string_wchar_at):
78601         (re_string_elem_size_at):
78602         Use the new types and macros to port to 64-bit hosts.
78603         Use unsigned types for internal values, so that the code
78604         mostly works even for arrays larger than SSIZE_MAX.
78605         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
78606         (search_duplicated_node, calc_eclosure_iter, fetch_number):
78607         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
78608         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
78609         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
78610         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
78611         (calc_inveclosure, parse_dup_op, build_range_exp):
78612         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
78613         (fetch_number, create_token_tree, mark_opt_subexp):
78614         Likewise.
78615         * lib/regex_internal.c (re_string_construct_common,
78616         create_ci_newstate):
78617         (create_cd_newstate, re_string_allocate, re_string_construct):
78618         (re_string_realloc_buffers, build_wcs_upper_buffer):
78619         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
78620         (re_string_reconstruct, re_string_peek_byte_case):
78621         (re_string_fetch_byte_case, re_string_context_at):
78622         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
78623         (re_node_set_init_copy, re_node_set_add_intersect):
78624         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
78625         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
78626         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
78627         (re_acquire_state, re_acquire_state_context, register_state):
78628         Likewise.
78629         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
78630         search_cur_bkref_entry):
78631         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
78632         (re_search_internal, re_search_2_stub, re_search_stub)
78633         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
78634         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
78635         (update_cur_sifted_state, check_dst_limits):
78636         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
78637         (check_subexp_limits, sift_states_bkref, merge_state_array):
78638         (check_subexp_matching_top, get_subexp, get_subexp_sub):
78639         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
78640         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
78641         (expand_bkref_cache, check_node_accept_bytes):
78642         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
78643         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
78644         (acquire_init_state_context, check_halt_node_context):
78645         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
78646         (sift_states_backward, clean_state_log_if_needed):
78647         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
78648         (find_recover_state, transit_state_sb, transit_state_mb):
78649         (transit_state_bkref, build_trtable, match_ctx_clean):
78650         Likewise.
78651         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
78652         to work around an assumption that REG_MISSING is negative.
78653
78654         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
78655         (seek_collating_symbol_entry) [defined _LIBC]:
78656         (lookup_collation_sequence_value) [defined _LIBC]:
78657         (build_range_exp, build_collating_symbol) [defined _LIBC]:
78658         Use prototypes rather than old-style function definitions.
78659         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
78660         (transit_state_sb) [0]:
78661         (find_collation_sequence_value) [defined _LIBC]: Likewise.
78662
78663         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
78664         rm_eo.
78665
78666         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
78667         (optimize_subexps, lower_subexp):
78668         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
78669         since the signed shift might overflow.  Use 1u<<31 instead.
78670         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
78671         Likewise.
78672         * lib/regexec.c (check_dst_limits_calc_pos_1,
78673         check_subexp_matching_top): Likewise.
78674
78675         * lib/regcomp.c (optimize_subexps, lower_subexp):
78676         Use CHAR_BIT rather than 8, for clarity.
78677         * lib/regexec.c (check_dst_limits_calc_pos_1):
78678         (check_subexp_matching_top): Likewise.
78679         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
78680         have to worry about portability issues when shifting it left.
78681         Remove no-longer-needed test for table_size > 0.
78682         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
78683         in a word, as the resulting behavior is undefined.
78684         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
78685         in one case, a <= should have been an <, and in another case the
78686         whole test was missing.
78687         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
78688         the standard name CHAR_BIT.
78689         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
78690         this is not true on one's complement and signed-magnitude hosts.
78691
78692         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
78693         next_last_offset.
78694         (struct re_dfa_t): Remove unused member states_alloc.
78695         * lib/regcomp.c (init_dfa): Don't initialize unused members.
78696
78697 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78698
78699         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
78700         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
78701         and large-file glibc and in 32-bit large-file Solaris.
78702
78703 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78704
78705         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
78706         lengths fit in regoff_t; this isn't true if regoff_t is the same
78707         width as size_t.
78708         * lib/regex.c (re_search_internal): 5th arg is LAST_START
78709         (= START + RANGE) instead of RANGE.  This avoids overflow
78710         problems when regoff_t is the same width as size_t.
78711         All callers changed.
78712         (re_search_2_stub): Check for overflow when adding the
78713         sizes of the two strings.
78714         (re_search_stub): Check for overflow when adding START
78715         to RANGE; if it occurs, substitute the extreme value.
78716
78717 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78718
78719         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
78720
78721 2005-08-31  Jim Meyering  <jim@meyering.net>
78722
78723         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
78724         a pointer-to-const.
78725         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
78726         (register_state): Likewise.
78727         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
78728         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
78729         (group_nodes_into_DFAstates): Likewise.
78730
78731 2005-08-31  Jim Meyering  <jim@meyering.net>
78732
78733         * check-module: Add a FIXME comment.
78734
78735 2005-08-31  Eric Blake  <ebb9@byu.net>
78736
78737         * modules/unistd-safer (Files): Add unistd--.h.
78738         * modules/stdio-safer (Files): Add stdio--.h.
78739
78740 2005-08-31  Derek Price  <derek@ximbiot.com>
78741
78742         * lib/getdelim.c (getdelim): Return EOF on EOF.
78743         Reported by Larry Jones <lawrence.jones@ugs.com>.
78744
78745 2005-08-31  Bruno Haible  <bruno@clisp.org>
78746
78747         Avoid unnecessary diffs in the generated lib/Makefile.am.
78748         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
78749         the generated files.
78750         (func_import): Don't set cmd.
78751
78752 2005-08-31  Bruno Haible  <bruno@clisp.org>
78753
78754         * lib/strstr.c: Include <stddef.h>, for NULL.
78755         * lib/strcasestr.c: Likewise.
78756         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
78757
78758 2005-08-31  Bruno Haible  <bruno@clisp.org>
78759
78760         * gnulib-tool: New option --macro-prefix.
78761         (func_import): Use macro_prefix.
78762         (import): Handle option --macro-prefix.
78763
78764 2005-08-31  Bruno Haible  <bruno@clisp.org>
78765
78766         * gnulib-tool (import): Rename most ac_* variables to cached_*.
78767         Also use new variables cached_lgpl, cached_libtool.
78768
78769 2005-08-31  Bruno Haible  <bruno@clisp.org>
78770
78771         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
78772         always instantiating them.
78773
78774 2005-08-31  Bruno Haible  <bruno@clisp.org>
78775
78776         * gnulib-tool (func_import): Read the previous cached settings
78777         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
78778         earlier added by gnulib but are now dropped. Warn when a gnulib file
78779         overwrites a non-gnulib file.
78780
78781 2005-08-31  Bruno Haible  <bruno@clisp.org>
78782
78783         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
78784         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
78785         projects that don't keep autogenerated files in CVS. Put into
78786         actioncmd only the specified modules, not the transitive closure.
78787
78788 2005-08-31  Bruno Haible  <bruno@clisp.org>
78789
78790         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
78791         Create directories that shall be filled.
78792         (import): Don't look for gl_* macros in configure.ac. Recurse across
78793         all directories containing a gnulib-cache.m4 files, if meaningful.
78794
78795 2005-08-31  Bruno Haible  <bruno@clisp.org>
78796
78797         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
78798         (import): Set seen_libtool when we see gl_LIBTOOL.
78799
78800 2005-08-31  Bruno Haible  <bruno@clisp.org>
78801
78802         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
78803         declaration macro definitions from generated gnulib.m4.
78804
78805 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
78806
78807         * lib/iconvme.h: Add prototype for iconv_alloc.
78808
78809 2005-08-29  Simon Josefsson  <jas@extundo.com>
78810
78811         * lib/iconvme.c: Fix errno.
78812
78813 2005-08-29  Bruno Haible  <bruno@clisp.org>
78814
78815         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
78816         that it works when the directory contains spaces.
78817
78818 2005-08-29  Bruno Haible  <bruno@clisp.org>
78819
78820         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
78821
78822 2005-08-29  Bruno Haible  <bruno@clisp.org>
78823
78824         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
78825         Emit more advice.
78826
78827 2005-08-29  Bruno Haible  <bruno@clisp.org>
78828         and Stepan Kasal  <kasal@ucw.cz>
78829
78830         * check-module: If more parameters are given, check each of them
78831         separately; add more exceptions, as noted by Jim Meyering.
78832         (check_module): New procedure.
78833         (%exempt_header): Now contains all exceptions.
78834
78835 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
78836
78837         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
78838
78839 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
78840
78841         * lib/iconvme.c: Split iconv_string into iconv_alloc.
78842
78843 2005-08-28  Bruno Haible  <bruno@clisp.org>
78844
78845         * m4/gnulib-tool.m4: New file.
78846
78847 2005-08-27  Jim Meyering  <jim@meyering.net>
78848
78849         * modules/unistd-safer (Files): Add pipe-safer.c.
78850         * modules/fcntl-safer (Files): Add creat-safer.c.
78851
78852 2005-08-27  Jim Meyering  <jim@meyering.net>
78853
78854         * m4/stdlib-safer.m4: New file.  From coreutils.
78855         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
78856         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
78857         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
78858         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
78859         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
78860
78861 2005-08-27  Jim Meyering  <jim@meyering.net>
78862
78863         * lib/fopen-safer.c: Merge minor changes from coreutils.
78864         * lib/dup-safer.c: Likewise.
78865         * lib/fd-safer.c: Likewise.
78866
78867         Merge from coreutils.
78868         * lib/stdio--.h: New file.
78869         * lib/stdlib--.h: New file.
78870         * lib/mkstemp-safer.c: New file.
78871
78872         GNU tar needs these.
78873         * lib/pipe-safer.c: New file.
78874         * lib/creat-safer.c: New file.
78875         * lib/fcntl--.h (creat): Define to creat_safer.
78876         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
78877         * lib/unistd--.h (pipe): Define to pipe_safer.
78878         * lib/unistd-safer.h: Declare pipe_safer.
78879
78880 2005-08-26  Simon Josefsson  <jas@extundo.com>
78881
78882         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
78883         Haible <bruno@clisp.org>.
78884
78885 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
78886
78887         * lib/regex_internal.h: Remove all references to
78888         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
78889         or better.
78890         (bitset_not, bitset_merge, bitset_not_merge):
78891         (bitset_mask, re_string_allocate, re_string_construct):
78892         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
78893         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
78894         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
78895         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
78896         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
78897         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
78898         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
78899         (re_acquire_state_context):
78900         Remove unnecessary forward decls.
78901         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
78902         Put __attribute at function definition,
78903         now that the function decl has been removed.
78904         * lib/regex_internal.c (re_string_peek_byte_case):
78905         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
78906         Likewise.
78907
78908 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
78909
78910         * m4/regex.m4: Add AC_PREREQ(2.50).
78911         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
78912
78913 2005-08-25  Simon Josefsson  <jas@extundo.com>
78914
78915         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
78916         __fsetlocking.
78917
78918 2005-08-25  Simon Josefsson  <jas@extundo.com>
78919
78920         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
78921         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
78922         GLIBC specific code.
78923
78924 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78925
78926         Make regex safe for g++.  This fixes one real bug (an "err"
78927         that should have been "*err").  g++ problem reported by
78928         Sam Steingold.
78929         * lib/regex_internal.h (re_calloc): New macro, consistent with
78930         re_malloc etc.  All callers of calloc changed to use re_calloc.
78931         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
78932         not int.  All callers changed.
78933         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
78934         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
78935         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
78936         (find_recover_state): Change "err" to "*err"; this fixes what
78937         appears to be a real bug.
78938         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
78939         versus int.
78940
78941 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78942
78943         * modules/regex (Depends-on): Add malloc, since the code
78944         assumes that !malloc(0) means failure.
78945
78946 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78947
78948         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
78949
78950         alloca modernization/simplification for regex.
78951         * lib/regex.c: Remove portability cruft for alloca.  This no longer
78952         needs to be at the start of the file, and can be moved into
78953         regex_internal.h and simplified.
78954         * lib/regex_internal.h: Include <alloca.h>.
78955         (__libc_use_alloca) [!defined _LIBC]: New macro.
78956         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
78957         now works outside glibc.
78958
78959 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78960
78961         * config/srclist.txt: Add glibc bugs 1241, 1245.
78962
78963 2005-08-25  Jim Meyering  <jim@meyering.net>
78964
78965         * lib/open-safer.c: Include <config.h>.
78966         Otherwise, we'd lose LARGEFILE support in any file using
78967         e.g. "fcntl--.h"
78968
78969 2005-08-25  Bruno Haible  <bruno@clisp.org>
78970
78971         * m4/minmax.m4: Require autoconf 2.52.
78972         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
78973         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
78974         alternatives of translit over the alphabet.
78975         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
78976
78977 2005-08-24  Simon Josefsson  <jas@extundo.com>
78978
78979         * tests/test-getpass.c: New file.
78980
78981 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78982
78983         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
78984         for GNU regex features.
78985
78986 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78987
78988         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
78989         * lib/regex.h (regerror): Likewise.
78990
78991         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
78992         requires this.  (The code never needed it.)
78993
78994         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
78995         All uses of recently-renamed identifiers changed to use the new,
78996         POSIX-compliant names.  The code will build and run just fine
78997         without these changes, but it's better to eat our own dog food
78998         and use the standard-conforming names.
78999
79000         * lib/regex.h: Fix a multitude of POSIX name space violations.
79001         These changes have an effect only for programs that define
79002         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
79003         do not change anything for programs compiled in the normal way.
79004         Also, there is no effect on the ABI.
79005
79006         (_REGEX_SOURCE): New macro.
79007         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
79008         defined and _GNU_SOURCE is not; this fixes a name space violation.
79009
79010         Rename the following macros to obey POSIX requirements.
79011         The old names are still visible as macros if _REGEX_SOURCE is defined.
79012         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
79013         RE_BACKSLASH_ESCAPE_IN_LISTS.
79014         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
79015         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
79016         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
79017         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
79018         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
79019         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
79020         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
79021         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
79022         (REG_INTERVALS): renamed from RE_INTERVALS.
79023         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
79024         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
79025         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
79026         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
79027         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
79028         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
79029         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
79030         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
79031         RE_UNMATCHED_RIGHT_PAREN_ORD.
79032         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
79033         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
79034         (REG_DEBUG): renamed from RE_DEBUG.
79035         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
79036         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
79037         unusual, since we can't clash with the POSIX REG_ICASE.
79038         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
79039         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
79040         (REG_NO_SUB): renamed from RE_NO_SUB.
79041         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
79042         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
79043         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
79044         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
79045         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
79046         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
79047         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
79048         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
79049         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
79050         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
79051         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
79052         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
79053         RE_SYNTAX_POSIX_MINIMAL_BASIC.
79054         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
79055         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
79056         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
79057         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
79058         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
79059         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
79060         (REG_FIXED): Renamed from REGS_FIXED.
79061         (REG_NREGS): Renamed from RE_NREGS.
79062
79063         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
79064         of other REG_* macros, since POSIX says the user is allowed to
79065         #undef these macros selectively.
79066
79067         (reg_errcode_t): Update comment stating what other tables need
79068         to be consistent.
79069
79070         Rename the following enum values to obey POSIX requirements.
79071         The old names are still visible as macros.
79072         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
79073         is not defined, since GNU is supposed to be a superset of POSIX as
79074         much as possible, and since we want reg_errcode_t to be a signed
79075         type for implementation consistency.
79076         (_REG_NOERROR): Renamed from REG_NOERROR.
79077         (_REG_NOMATCH): Renamed from REG_NOMATCH.
79078         (_REG_BADPAT): Renamed from REG_BADPAT.
79079         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
79080         (_REG_ECTYPE): Renamed from REG_ECTYPE.
79081         (_REG_EESCAPE): Renamed from REG_EESCAPE.
79082         (_REG_ESUBREG): Renamed from REG_ESUBREG.
79083         (_REG_EBRACK): Renamed from REG_EBRACK.
79084         (_REG_EPAREN): Renamed from REG_EPAREN.
79085         (_REG_EBRACE): Renamed from REG_EBRACE.
79086         (_REG_BADBR): Renamed from REG_BADBR.
79087         (_REG_ERANGE): Renamed from REG_ERANGE.
79088         (_REG_ESPACE): Renamed from REG_ESPACE.
79089         (_REG_BADRPT): Renamed from REG_BADRPT.
79090         (_REG_EEND): Renamed from REG_EEND.
79091         (_REG_ESIZE): Renamed from REG_ESIZE.
79092         (_REG_ERPAREN): Renamed from REG_ERPAREN.
79093         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
79094         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
79095         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
79096         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
79097
79098         (_REG_RE_NAME, _REG_RM_NAME): New macros.
79099         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
79100         changed.  But support the old name if the new one is not defined
79101         and if _REGEX_SOURCE.
79102
79103         Change the following member names in struct re_pattern_buffer.
79104         The old names are still supported if !_REGEX_SOURCE.
79105         The new names are always supported, regardless of _REGEX_SOURCE.
79106         (re_buffer): Renamed from buffer.
79107         (re_allocated): Renamed from allocated.
79108         (re_used): Renamed from used.
79109         (re_syntax): Renamed from syntax.
79110         (re_fastmap): Renamed from fastmap.
79111         (re_translate): Renamed from translate.
79112         (re_can_be_null): Renamed from can_be_null.
79113         (re_regs_allocated): Renamed from regs_allocated.
79114         (re_fastmap_accurate): Renamed from fastmap_accurate.
79115         (re_no_sub): Renamed from no_sub.
79116         (re_not_bol): Renamed from not_bol.
79117         (re_not_eol): Renamed from not_eol.
79118         (re_newline_anchor): Renamed from newline_anchor.
79119
79120         Change the following member names in struct re_registers.
79121         The old names are still supported if !_REGEX_SOURCE.
79122         The new names are always supported, regardless of _REGEX_SOURCE.
79123         (rm_num_regs): Renamed from num_regs.
79124         (rm_start): Renamed from start.
79125         (rm_end): Renamed from end.
79126
79127         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
79128         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
79129         Prepend __ to parameter names.
79130
79131         Undo yesterday's changes.
79132
79133 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79134
79135         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
79136         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
79137         lib/regex.c.
79138
79139 2005-08-24  Jim Meyering  <jim@meyering.net>
79140
79141         Sync from coreutils.
79142         * m4/fcntl-safer.m4: New file.
79143
79144         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
79145         and object files for this module.
79146
79147 2005-08-24  Jim Meyering  <jim@meyering.net>
79148
79149         Sync from coreutils.
79150         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
79151
79152 2005-08-24  Jim Meyering  <jim@meyering.net>
79153
79154         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
79155         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
79156
79157 2005-08-24  Jim Meyering  <jim@meyering.net>
79158
79159         * modules/fcntl-safer: New module.
79160         * modules/fts (Depends-on): Add fcntl-safer.
79161         * MODULES.html.sh (File descriptor based Input/Output):
79162         Add fcntl-safer.
79163
79164 2005-08-24  Bruno Haible  <bruno@clisp.org>
79165
79166         Support for unit test modules.
79167         * modules/README: Mention tests modules.
79168         * modules/TEMPLATE-TESTS: New file.
79169         * gnulib-tool: New options --extract-tests-module, --with-tests and
79170         --tests-base (unused for the moment).
79171         (testsbase, inctests): New variables.
79172         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
79173         (func_verify_module): Exclude TEMPLATE-TESTS.
79174         (func_verify_nontests_module, func_verify_tests_module): New functions.
79175         (func_get_dependencies): Add implicit dependency for tests modules.
79176         (func_get_tests_module): New function.
79177         (func_modules_transitive_closure): When --with-tests was specified,
79178         include the unit tests as well, unless explicitly avoided.
79179         (func_emit_lib_Makefile_am): Ignore the tests modules here.
79180         (func_emit_tests_Makefile_am): New function.
79181         (func_create_testdir): When --with-tests was specified, emit a
79182         tests/ directory.
79183         * MODULES.html.sh (Future developments): Update.
79184
79185 2005-08-24  Bruno Haible  <bruno@clisp.org>
79186
79187         * modules/tls-tests: New file.
79188         * tests/test-tls.c: New file, from GNU gettext.
79189
79190 2005-08-24  Bruno Haible  <bruno@clisp.org>
79191
79192         * modules/lock-tests: New file.
79193         * tests/test-lock.c: New file, from GNU gettext.
79194
79195 2005-08-24  Bruno Haible  <bruno@clisp.org>
79196
79197         * lib/lock.h: Add multiple inclusion guard.
79198         * lib/tls.h: Add multiple inclusion guard.
79199
79200 2005-08-24  Bruno Haible  <bruno@clisp.org>
79201
79202         * gnulib-tool: Add support for the --aux-dir option to
79203         --create-testdir, --create-megatestdir, --test, --megatest.
79204         (func_create_testdir, func_create_megatestdir): Optionally emit a
79205         AC_CONFIG_AUX_DIR directive.
79206         (create-testdir, create-megatestdir, test, megatest): Provide a
79207         default value for $auxdir.
79208
79209 2005-08-24  Bruno Haible  <bruno@clisp.org>
79210
79211         * gnulib-tool (import): Use compound statement instead of subshell
79212         where possible.
79213
79214 2005-08-24  Bruno Haible  <bruno@clisp.org>
79215
79216         * gnulib-tool (import): Change --aux-dir default to "build-aux".
79217
79218 2005-08-24  Bruno Haible  <bruno@clisp.org>
79219
79220         * gnulib-tool (func_version): Update.
79221
79222 2005-08-24  Bruno Haible  <bruno@clisp.org>
79223
79224         * gnulib-tool (func_import, func_create_testdir,
79225         func_create_megatestdir): Quote all autoconf macro arguments.
79226
79227 2005-08-24  Bruno Haible  <bruno@clisp.org>
79228
79229         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
79230         option --force, because --force causes the aclocal.m4 of each
79231         subdirectory to be newer than the corresponding config.h.in.
79232
79233 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79234
79235         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
79236         All contents moved to gl_REGEX.
79237         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
79238         assume that it does.
79239
79240 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79241
79242         * lib/regex.h (REG_NOSYS)
79243         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
79244         Define, since POSIX requires it as of 2001.
79245         (_REG_ENOSYS)
79246         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
79247         New private symbol, used to keep the enum signed in all cases.
79248         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
79249         Youngman in
79250         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
79251
79252         * lib/regex_internal.c (re_string_skip_chars, register_state):
79253         (calc_state_hash):
79254         Remove forward decls; no longer needed now that we use prototypes.
79255         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
79256         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
79257         (clean_state_log_if_needed): Likewise.
79258
79259 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79260
79261         * config/srclist.txt: Add glibc bugs 1231-1233.
79262
79263 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79264
79265         Fix problems reported by Sam Steingold in
79266         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
79267         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
79268         assumed that reg_errcode_t is a signed type, which is not
79269         necessarily true if _XOPEN_SOURCE is not defined.
79270         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
79271         since some compilers warn about it otherwise.
79272
79273 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79274
79275         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
79276         (init_word_char, create_initial_state, duplicate_node_closure):
79277         (fetch_token, peek_token_bracket, build_range_exp):
79278         (build_collating_symbol): Remove forward decls; no longer needed
79279         now that we use prototypes.
79280
79281         * lib/regcomp.c:
79282         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
79283         (re_compile_fastmap_iter, regcomp, regerror, regfree):
79284         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
79285         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
79286         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
79287         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
79288         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
79289         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
79290         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
79291         (build_range_exp, build_collating_symbol, parse_bracket_exp):
79292         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
79293         (build_charclass, build_charclass_op, fetch_number, create_tree):
79294         (create_token_tree, mark_opt_subexp, duplicate_tree):
79295         Use prototypes rather than old-style definitions.
79296
79297         * lib/regex_internal.c:
79298         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
79299         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
79300         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
79301         (re_string_reconstruct, re_string_peek_byte_case):
79302         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
79303         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
79304         (re_node_set_init_copy, re_node_set_add_intersect):
79305         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79306         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79307         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
79308         (re_acquire_state, re_acquire_state_context, register_state):
79309         (create_ci_newstate, create_cd_newstate, free_state):
79310         Likewise.
79311         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
79312         re_search_2):
79313         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
79314         (re_search_internal, prune_impossible_nodes):
79315         (acquire_init_state_context, check_matching, static):
79316         (check_halt_node_context, check_halt_state_context, proceed_next_node):
79317         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
79318         (update_regs, sift_states_backward, build_sifted_states):
79319         (clean_state_log_if_needed, merge_state_array):
79320         (update_cur_sifted_state, add_epsilon_src_nodes):
79321         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
79322         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
79323         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
79324         (find_recover_state, check_subexp_matching_top, transit_state_mb):
79325         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
79326         (check_arrival, check_arrival_add_next_nodes):
79327         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
79328         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
79329         (check_node_accept_bytes, check_node_accept, extend_buffers):
79330         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
79331         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
79332         (sift_ctx_init):
79333         Likewise.
79334
79335         * lib/regex_internal.h:
79336         (re_string_allocate, re_string_construct, re_string_reconstruct):
79337         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
79338         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
79339         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
79340         (re_string_context_at, re_string_peek_byte_case):
79341         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
79342         is defined, since we now use prototypes always.
79343
79344         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
79345         C89 or better.  All uses removed.
79346
79347 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79348
79349         * config/srclist.txt: Add glibc bugs 1220-1227.
79350
79351 2005-08-20  Jim Meyering  <jim@meyering.net>
79352
79353         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
79354         of unused local, dfa.
79355
79356 2005-08-20  Bruno Haible  <bruno@clisp.org>
79357
79358         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
79359
79360 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79361
79362         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
79363         (re_node_set_insert_last, re_dfa_add_node):
79364         Rename local variables to avoid GCC shadowing warnings.
79365
79366 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79367
79368         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
79369         [defined lint]: Suppress bogus uninitialized-variable warnings.
79370
79371         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
79372         and let the caller return REG_ESPACE if out of space.  This
79373         removes an uninitialied-variable warning with GCC 4.0.1, and also
79374         avoids taking the address of a local variable.  All callers
79375         changed.
79376
79377 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79378
79379         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
79380         $LIBCSRC/posix/regexec.c.
79381         Add glibc bug 1217 for regcomp.c.
79382
79383 2005-08-19  Jim Meyering  <jim@meyering.net>
79384
79385         * lib/regexec.c (proceed_next_node): Redo local variables to
79386         avoid GCC shadowing warnings.
79387
79388 2005-08-18  Bruno Haible  <bruno@clisp.org>
79389
79390         * lib/strstr.c (strstr): Fix return value in multibyte case.
79391         * lib/strcasestr.c (strcasestr): Likewise.
79392
79393 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79394
79395         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
79396
79397 2005-08-17  Jim Meyering  <jim@meyering.net>
79398
79399         Make the %s format (seconds since the epoch) work for a negative
79400         number and when used with a zero-padded field width, e.g. %015s.
79401
79402         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
79403         label so that it precedes the code to set `digits'.  Otherwise,
79404         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
79405         print `00-22'.  Now, it prints `-0022', as it should.
79406
79407 2005-08-17  Bruno Haible  <bruno@clisp.org>
79408
79409         * modules/strstr (Files): Add m4/mbrtowc.m4.
79410         (Depends-on): Add mbuiter.
79411
79412 2005-08-17  Bruno Haible  <bruno@clisp.org>
79413
79414         * modules/strcasestr: New file.
79415         * MODULES.html.sh (String handling, based on ANSI C 89): Add
79416         strcasestr.
79417
79418 2005-08-17  Bruno Haible  <bruno@clisp.org>
79419
79420         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
79421
79422 2005-08-17  Bruno Haible  <bruno@clisp.org>
79423
79424         * modules/mbuiter: New file.
79425         * MODULES.html.sh (Extended multibyte and wide character utilities):
79426         Add mbuiter.
79427
79428 2005-08-17  Bruno Haible  <bruno@clisp.org>
79429
79430         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
79431         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
79432
79433 2005-08-17  Bruno Haible  <bruno@clisp.org>
79434
79435         * m4/strcasestr.m4: New file.
79436
79437 2005-08-17  Bruno Haible  <bruno@clisp.org>
79438
79439         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
79440         * lib/strstr.c: Completely rewritten, with multibyte locale support.
79441
79442 2005-08-17  Bruno Haible  <bruno@clisp.org>
79443
79444         * lib/strcasestr.h: New file.
79445         * lib/strcasestr.c: New file.
79446
79447 2005-08-17  Bruno Haible  <bruno@clisp.org>
79448
79449         * lib/strcasecmp.c: Use mbuiter.h.
79450
79451 2005-08-17  Bruno Haible  <bruno@clisp.org>
79452
79453         * lib/mbuiter.h: New file.
79454
79455 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79456
79457         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
79458         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
79459         and gl_GETOPT are both invoked via different paths (as happens
79460         with GNU tar CVS because it uses both argp and getopt), the former
79461         wins.
79462
79463 2005-08-16  Bruno Haible  <bruno@clisp.org>
79464
79465         * modules/tls: New file.
79466         * MODULES.html.sh (Multithreading): Add tls.
79467
79468 2005-08-16  Bruno Haible  <bruno@clisp.org>
79469
79470         * modules/strnlen1: New file.
79471         * MODULES.html.sh (String handling): Add strnlen1.
79472
79473 2005-08-16  Bruno Haible  <bruno@clisp.org>
79474
79475         * modules/strcase (Files): Add m4/mbrtowc.m4.
79476         (Depends-on): Add strnlen1, mbchar.
79477
79478 2005-08-16  Bruno Haible  <bruno@clisp.org>
79479
79480         * modules/mbiter: New file.
79481         * MODULES.html.sh (Extended multibyte and wide character utilities):
79482         Add mbiter.
79483
79484 2005-08-16  Bruno Haible  <bruno@clisp.org>
79485
79486         * modules/mbfile: New file.
79487         * MODULES.html.sh (Extended multibyte and wide character utilities):
79488         Add mbfile.
79489
79490 2005-08-16  Bruno Haible  <bruno@clisp.org>
79491
79492         * modules/mbchar: New file.
79493         * MODULES.html.sh (Extended multibyte and wide character utilities):
79494         New section.
79495
79496 2005-08-16  Bruno Haible  <bruno@clisp.org>
79497
79498         * m4/tls.m4: New file, from GNU gettext.
79499
79500 2005-08-16  Bruno Haible  <bruno@clisp.org>
79501
79502         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
79503         always.
79504         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
79505
79506 2005-08-16  Bruno Haible  <bruno@clisp.org>
79507
79508         * m4/mbiter.m4: New file.
79509
79510 2005-08-16  Bruno Haible  <bruno@clisp.org>
79511
79512         * m4/mbfile.m4: New file.
79513
79514 2005-08-16  Bruno Haible  <bruno@clisp.org>
79515
79516         * m4/mbchar.m4: New file.
79517
79518 2005-08-16  Bruno Haible  <bruno@clisp.org>
79519
79520         * lib/tls.h: New file, from GNU gettext.
79521         * lib/tls.c: New file, from GNU gettext.
79522
79523 2005-08-16  Bruno Haible  <bruno@clisp.org>
79524
79525         * lib/strnlen1.h: New file.
79526         * lib/strnlen1.c: New file.
79527
79528 2005-08-16  Bruno Haible  <bruno@clisp.org>
79529
79530         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
79531         (mbi_init): Update.
79532         (mbi_avail, mbi_advance): Let the iteration end before the terminating
79533         NUL byte, not after it.
79534
79535 2005-08-16  Bruno Haible  <bruno@clisp.org>
79536
79537         * lib/strcase.h (strcasecmp): Add note in comments.
79538         * lib/strncasecmp.c: Use code from strcasecmp.c.
79539         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
79540         (strcasecmp): Work correctly in multibyte locales.
79541
79542 2005-08-16  Bruno Haible  <bruno@clisp.org>
79543
79544         * lib/mbiter.h: New file.
79545
79546 2005-08-16  Bruno Haible  <bruno@clisp.org>
79547
79548         * lib/mbfile.h: New file.
79549
79550 2005-08-16  Bruno Haible  <bruno@clisp.org>
79551
79552         * lib/mbchar.h: New file.
79553         * lib/mbchar.c: New file.
79554
79555 2005-08-16  Bruno Haible  <bruno@clisp.org>
79556
79557         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
79558         the valid ones. Makes the comparison operations transitive:
79559         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
79560         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
79561
79562 2005-08-15  Simon Josefsson  <jas@extundo.com>
79563
79564         * modules/ssize_t (License): Change to 'unlimited'.
79565
79566         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
79567
79568 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79569
79570         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
79571         Add comments for each pending glibc patch.
79572
79573 2005-08-15  Bruno Haible  <bruno@clisp.org>
79574
79575         * lib/regex.h (__restrict_arr): Don't define to __restrict if
79576         __cplusplus is defined.
79577
79578 2005-08-14  Jim Meyering  <jim@meyering.net>
79579
79580         Sync from coreutils.
79581
79582         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
79583         Use the hash-table-based cycle-detection code not just when
79584         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
79585         Reported by James Youngman in
79586         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
79587         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
79588         FTS_TIGHT_CYCLE_CHECK.
79589         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
79590         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
79591         once again.
79592         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
79593         * lib/fts.c (fd_safer): Remove decl.
79594         Include fcntl--.h rather than unistd-safer.h
79595         (fts_safe_changedir): Don't call fd_safer; no longer needed
79596         now that we include fcntl--.h.
79597
79598 2005-08-12  Simon Josefsson  <jas@extundo.com>
79599
79600         * modules/getndelim2: Use ssize_t module.
79601         * modules/getnline: Likewise.
79602         * modules/safe-read: Likewise.
79603         * modules/xreadlink: Likewise.
79604
79605         * modules/ssize_t: New file.
79606
79607 2005-08-12  Simon Josefsson  <jas@extundo.com>
79608
79609         * m4/readline.m4: Look for termcap, curses or ncurses if required.
79610
79611 2005-08-12  Simon Josefsson  <jas@extundo.com>
79612
79613         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79614         ssize_t.
79615
79616 2005-08-12  Simon Josefsson  <jas@extundo.com>
79617
79618         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
79619         readline, getdelim and check_version.
79620         (Support for systems lacking ISO C 99: Sizes of integer types):
79621         Add size_max.
79622
79623 2005-08-12  Bruno Haible  <bruno@clisp.org>
79624
79625         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
79626
79627 2005-08-11  Simon Josefsson  <jas@extundo.com>
79628
79629         * modules/readline: New file.
79630
79631         * modules/strnlen (Files): Add strnlen.h.
79632
79633 2005-08-11  Simon Josefsson  <jas@extundo.com>
79634
79635         * m4/readline.m4: New file.
79636
79637 2005-08-11  Simon Josefsson  <jas@extundo.com>
79638
79639         * lib/readline.h, readline.c: New file.
79640
79641 2005-08-11  Simon Josefsson  <jas@extundo.com>
79642
79643         * doc/gnulib.texi (Initial import, Finishing touches): Mention
79644         gl_AVOID.
79645
79646 2005-08-11  Bruno Haible  <bruno@clisp.org>
79647
79648         * lib/strnlen.h (strnlen): Change parameter name to match comment.
79649
79650 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
79651
79652         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
79653
79654 2005-08-10  Simon Josefsson  <jas@extundo.com>
79655
79656         * tests/test-iconvme.c: New file.
79657
79658 2005-08-10  Simon Josefsson  <jas@extundo.com>
79659
79660         * m4/strnlen.m4: New file.
79661
79662         * m4/strndup.m4: Don't check for strnlen declaration, done in
79663         strnlen.m4.
79664
79665 2005-08-10  Simon Josefsson  <jas@extundo.com>
79666
79667         * lib/strndup.c: Use strnlen.h.
79668
79669         * lib/strnlen.h: New file.
79670
79671 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79672
79673         * README: Typos.
79674
79675 2005-08-02  Simon Josefsson  <jas@extundo.com>
79676
79677         * modules/readline: New file.
79678
79679 2005-08-02  Simon Josefsson  <jas@extundo.com>
79680
79681         * modules/getdelim: New file.
79682
79683         * modules/getline: Rewrite, don't use getndelim2.
79684
79685 2005-08-02  Simon Josefsson  <jas@extundo.com>
79686
79687         * m4/getline.m4: Separate out getdelim stuff into separate module.
79688
79689         * m4/getdelim.m4: New file.
79690
79691 2005-08-02  Simon Josefsson  <jas@extundo.com>
79692
79693         * lib/getline.h, getline.c: Rewrite.
79694
79695         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
79696
79697 2005-07-31  Bruno Haible  <bruno@clisp.org>
79698
79699         * lib/lock.h (gl_lock_initializer): New macro.
79700         (gl_lock_define_initialized): Use it.
79701         (gl_rwlock_initializer): New macro.
79702         (gl_rwlock_define_initialized): Use it.
79703         (gl_recursive_lock_initializer): New macro.
79704         (gl_recursive_lock_define_initialized): Use it.
79705
79706 2005-07-30  Karl Berry  <karl@gnu.org>
79707
79708         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
79709         Report from Ben Pfaff, regarding getopt.
79710
79711 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
79712
79713         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
79714         normal way.
79715         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
79716         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
79717         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
79718         (gl_GETOPT): Use the new macros.  Most of the implementation
79719         is moved to the new macros.  This is for programs like Emacs
79720         that don't want all the functionality of gl_GETOPT.
79721
79722 2005-07-26  Bruno Haible  <bruno@clisp.org>
79723
79724         * m4/lock.m4: Update from GNU gettext.
79725
79726 2005-07-26  Bruno Haible  <bruno@clisp.org>
79727
79728         * lib/lock.h: Update from GNU gettext.
79729         * lib/lock.c: Update from GNU gettext.
79730
79731 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
79732
79733         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
79734         obsolescent AC_TRY_RUN.  Include the default includes files, for
79735         'exit'.
79736
79737 2005-07-24  Bruno Haible  <bruno@clisp.org>
79738
79739         * modules/visibility: New file.
79740         * MODULES.html.sh (Misc): Add visibility.
79741
79742 2005-07-24  Bruno Haible  <bruno@clisp.org>
79743
79744         * m4/visibility.m4: New file.
79745
79746 2005-07-24  Bruno Haible  <bruno@clisp.org>
79747
79748         * doc/visibility.texi: New file.
79749
79750 2005-07-22  Bruno Haible  <bruno@clisp.org>
79751
79752         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
79753         $(ALLOCA_H), redundant through BUILT_SOURCES.
79754         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
79755         redundant through BUILT_SOURCES.
79756         * modules/byteswap (Makefile.am): Remove explicit dependency on
79757         $(BYTESWAP_H), redundant through BUILT_SOURCES.
79758         * modules/fnmatch (Makefile.am): Remove explicit dependency on
79759         $(FNMATCH_H), redundant through BUILT_SOURCES.
79760         * modules/getopt (Makefile.am): Remove explicit dependency on
79761         $(GETOPT_H), redundant through BUILT_SOURCES.
79762         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
79763         redundant through BUILT_SOURCES.
79764         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
79765         redundant through BUILT_SOURCES.
79766         * modules/stdbool (Makefile.am): Remove explicit dependency on
79767         $(STDBOOL_H), redundant through BUILT_SOURCES.
79768         * modules/stdint (Makefile.am): Remove explicit dependency on
79769         $(STDINT_H), redundant through BUILT_SOURCES.
79770         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
79771         Remove explicit dependency on $(SYSEXITS_H).
79772         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
79773
79774 2005-07-18  Simon Josefsson  <jas@extundo.com>
79775
79776         * lib/check-version.c (check_version): Accept identical versions too.
79777
79778 2005-07-18  Bruno Haible  <bruno@clisp.org>
79779
79780         * modules/lock: New file.
79781         * MODULES.html.sh (Multithreading): New section.
79782
79783 2005-07-18  Bruno Haible  <bruno@clisp.org>
79784
79785         * m4/lock.m4: New file, from GNU gettext.
79786
79787 2005-07-18  Bruno Haible  <bruno@clisp.org>
79788
79789         * lib/lock.h: New file, from GNU gettext.
79790         * lib/lock.c: New file, from GNU gettext.
79791
79792 2005-07-18  Bruno Haible  <bruno@clisp.org>
79793
79794         * lib/lock.h (gl_once_t): New type.
79795         (gl_once_define, gl_once): New macros.
79796         * lib/lock.c (fresh_once): New variable.
79797         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
79798         functions.
79799
79800 2005-07-16  Simon Josefsson  <jas@extundo.com>
79801
79802         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
79803         workaround, suggested by Bruno.
79804
79805 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
79806
79807         * modules/xalloc (Depends-on): Add xalloc-die.
79808         * modules/xvasprintf (Depends-on): Add xalloc-die.
79809
79810 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
79811
79812         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
79813         with a minor change.
79814
79815 2005-07-15  Bruno Haible  <bruno@clisp.org>
79816
79817         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
79818         When using lib/poll.c, define poll as rpl_poll.
79819
79820 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
79821
79822         * modules/argp (Depends-on): Remove unlocked-io.
79823
79824 2005-07-14  Derek Price  <derek@ximbiot.com>
79825
79826         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
79827         for glob symlink bug.
79828
79829 2005-07-14  Bruno Haible  <bruno@clisp.org>
79830
79831         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
79832         Instead, test for *_unlocked function declarations directly.
79833
79834 2005-07-11  Simon Josefsson  <jas@extundo.com>
79835
79836         * modules/size_max: New file.
79837
79838         * modules/xsize: Depend on size_max module for size_max.m4.
79839
79840 2005-07-11  Simon Josefsson  <jas@extundo.com>
79841
79842         * lib/size_max.h: New file.
79843
79844 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
79845
79846         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
79847         copyright symbol and the year.
79848         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
79849         (version_etc_va): Use parameterized copyright notice.
79850         Reword to conform to the current GNU coding standards.
79851
79852 2005-07-11  Karl Berry  <karl@gnu.org>
79853
79854         * doc/gnulib.texi (Quoting): new node.
79855         (Initial import): more info, from Patrice.
79856
79857 2005-07-11  Bruno Haible  <bruno@clisp.org>
79858
79859         * gnulib-tool (func_usage): Document option --avoid.
79860         (Command line options): Handle --avoid.
79861         (func_acceptable): New function.
79862         (func_modules_transitive_closure): Use it.
79863
79864 2005-07-11  Bruno Haible  <bruno@clisp.org>
79865
79866         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
79867         Reported by Jim Meyering.
79868
79869 2005-07-10  Bruno Haible  <bruno@clisp.org>
79870
79871         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
79872         Needed when size_t is smaller than 'unsigned int'.
79873         Reported by Paul Eggert.
79874
79875 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79876
79877         * modules/argp (Depends-on): Add unlocked-io
79878
79879 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79880
79881         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
79882         block of defines.
79883
79884 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
79885
79886         * config/srclist.txt: Comment out regcomp.c, since we have a porting
79887         fix now.
79888
79889 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
79890         and Paul Eggert  <eggert@cs.ucla.edu>
79891
79892         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
79893         in wint_t, not wchar_t.  Remove now-unnecessary cast.
79894
79895 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79896
79897         * modules/regex (Files): Add lib/regex_internal.c,
79898         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
79899         (Depends-on): Add extensions.
79900         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
79901
79902 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79903
79904         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
79905         pathconf.
79906         * m4/same.m4 (gl_SAME): Likewise.
79907         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
79908
79909         * m4/regex.m4: Adjust to new libc regex implementation.
79910         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
79911         all the .c and .h parts of (the new) regex.
79912         Quote the m4 stuff better.
79913         Check for RE_ICASE bug of old gnulib.
79914         Check for REG_STARTEND of recent libc.
79915         Rename local variables from jm_* to gl_*.
79916         Quote operand of "test -f".
79917         Say "recent enough" version of libc, not "version 2".
79918         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
79919         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
79920         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
79921         Remove check for btowc, isascii.
79922         Require AM_LANGINFO_CODESET.
79923
79924 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79925
79926         * lib/regex.c, regex.h: Sync from libc.
79927         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
79928         * lib/regexec.c:
79929         New files, synced from libc, except that regex_internal.h
79930         currently has a small porting fix.
79931
79932 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79933
79934         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
79935         regex_internal.c, regexec.c.
79936         Add regex_internal.h too, but as a comment, since the libc version
79937         is currently broken in gnulib mode.
79938
79939 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
79940
79941         Support programs like Emacs that use gnulib but not gettext.
79942         * MODULES.html.sh (Internationalization functions): Add gettext-h.
79943         * modules/gettext-h: New file.
79944         * modules/gettext (Files): Remove lib/gettext.h.
79945         (Depends-on): Add gettext-h.
79946         (Makefile.am): Remove lib_SOURCES.
79947         * modules/argmatch, modules/c-stack, modules/closeout:
79948         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
79949         * modules/execute, modules/file-type, modules/getaddrinfo:
79950         * modules/getopt, modules/human, modules/javacomp:
79951         * modules/javaexec, modules/mkdir-p, modules/obstack:
79952         * modules/openat, modules/pagealign_alloc, modules/pipe:
79953         * modules/quotearg, modules/regex, modules/rpmatch:
79954         * modules/unicodeio, modules/userspec, modules/version-etc:
79955         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
79956         * modules/xsetenv:
79957         Depend on gettext-h, not gettext.
79958
79959 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
79960
79961         * gnulib-tool (func_import): Add support for 'public domain' license.
79962         * modules/alloca, modules/atexit, modules/memmove:
79963         Now public domain, not GPL.
79964         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
79965         * modules/realloc, modules/strerror, modules/strtod:
79966         Now LGPL, not GPL.
79967
79968 2005-07-05  Bruno Haible  <bruno@clisp.org>
79969
79970         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
79971         autoconf CVS. Needed for mingw.
79972
79973 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79974
79975         Remove the dependency of the strftime module on the tzset module.
79976         * modules/strftime (Depends-on): Remove dependency on tzset.
79977
79978 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79979
79980         Remove the dependency of the strftime module on the tzset module.
79981         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
79982         gl_FUNC_TZSET_CLOBBER.
79983
79984 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79985
79986         Remove the dependency of the strftime module on the tzset module.
79987         * lib/strftime.c (my_strftime)
79988         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
79989         Copy the input structure, to work around some of the bug with
79990         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
79991         Solaris releases, you should also use the tzset module, but we won't
79992         require it as a dependency any more since we don't want LGPLed code
79993         to depend on GPLed code.
79994
79995 2005-07-02  Jim Meyering  <jim@meyering.net>
79996
79997         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
79998         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
79999         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
80000         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
80001
80002 2005-07-02  Jim Meyering  <jim@meyering.net>
80003
80004         * lib/backupfile.c (backup_args): Change a `0' to NULL.
80005
80006 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80007
80008         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
80009         declares only 'struct timespec;' (!).
80010
80011 2005-07-01  Jim Meyering  <jim@meyering.net>
80012
80013         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
80014         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
80015         * lib/save-cwd.c, tempname.c:
80016         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
80017         and don't include <sys/file.h>).
80018
80019 2005-06-29  Jim Meyering  <jim@meyering.net>
80020
80021         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
80022         type name.  Use the variable name instead.
80023         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
80024         Likewise.
80025
80026 2005-06-28  Simon Josefsson  <jas@extundo.com>
80027
80028         * modules/check-version (Files): Add check-version.m4.
80029
80030 2005-06-28  Simon Josefsson  <jas@extundo.com>
80031
80032         * m4/check-version.m4: New file, suggested by Jim Meyering
80033         <jim@meyering.net>.
80034
80035 2005-06-28  Simon Josefsson  <jas@extundo.com>
80036
80037         * lib/check-version.h, lib/check-version.c: New files.
80038
80039 2005-06-28  Simon Josefsson  <jas@extundo.com>
80040
80041         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
80042         collision with global variable.  Better indentation.  Don't
80043         increment buffer pointer beyond buffer end.  Based on comments
80044         from Paul Eggert <eggert@cs.ucla.edu>.
80045
80046         * lib/base64.h: Indent.
80047
80048 2005-06-28  Simon Josefsson  <jas@extundo.com>
80049
80050         * doc/gnulib.texi (Library version handling): New section.
80051
80052 2005-06-28  Jim Meyering  <jim@meyering.net>
80053
80054         * check-module (find_included_lib_files): Hard-code another
80055         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
80056         but modules/fts-lgpl (correctly) does not list those files.
80057
80058         * modules/canonicalize (Files): Add lib/pathmax.h.
80059
80060 2005-06-25  Simon Josefsson  <jas@extundo.com>
80061
80062         * modules/check-version: New file.
80063
80064 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
80065
80066         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
80067         initializer of struct addrinfo, as an indication that we don't
80068         care how many members the structure has.
80069
80070 2005-06-24  Derek Price  <derek@ximbiot.com>
80071         and Bruno Haible  <bruno@clisp.org>
80072
80073         Remove stat module & update lstat.
80074         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
80075         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80076         * m4/stat.m4: Remove this file.
80077
80078 2005-06-24  Derek Price  <derek@ximbiot.com>
80079         and Bruno Haible  <bruno@clisp.org>
80080
80081         Remove stat module & update lstat.
80082         * lib/stat.c: Remove this file...
80083         (slash_aware_lstat): ...moving this content and its support...
80084         * lib/lstat.c (rpl_lstat): ...into here.
80085         * lib/lstat.h: New file.
80086
80087 2005-06-24  Derek Price  <derek@ximbiot.com>
80088         and Bruno Haible  <bruno@clisp.org>
80089
80090         Remove stat module & update lstat.
80091         * config/srclist.txt (libc sources): Remove stat.
80092
80093 2005-06-24  Derek Price  <derek@ximbiot.com>
80094         and Bruno Haible  <bruno@clisp.org>
80095
80096         Remove stat module & update lstat.
80097         * MODULES.html.sh (stat): Remove.
80098         * MODULES.html: Regenerated.
80099         * modules/lstat (Description): Correct function name.
80100         (Files): Add "lstat.h".
80101         (Depends-on): Remove stat, add xalloc, stat-macros.
80102         * modules/stat: Remove this file.
80103         (Include): Add "lstat.h", remove <sys/stat.h>.
80104
80105 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
80106
80107         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
80108         (ranged_convert): Don't save conversion in a temporary struct.
80109         This causes a warning with GCC 4.0.0, and anyway in the typical
80110         case it's not worth the extra 100 bytes or so of code.
80111         (ranged_convert, __mktime_internal): When calling a function via a
80112         pointer P, use P () rather than (*P) (), as we now assume C89 or
80113         better.
80114
80115 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80116
80117         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
80118         "who -r" failed to give output.  Problem reported by Tim Waugh.
80119
80120         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
80121         (xcalloc): Use it to avoid needless tests.
80122         Problem reported by Jim Meyering.
80123
80124 2005-06-20  Derek Price  <derek@ximbiot.com>
80125
80126         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
80127         unnecessary for Autoconfs > 2.59c.
80128
80129 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80130
80131         * lib/argp.h (__option_is_short): Check upper limit of
80132         __key. Isprint() requires its argument to have the value
80133         of an unsigned char or EOF.
80134
80135 2005-06-16  Jim Meyering  <jim@meyering.net>
80136
80137         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
80138         when either N or S is zero.
80139
80140 2005-06-16  Derek Price  <derek@ximbiot.com>
80141
80142         * m4/bison.m4: Declare YACC & YFLAGS precious.
80143
80144 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
80145
80146         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
80147         multibyte string or pattern, fall back on unibyte matching.
80148         Problem reported by James Youngman.
80149
80150 2005-06-08  Bruno Haible  <bruno@clisp.org>
80151
80152         * modules/csharpcomp: New file.
80153         * MODULES.html.sh (C#): Add csharpcomp.
80154
80155 2005-06-08  Bruno Haible  <bruno@clisp.org>
80156
80157         * m4/csharpcomp.m4: New file, from GNU gettext.
80158
80159 2005-06-08  Bruno Haible  <bruno@clisp.org>
80160
80161         * lib/csharpcomp.h: New file, from GNU gettext.
80162         * lib/csharpcomp.c: New file, from GNU gettext.
80163         * lib/csharpcomp.sh.in: New file, from GNU gettext.
80164
80165 2005-06-08  Bruno Haible  <bruno@clisp.org>
80166
80167         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
80168         warning on mingw.
80169
80170 2005-06-07  Derek Price  <derek@ximbiot.com>
80171
80172         Sync from CVS.
80173         * lib/glob_.h: Indent nested #ifdef.
80174
80175 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80176
80177         Sync from coreutils.
80178         Use "file name" when talking about file names, instead of "filename"
80179         or "path", as per the GNU coding standards.
80180         * lib/mkdir-p.c: Renamed from makepath.c.
80181         (make_dir_parents): Renamed from make_path.  All callers changed.
80182         * lib/mkdir-p.h: Likewise.  All includers changed.
80183         * lib/filenamecat.c: Renamed from path-concat.c.
80184         (file_name_concat): Renamed from path_concat.  All callers changed.
80185         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
80186         * lib/filenamecat.h: Likewise.  All includers changed.
80187         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
80188         in comments or local variable names.
80189         * lib/basename.c: Likewise.
80190         * lib/canonicalize.c, canonicalize.h: Likewise.
80191         * lib/dirname.c, dirname.h: Likewise.
80192         * lib/euidaccess.c: Likewise.
80193         * lib/exclude.c: Likewise
80194         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
80195         * lib/fsusage.c, fsuage.h: Likewise.
80196         * lib/fts.c, fts_.h: Likewise.
80197         * lib/getcwd.c: Likewise.
80198         * lib/getloadavg.c: Likewise.
80199         * lib/mkstemp.c: Likewise.
80200         * lib/mountlist.c, mountlist.h: Likewise.
80201         * lib/openat.c, openat.h: Likewise.
80202         * lib/readlink-stub.c: Likewise.
80203         * lib/readutmp.c, readutmp.h: Likewise.
80204         * lib/rename.c: Likewise.
80205         * lib/rmdir.c: Likewise.
80206         * lib/same.c: Likewise.
80207         * lib/savedir.c: Likewise.
80208         * lib/stripslash.c: Likewise.
80209         * lib/tempname.c: Likewise.
80210         * lib/xreadlink.c: Likewise.
80211         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
80212         All uses changed.
80213         * lib/exclude.h: Likewise.
80214
80215         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
80216         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80217         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
80218         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80219         * lib/pathmax.h: Include <limits.h> unconditionally, since other
80220         files have been getting away with it for years (MORE/BSD 4.3
80221         is extinct now).
80222         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
80223         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80224
80225         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
80226         Define to 256, not 255, as per modern POSIX.
80227
80228 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80229
80230         Sync from coreutils.
80231         Use "file name" when talking about file names, instead of "filename"
80232         or "path", as per the GNU coding standards.
80233         * MODULES.html.sh: mkdir-p renamed from makepath.
80234         filenamecat renamed from path-concat.
80235         * modules/filenamecat: Renamed from modules/path-concat.
80236         (Files): filenamecat.h and filenamecat.c renamed from
80237         path-concat.h and path-concat.c.
80238         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
80239         (Include): filenamecat.h, not path-concat.h.
80240         * modules/mkdir-p: Renamed from modules/makepath.
80241         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
80242         makepath.c.
80243         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
80244         (Include): mkdir-p.h, not makepath.h.
80245
80246 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80247
80248         Sync from coreutils.
80249         * m4/mkdir-p.m4: Renamed from makepath.m4.
80250         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
80251         Rename files from makepath.c to mkdir-p.c, and from
80252         makepath.h to mkdir-p.h.
80253         * m4/filenamecat.m4: Renamed from path-concat.m4.
80254         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
80255         Rename files from path-concat.c to filenamecat.c,
80256         and from path-concat.h to filenamecat.h.
80257         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
80258         "file name" in local variables or comments.
80259         * m4/rename.m4: Likewise.
80260
80261 2005-06-01  Bruno Haible  <bruno@clisp.org>
80262
80263         * modules/csharpexec: New file.
80264         * MODULES.html.sh (C#): New section.
80265
80266 2005-06-01  Bruno Haible  <bruno@clisp.org>
80267
80268         * m4/csharp.m4: New file, from GNU gettext.
80269         * m4/csharpexec.m4: New file, from GNU gettext.
80270
80271 2005-06-01  Bruno Haible  <bruno@clisp.org>
80272
80273         * lib/csharpexec.h: New file, from GNU gettext.
80274         * lib/csharpexec.c: New file, from GNU gettext.
80275         * lib/csharpexec.sh.in: New file, from GNU gettext.
80276
80277 2005-05-31  Derek Price  <derek@ximbiot.com>
80278             Paul Eggert  <eggert@cs.ucla.edu>
80279
80280         Sync from cvs.
80281         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
80282
80283 2005-05-31  Derek Price  <derek@ximbiot.com>
80284             Paul Eggert  <eggert@cs.ucla.edu>
80285
80286         Sync from cvs.
80287         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
80288
80289 2005-05-29  Derek Price  <derek@ximbiot.com>
80290
80291         * config/srclist.txt (glob_.h, glob.c): Add these files.
80292
80293 2005-05-29  Derek Price  <derek@ximbiot.com>
80294
80295         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
80296         * modules/glob: New file.
80297         * modules/getlogin_r: Add link to POSIX spec in description.
80298
80299 2005-05-29  Derek Price  <derek@ximbiot.com>
80300             Paul Eggert  <eggert@cs.ucla.edu>
80301
80302         * m4/glob.m4: New file.
80303
80304 2005-05-29  Derek Price  <derek@ximbiot.com>
80305             Paul Eggert  <eggert@cs.ucla.edu>
80306
80307         * lib/glob_.h, lib/glob.c: New files.
80308
80309 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80310
80311         * modules/fts (Files): Remove m4/inttypes-pri.m4.
80312         * modules/fts-lgpl (Depends-on): Remove gettext.
80313
80314 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80315
80316         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
80317         and don't require gt_INTTYPES_PRI.
80318
80319 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80320
80321         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
80322
80323         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
80324         the configuration hassle isn't worth it.
80325         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
80326         (LONGEST_MODIFIER, PRIuMAX): Remove.
80327
80328 2005-05-27  Bruno Haible  <bruno@clisp.org>
80329
80330         * lib/getlogin_r.h: Remove second include of <stddef.h>.
80331
80332 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
80333
80334         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
80335         _POSIX_PTHREAD_SEMANTICS for Solaris.
80336
80337 2005-05-25  Derek Price  <derek@ximbiot.com>
80338
80339         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
80340
80341 2005-05-25  Derek Price  <derek@ximbiot.com>
80342             Paul Eggert  <eggert@cs.ucla.edu>
80343
80344         * modules/getlogin_r, m4/getlogin_r.m4: New files.
80345         * lib/getlogin_r.c, getlogin_r.h: New files.
80346
80347 2005-05-25  Bruno Haible  <bruno@clisp.org>
80348             Derek Price  <derek@ximbiot.com>
80349
80350         * lib/getlogin_r.h: Simplify API documentation.
80351
80352 2005-05-23  Derek Price  <derek@ximbiot.com>
80353
80354         * modules/minmax (Files): Add m4/minmax.m4.
80355         (configure.ac): Add gl_MINMAX.
80356
80357 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
80358
80359         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
80360         so that unistd-safer.h (GPL'ed code) need not be included.
80361
80362 2005-05-22  Bruno Haible  <bruno@clisp.org>
80363
80364         * m4/minmax.m4: New file.
80365         Based on a patch by Derek Price <derek@ximbiot.com>.
80366
80367 2005-05-22  Bruno Haible  <bruno@clisp.org>
80368
80369         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
80370         (INT64_MIN): Fix definition.
80371         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
80372
80373         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
80374         NEED_SIGNED_INT_TYPES.
80375
80376         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
80377         HAVE_SYSTEM_INTTYPES.
80378
80379 2005-05-22  Bruno Haible  <bruno@clisp.org>
80380
80381         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
80382         Also include <sys/param.h> if it defines MIN, MAX.
80383         Based on a patch by Derek Price <derek@ximbiot.com>.
80384
80385 2005-05-21  Jim Meyering  <jim@meyering.net>
80386
80387         * modules/fts (Files): Add m4/inttypes-pri.m4.
80388         (Depends-on): Add lstat and remove gettext.  Alphabetize.
80389
80390 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
80391
80392         New fts module.
80393         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
80394         (setup_dir, free_dir): New functions.
80395         (enter_dir, leave_dir): Define trivial
80396         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
80397         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
80398         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
80399         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
80400         Move to fts-cycle.c.
80401         (fts_open): Use setup_dir.
80402         (fts_close): Use free_dir.
80403         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
80404         This adds a label and some gotos, but the alternatives were messier.
80405         Check for memory allocation failure when entering a dir.
80406         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
80407         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
80408         (FTS): New member fts_cycle, that is a union that contains the
80409         old active_dir_ht and cycle_state.  All uses changed to mention
80410         fts_cycle.ht and fts_cycle.state.
80411         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
80412         fts.c, with the following changes:
80413         (setup_dir, free_dir): New functions.
80414         (enter_dir): Now returns bool.  Return true if successful, false
80415         if memory exhausted.  All callers changed.
80416         Do not bother partly cleaning up on
80417         memory allocation failure; that is free_dir's job.
80418         However, free ad if hash_insert fails, to avoid memory leak.
80419         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
80420         fts->fts_options to see which union member to use.
80421
80422 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
80423
80424         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
80425         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
80426
80427 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
80428
80429         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
80430
80431 2005-05-20  Jim Meyering  <jim@meyering.net>
80432
80433         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
80434         Now a macro, to pacify GCC.
80435
80436 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
80437
80438         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
80439         of -1.
80440
80441 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
80442
80443         * lib/chown.c (rpl_chown): Return -1 on failure.
80444
80445 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
80446
80447         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
80448         Don't check for stddef.h.
80449         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
80450         don't use its results.
80451         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
80452         since we include them unconditionally.  Don't require
80453         AM_STDBOOL_H, since stdbool is a prerequisite.
80454         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
80455         since we assume C89 or better.
80456         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
80457         as we don't use their results.
80458         Don't check for fchdir, memmove, memset, strrchr, as we use
80459         them unconditionally.
80460         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
80461         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
80462
80463 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
80464
80465         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
80466         Include <stddef.h> unconditionally, since we assume C89 now.
80467         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
80468         * lib/fts.c: Include fts_.h first, to check interface.
80469         Do not include intprops.h; no longer needed.
80470         Include cycle-check.h and hash.h, since fts_.h no longer does.
80471         Remove unnecessary casts of closedir to void.
80472         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
80473         decide whether to decrement nlinks.
80474         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
80475         (FTS): Use struct hash_table * instead of Hash_table, so that
80476         we no longer need to include hash.h here.
80477
80478 2005-05-18  Jim Meyering  <jim@meyering.net>
80479
80480         * modules/dirfd (License): Change to LGPL.  Most of the code
80481         is already in the public domain.
80482
80483 2005-05-18  Jim Meyering  <jim@meyering.net>
80484
80485         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
80486         Reported by Yoann Vandoorselaere.
80487
80488 2005-05-17  Jim Meyering  <jim@meyering.net>
80489
80490         * m4/fts.m4: New file, from coreutils.
80491
80492 2005-05-17  Jim Meyering  <jim@meyering.net>
80493
80494         * lib/fts.c, lib/fts_.h: New files, from coreutils.
80495
80496 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
80497
80498         Sync from coreutils.
80499         * m4/unlinkdir.m4: New file.
80500
80501 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
80502
80503         Sync from coreutils.
80504         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
80505         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
80506         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
80507         White space changes only.
80508         * lib/makepath.c (make_path): Port to hosts where leading "//" is
80509         special.
80510         * lib/yesno.c: Include getline.h, not ctype.h.
80511         (yesno): Don't remove leading white space; POSIX doesn't allow it.
80512         Use getline to remove arbitrary restriction on response length.
80513
80514 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
80515
80516         * config/srclist-update: Spell out "Street" in FSF postal
80517         mail address; this is the style the FSF seems to prefer.
80518
80519         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
80520         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
80521         this updates FSF postal mail address.
80522
80523         Sync from coreutils.
80524         * modules/unlinkdir: New file.
80525         * modules/yesno (Depends-on): Add getline.
80526         * MODULES.html.sh (File system functions): Add unlinkdir.
80527
80528 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80529
80530         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
80531         lib/strsep.h:
80532         Change the initial comment to refer to GPL, not LGPL.
80533         gnulib-tool will change it to LGPL as needed.
80534
80535         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
80536         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
80537         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
80538         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
80539         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
80540         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
80541         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
80542         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
80543         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
80544         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
80545         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
80546         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
80547         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
80548         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
80549         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
80550         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
80551         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
80552         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
80553         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
80554         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
80555         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
80556         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
80557         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
80558         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
80559         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
80560         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
80561         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
80562         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
80563         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
80564         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
80565         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
80566         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
80567         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
80568         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
80569         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
80570         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
80571         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
80572         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
80573         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
80574         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
80575         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
80576         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
80577         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
80578         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
80579         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
80580         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
80581         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
80582         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
80583         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
80584         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
80585         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
80586         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
80587         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
80588         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
80589         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
80590         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
80591         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
80592         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
80593         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
80594         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
80595         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
80596         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
80597         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
80598         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
80599         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
80600         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
80601         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
80602         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
80603         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
80604         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
80605         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
80606         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
80607         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
80608         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
80609         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
80610         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
80611         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
80612         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
80613         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
80614         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
80615         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
80616         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
80617         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
80618         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
80619         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
80620         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
80621         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
80622         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
80623         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
80624         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
80625         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
80626         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
80627         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
80628         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
80629         lib/yesno.c, lib/yesno.h:
80630         Update FSF postal mail address.
80631
80632 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80633
80634         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
80635         tests/test-memmem.c, tests/test-stpncpy.c:
80636         Update FSF postal mail address.
80637
80638 2005-05-13  Bruno Haible  <bruno@clisp.org>
80639
80640         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
80641         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
80642         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
80643         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
80644         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
80645         Add support for 64-bit integers in the MSVC compiler.
80646
80647 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80648
80649         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
80650
80651 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
80652
80653         * gnulib-tool (func_import): Sort and uniquify recommended includes.
80654
80655 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
80656
80657         * doc/getdate.texi (General date syntax): Don't say that date
80658         date --iso-8601=ns generates acceptable dates; it doesn't yet.
80659         Problem reported by Nic Ferrier.
80660
80661 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80662
80663         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
80664         specified in ai_socktype. Fix invalid ai_protocol
80665         check. ai_protocol is usually set to 0 or depending on
80666         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
80667         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
80668         ai_socktype / ai_protocol in the returned addrinfo structure.
80669
80670 2005-05-10  Simon Josefsson  <jas@extundo.com>
80671
80672         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
80673         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80674
80675 2005-05-10  Karl Berry  <karl@gnu.org>
80676
80677         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
80678         (from http://www.gnu.org/licenses).
80679         * doc/COPYING.LIB: also rename to COPYING.LESSER.
80680         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
80681         fdl.texi suffices.
80682
80683 2005-05-10  Karl Berry  <karl@gnu.org>
80684
80685         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
80686         (COPYING.DOC): remove.
80687
80688         * config/srclist-update: new FSF address.
80689
80690 2005-05-10  Derek Price  <derek@ximbiot.com>
80691
80692         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
80693         possible.
80694
80695 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80696             Bruno Haible  <bruno@clisp.org>
80697
80698         * modules/inet_ntop: New file.
80699         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80700         inet_ntop.
80701
80702 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80703             Bruno Haible  <bruno@clisp.org>
80704
80705         * m4/inet_ntop.m4: New file.
80706
80707 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80708             Bruno Haible  <bruno@clisp.org>
80709
80710         * lib/inet_ntop.h: New file.
80711         * lib/inet_ntop.c: New file, from glibc with modifications.
80712
80713 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
80714
80715         * modules/time_r (License): Change to LGPL.
80716         * modules/extensions (License): Change to LGPL.  Actually,
80717         the license is more permissive than that, but currently gnulib-tool
80718         doesn't know how to handle more-permissive licenses.
80719
80720         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
80721         Problem reported by Dave Love.
80722
80723 2005-05-08  Jim Meyering  <jim@meyering.net>
80724
80725         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
80726         blank.
80727
80728 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
80729
80730         * modules/argmatch (Depends-on): Add stdbool.
80731         * modules/backupfile (Depends-on): Likewise.
80732         * modules/chdir-long (Depends-on): Likewise.
80733         * modules/closeout (Depends-on): Likewise.
80734         * modules/cycle-check (Depends-on): Likewise.
80735         * modules/dirname (Depends-on): Likewise.
80736         * modules/fnmatch (Depends-on): Likewise.
80737         * modules/fsusage (Depends-on): Likewise.
80738         * modules/fwriteerror (Depends-on): Likewise.
80739         * modules/getcwd (Depends-on): Likewise.
80740         * modules/getloadavg (Depends-on): Likewise.
80741         * modules/hard-locale (Depends-on): Likewise.
80742         * modules/makepath (Depends-on): Likewise.
80743         * modules/mountlist (Depends-on): Likewise.
80744         * modules/nanosleep (Depends-on): Likewise.
80745         * modules/posixtm (Depends-on): Likewise.
80746         * modules/quotearg (Depends-on): Likewise.
80747         * modules/readtokens (Depends-on): Likewise.
80748         * modules/readtokens0 (Depends-on): Likewise.
80749         * modules/readutmp (Depends-on): Likewise.
80750         * modules/save-cwd (Depends-on): Likewise.
80751         * modules/strftime (Depends-on): Likewise.
80752         * modules/userspec (Depends-on): Likewise.
80753         * modules/utimecmp (Depends-on): Likewise.
80754         * modules/xgetcwd (Depends-on): Likewise.
80755         * modules/xnanosleep (Depends-on): Likewise.
80756         * modules/xstrtod (Depends-on): Likewise.
80757         * modules/yesno (Depends-on): Likewise.
80758
80759 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
80760
80761         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
80762         needless checks.
80763
80764 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80765
80766         Merge from coreutils.  Among other things,
80767         add bulletproofing for cases where stdin, stdout, or stderr are closed.
80768         * lib/fd-safer.c: New file.
80769         * lib/fcntl-safer.h, open-safer.c: Remove.
80770         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
80771         * lib/dup-safer.c: Include unistd-safer.h first.
80772         Don't include errno.h.
80773         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
80774         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
80775         * lib/file-type.c: Rely on file-type.h change.
80776         * lib/getloadavg.c: Include unistd-safer.h.
80777         (getloadavg): Use safer open.
80778         * lib/getusershell.c: Include "stdio-safer.h".
80779         (getusershell): Use safer fopen.
80780         * lib/long-options.c (long_options): Use NULL rather than 0.
80781         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
80782         'free'.
80783         * lib/modechange.c: Likewise.
80784         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
80785         (MODE_DONE): New constant.
80786         (struct mode_change): Remove 'next' member.
80787         (make_node_op_equals): New function; like the old one of the
80788         same name, except it allocates an array.
80789         (mode_compile, mode_create_from_ref): Use it.
80790         (mode_compile): Allocate result as an array, not a linked list.
80791         Parse octal string ourself, so that we catch mistakes like "+0".
80792         (mode_adjust): Arg is an array, not a linked list.
80793         * lib/modechange.c: Include stat-macros.h, xalloc.h.
80794         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
80795         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
80796         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
80797         Remove.  This is now stat-macros.h's job.
80798         (talloc): Remove.  All callers replaced by xalloc, so that
80799         our invokers don't have to worry about reporting memory failures.
80800         (make_node_op_equals): Remove.
80801         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
80802         New constants.
80803         (struct mode_change): Moved here from modechange.h.
80804         (mode_append_entry): Remove.
80805         (mode_compile): Remove MASKED_OPS arg, since it encouraged
80806         apps to have incorrect behavior.  Use simpler algorithm for head
80807         and tail.  Don't futz with umask; that's now the job of mode_adjust.
80808         Detect more invalid usages rather than having somewhat-random behavior.
80809         Don't insert an "a=" action, as that leads to incorrect behavior.
80810         (mode_compile, mode_create_from_ref): Return NULL on error instead
80811         of an enum, since now there's only one way to have an error.  All
80812         callers changed.
80813         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
80814         at the correct time.  Simplify calculation of "+u" and its ilk.
80815         Don't mishandle "+X".
80816         (mode_free): Remove "register" and localize decls.
80817         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
80818         (struct mode_change): Move to modechange.c; callers don't
80819         need to see this stuff.
80820         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
80821         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
80822         (mode_change, mode_adjust): Reflect the new signatures noted above.
80823         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
80824         that might redefine system include files.
80825         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
80826         (my_usleep): Use NULL rather than (void *) 0.
80827         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
80828         Use siginterrupt to specify that system calls should be interrupted.
80829         (rpl_nanosleep): Move initialization of suspended closer to call of
80830         my_usleep.
80831         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
80832         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
80833         (desirable_utmp_entry): New function.
80834         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
80835         using x2nrealloc, to simplify logic.
80836         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
80837         size calculation.  Do not assume utmp file is a regular file.
80838         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
80839         (READ_UTMP_CHECK_PIDS): New constant.
80840         * lib/save-cwd.c: Include unistd-safer.h.
80841         (save_cwd): Use fd_safer.
80842         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
80843         [!_LIBC] Include "stat-macros.h" instead.
80844         * lib/unistd-safer.h (fd_safer): New decl.
80845
80846 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80847
80848         * modules/getloadavg (Depends-on): Add unistd-safer.
80849         * modules/getusershell (Depends-on): Add stdio-safer.
80850         * modules/lstat (Depends-on): Remove xalloc.
80851         * modules/mkstemp (Depends-on): Add stat-macros.
80852         * modules/modechange (Depends-on): Remove xstrtol.
80853         Add stat-macros, xalloc.
80854         * modules/save-cwd (Depends-on): Add unistd-safer.
80855         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
80856         * modules/unistd-safer (Files): Add lib/fd-safer.c
80857         (Makefile.am): Remove lib_SOURCES.
80858
80859         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
80860         Remove fcntl-safer; unistd-safer supersedes it.
80861
80862 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80863
80864         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
80865         AC_HEADER_STAT.
80866         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
80867         (gl_PREREQ_CHOWN): Remove.
80868         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
80869         it.  Don't require AC_HEADER_STAT.
80870         (gl_PREREQ_LSTAT): Remove.
80871         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
80872         Don't require AC_HEADER_STAT.
80873         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
80874         (gl_PREREQ_RMDIR): Remove.
80875         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
80876         mention stat-macros.h or AC_HEADER_STAT, since we'll make
80877         the stat-macros module a prerequisite.
80878         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
80879         * m4/filemode.m4 (gl_FILEMODE): Likewise.
80880         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
80881         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
80882         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
80883         variable names.
80884         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
80885         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
80886         variable prefixes.
80887         * m4/fcntl-safer.m4: Remove.
80888         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
80889         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
80890         Invoke gl_PREREQ_FD_SAFER.
80891         (gl_PREREQ_FD_SAFER): New macro.
80892         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
80893         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
80894         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
80895         Remove duplicate call to AC_LIBOBJ(readutmp).
80896         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
80897
80898         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
80899         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
80900
80901 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80902
80903         * MODULES.html.sh (Misc): Add byteswap.
80904
80905 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80906
80907         * modules/getcwd (Depends-on): Add extensions.
80908         * modules/openat (Depends-on): Likewise.
80909
80910 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80911
80912         * modules/byteswap: New file.
80913
80914 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80915
80916         * m4/byteswap.m4: New file.
80917
80918 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80919
80920         * lib/byteswap_.h: New file.
80921
80922 2005-04-25  Karl Berry  <karl@gnu.org>
80923
80924         * m4/gettext.m4: Update from GNU gettext 0.14.4.
80925
80926 2005-04-25  Albert Chin  <china@thewrittenword.com>
80927
80928         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
80929         Toolkit C bug.
80930
80931 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
80932
80933         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
80934         (func_ln_if_changed): Remove forcibly for no error message
80935         in case file does not exist.
80936
80937 2005-04-19  Simon Josefsson  <jas@extundo.com>
80938
80939         * gnulib-tool (Options): Make --symlink mean --symbolic.
80940
80941 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
80942
80943         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
80944
80945 2005-04-16  Simon Josefsson  <jas@extundo.com>
80946
80947         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
80948
80949 2005-04-15  Simon Josefsson  <jas@extundo.com>
80950
80951         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
80952
80953 2005-04-15  Simon Josefsson  <jas@extundo.com>
80954
80955         * gnulib-tool: Rename --symlink to --symbolic.
80956
80957 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
80958
80959         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
80960         symbolic links to files instead of copying/moving.  Add --aux-dir,
80961         specifying directory relative --dir where auxiliary build tools
80962         are placed.
80963
80964 2005-04-14  Bruno Haible  <bruno@clisp.org>
80965
80966         * modules/allocsa (License): Change to LGPL.
80967         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
80968
80969 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
80970
80971         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
80972         that "UTC +1 second" continues to work.  Problem reported
80973         by Dmitry V. Levin.
80974         (relunit_snumber): New rule.
80975         (relunit): Use it.
80976
80977 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
80978
80979         * lib/getdate.y (universal_time_zone_table): New constant.
80980         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
80981         universal_time_zone_table.
80982         (lookup_zone): Prefer universal_time_zone_table to
80983         local_time_zone_table, so that "GMT" time stamps are allowed in
80984         London during the summer.  Problem reported by Ian Abbott.
80985
80986 2005-04-12  Jim Meyering  <jim@meyering.net>
80987
80988         * lib/human.c (humblock): Set *options even when returning due to
80989         xstrtoumax conversion failure.  Thanks to a used-uninitialized
80990         warning from gcc-4.
80991
80992 2005-04-09  Jim Meyering  <jim@meyering.net>
80993
80994         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
80995         -Wuninitialized: initialize tm0.tm_year.
80996
80997 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
80998
80999         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
81000         count, since there's no maximum.  All uses changed.
81001         Add member dsts_seen.
81002         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
81003         not being INT_MAX.
81004         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
81005         Use pc_rels_seen to decide whther a date is absolute.
81006
81007         * lib/getdate.y (number): Don't overwrite year.
81008         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
81009         check.
81010
81011 2005-04-02  Simon Josefsson  <jas@extundo.com>
81012
81013         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
81014         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
81015
81016 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
81017
81018         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
81019         where no absolute path name can be longer than PATH_MAX.
81020
81021 2005-03-27  Jim Meyering  <jim@meyering.net>
81022
81023         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
81024
81025 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
81026
81027         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
81028         "one's complement" -> "ones' complement" in comment, as per Knuth.
81029         "value of type" -> "type or expression" in comment.
81030         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
81031
81032 2005-03-26  Jim Meyering  <jim@meyering.net>
81033
81034         Comment nits.
81035         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
81036         Correct typos: s/or/of/.
81037
81038 2005-03-26  Jim Meyering  <jim@meyering.net>
81039
81040         * modules/check-include-files: Move to ../ and rename to...
81041         * check-module: ...this.
81042
81043 2005-03-25  Jim Meyering  <jim@meyering.net>
81044
81045         * modules/xvasprintf (Files): Add xalloc.h.
81046
81047 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
81048
81049         * modules/gettext (Files): config/config.rpath ->
81050         build-aux/config.rpath
81051         * modules/iconv (Files): Likewise.
81052         Problem reported by Oskar Liljeblad.
81053
81054 2005-03-23  Jim Meyering  <jim@meyering.net>
81055
81056         * modules/check-include-files: New script to check for
81057         missing dependencies, multiple includes, etc.
81058
81059         * modules/c-strtold (Depends-on): Add xalloc.
81060         * modules/c-strtod (Depends-on): Add xalloc.
81061         * modules/hash (Depends-on): Add xalloc.
81062         (Files): Remove lib/xalloc.h.
81063
81064         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
81065         * modules/userspec (Files): Add lib/inttostr.h.
81066
81067 2005-03-23  Jim Meyering  <jim@meyering.net>
81068
81069         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
81070
81071 2005-03-22  Jim Meyering  <jim@meyering.net>
81072
81073         * modules/stat-macros: New module.
81074         * modules/canonicalize, modules/euidaccess, modules/file-type,
81075         * modules/filemode, modules/lchown, modules/makepath,
81076         * modules/rmdir, modules/stat: Depend on new stat-macros module
81077         rather than listing lib/stat-macros.h manually.
81078         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
81079
81080 2005-03-22  Jim Meyering  <jim@meyering.net>
81081
81082         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
81083
81084 2005-03-22  Bruno Haible  <bruno@clisp.org>
81085
81086         * config/srclist.txt: Replace target directory 'config' with
81087         'build-aux'.
81088         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
81089         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
81090         ../build-aux/.
81091
81092 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
81093
81094         * modules/chdir-long (Depends-on): Add mempcpy.
81095
81096         * modules/acl, modules/backupfile, modules/c-strtod,
81097         modules/c-strtold, modules/canon-host, modules/canonicalize,
81098         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
81099         modules/exclude, modules/exitfail, modules/file-type,
81100         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
81101         modules/getdate, modules/getline, modules/getpagesize,
81102         modules/getpass, modules/getugroups, modules/group-member,
81103         modules/hard-locale, modules/hash, modules/human, modules/idcache,
81104         modules/inttostr, modules/long-options, modules/makepath,
81105         modules/md5, modules/memcasecmp, modules/memcoll,
81106         modules/modechange, modules/mountlist, modules/path-concat,
81107         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
81108         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
81109         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
81110         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
81111         modules/strftime, modules/strndup, modules/strverscmp,
81112         modules/timespec, modules/unlocked-io, modules/userspec,
81113         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
81114         modules/yesno:
81115         Remove lib_SOURCES line from Makefile.am section, as this is now
81116         done automatically by the corresponding Autoconf macro.
81117
81118 2005-03-21  Jim Meyering  <jim@meyering.net>
81119
81120         Changes imported from coreutils.
81121
81122         * lib/cycle-check.c: Don't include xalloc.h.
81123
81124         * lib/path-concat.c: Don't include assert.h.
81125         (path_concat): Remove assertion that would have triggered
81126         for ABASE starting with more than one slash.
81127         Reported by Andreas Schwab.
81128
81129         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
81130         properly when ABASE is an absolute file name.
81131         Correct the description of this function.
81132         Include <assert.h>.
81133         Add an assertion and a test driver.
81134         This fixes a bug introduced on 2004-07-02.
81135         Andreas Schwab reported the resulting failure of cp --parents:
81136         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
81137
81138 2005-03-21  Jim Meyering  <jim@meyering.net>
81139
81140         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
81141         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
81142
81143 2005-03-21  Jim Meyering  <jim@meyering.net>
81144         and  Paul Eggert  <eggert@cs.ucla.edu>
81145
81146         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
81147         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
81148         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
81149         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
81150         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
81151         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
81152         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
81153         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
81154         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
81155         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
81156         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
81157         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
81158         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
81159         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
81160         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
81161         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
81162         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
81163         for these modules.
81164
81165 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
81166
81167         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
81168         (which shouldn't happen), generate nothing instead of returning 0
81169         immediately, so that nstrftime (NULL, ...) doesn't return 0.
81170
81171 2005-03-16  Bruno Haible  <bruno@clisp.org>
81172
81173         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
81174         HAVE_LONGLONG_64BIT.
81175
81176 2005-03-16  Bruno Haible  <bruno@clisp.org>
81177
81178         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
81179         HAVE_LONGLONG_64BIT.
81180
81181 2005-03-16  Bruno Haible  <bruno@clisp.org>
81182
81183         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
81184         HAVE_LONGLONG_64BIT.
81185
81186 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
81187
81188         * lib/strftime.c (my_strftime): Prepend space to format so that we can
81189         reliably distinguish strftime failure from empty output on POSIX
81190         hosts.
81191
81192 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
81193
81194         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
81195         (iconv_string): Don't guess a size-zero buffer, as that might cause
81196         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
81197         result would be 'too large', where 'too large' is (heuristically)
81198         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
81199         overflow concerns.  This will prevent some unwanted malloc failures
81200         when the inputs are very large.
81201
81202 2005-03-15  Karl Berry  <karl@gnu.org>
81203
81204         * config/srclist.txt (config.rpath): from gettext.
81205         * config/config.rpath: update.
81206
81207 2005-03-15  Bruno Haible  <bruno@clisp.org>
81208
81209         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
81210         to 'negate'.
81211
81212         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
81213         variable.
81214
81215         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
81216         results.
81217
81218 2005-03-14  Simon Josefsson  <jas@extundo.com>
81219
81220         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
81221         <fx@gnu.org>.
81222
81223 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
81224
81225         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
81226         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
81227         intprops.h.
81228         * lib/strtol.c: Likewise.
81229
81230 2005-03-14  Jim Meyering  <jim@meyering.net>
81231
81232         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
81233         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
81234         to be nonzero so that we (and caller) can detect the difference
81235         between a valid zero-length expansion and an error return, even
81236         when the underlying strftime fails before writing anything into
81237         that location.
81238
81239 2005-03-14  Bruno Haible  <bruno@clisp.org>
81240
81241         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
81242         Update from GNU gettext 0.14.3.
81243
81244 2005-03-10  Jim Meyering  <jim@meyering.net>
81245
81246         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
81247
81248 2005-03-10  Jim Meyering  <jim@meyering.net>
81249
81250         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
81251         so that this module works on systems without fchdir.
81252
81253 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
81254
81255         Factor int-properties macros into a single file, except for
81256         glibc-related files.
81257         * lib/intprops.h: New file.
81258         * lib/getloadavg.c: Include it instead of limits.h.
81259         (INT_STRLEN_BOUND): Remove.
81260         * lib/human.c: Include intprops.h.
81261         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
81262         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
81263         302/1000.
81264         * lib/inttostr.h: Include intprops.h instead of limits.h.
81265         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
81266         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
81267         for consistency with intprops.h.
81268         (time_t_is_integer, twos_complement_arithmetic): Use them.
81269         * lib/sig2str.h: Include <signal.h>, intprops.h.
81270         (INT_STRLEN_BOUND): Remove.
81271         * lib/strftime.c (TYPE_SIGNED): Remove.
81272         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
81273         * lib/strtol.c: Adjust comments to match intprops.h.
81274         * lib/userspec.c: Include intprops.h.
81275         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
81276         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
81277         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
81278         instead of rolling our own expressions.
81279         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
81280
81281         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
81282         instead of int.
81283         (my_strftime): Do not mishandle years close to INT_MAX, by doing
81284         the right thing even if adding 1900 would overflow.  Similarly
81285         for tm_mon + 1 and tm_yday + 1.
81286         Make %Y always equivalent to %C%y, and similarly for %G and %g.
81287         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
81288         (DO_SIGNED_NUMBER): New macro.
81289         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
81290
81291 2005-03-07  Bruno Haible  <bruno@clisp.org>
81292
81293         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
81294
81295 2005-03-07  Bruno Haible  <bruno@clisp.org>
81296
81297         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
81298
81299 2005-03-04  Derek R. Price  <derek@ximbiot.com>
81300
81301         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
81302         (func_import): Only replace files via --import when they have actually
81303         changed.
81304
81305 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81306
81307         * m4/mmap-anon.m4: New file.
81308         * m4/pagealign_alloc.m4: New file.
81309
81310 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81311             Bruno Haible  <bruno@clisp.org>
81312
81313         * modules/pagealign_alloc: New file.
81314         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
81315
81316 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81317             Bruno Haible  <bruno@clisp.org>
81318
81319         * lib/pagealign_alloc.h: New file.
81320         * lib/pagealign_alloc.c: New file.
81321
81322 2005-03-03  Bruno Haible  <bruno@clisp.org>
81323
81324         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
81325         Use an all-permissive copyright notice, recommended by RMS.
81326
81327 2005-03-02  Bruno Haible  <bruno@clisp.org>
81328
81329         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
81330         of AIX, the replacement has to be done only after <string.h> is
81331         included, therefore not in config.h. stpncpy.h does the replacement,
81332         and stpncpy.c uses it.
81333
81334 2005-03-02  Bruno Haible  <bruno@clisp.org>
81335
81336         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
81337         stpncpy.c uses it.
81338
81339 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81340
81341         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
81342         The workaround isn't strictly needed for POSIX conformance, and
81343         it's too much of a pain to configure and maintain.  We'll ask
81344         people to fix their kernels instead.
81345         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
81346         (NANOSLEEP_BUG_WORKAROUND): Remove.
81347         (xnanosleep): Remove the workaround.
81348
81349 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81350
81351         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
81352         Reported by Derek Price.
81353         (Include): Add "timespec.h".
81354
81355         * modules/xnanosleep (Depends-on): Remove gethrxtime.
81356
81357 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81358
81359         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
81360         to detect nanosleep bug.
81361
81362 2005-03-01  Bruno Haible  <bruno@clisp.org>
81363
81364         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
81365
81366 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
81367
81368         * modules/gethrxtime: New file.
81369         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
81370         (Depends-on): Add gethrxtime.
81371         (configure.ac): Add gl_XNANOSLEEP.
81372         (Makefile.am): Remove lib_SOURCES line.
81373
81374 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
81375
81376         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
81377         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
81378
81379 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
81380
81381         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
81382         * lib/timespec.h (gettime): Return void, since it always
81383         succeeds now.  All uses changed.
81384         * lib/gettime.c (gettime): Likewise.
81385         [HAVE_NANOTIME]: Prefer nanotime.
81386         Assume gettimeofday succeeds, as POSIX requires.
81387         Assime time () succeeds, since other code already does.
81388         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
81389         (timespec_subtract): Remove.
81390         (NANOSLEEP_BUG_WORKAROUND): New constant.
81391         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
81392         things considerably.  Use it only on GNU/Linux hosts, since the
81393         workaround shouldn't be needed elsewhere.
81394
81395 2005-02-24  Bruno Haible  <bruno@clisp.org>
81396
81397         * modules/gettext (Files): Add m4/glibc2.m4.
81398
81399 2005-02-24  Bruno Haible  <bruno@clisp.org>
81400
81401         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
81402         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
81403         * m4/progtest.m4:
81404         Update from GNU gettext 0.14.2.
81405         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
81406
81407 2005-02-24  Bruno Haible  <bruno@clisp.org>
81408
81409         * lib/localcharset.c: Update from GNU gettext 0.14.2.
81410         * lib/config.charset: Update from GNU gettext 0.14.2.
81411
81412 2005-02-24  Bruno Haible  <bruno@clisp.org>
81413
81414         * lib/gettext.h: Update from GNU gettext 0.14.2.
81415
81416 2005-02-23  Simon Josefsson  <jas@extundo.com>
81417
81418         * m4/iconvme.m4: New file.
81419
81420 2005-02-23  Jim Meyering  <jim@meyering.net>
81421
81422         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
81423         change.
81424         Thanks to Bruno Haible for catching it.
81425
81426 2005-02-22  Simon Josefsson  <jas@extundo.com>
81427
81428         * modules/iconvme: New file.
81429
81430         * MODULES.html.sh: Add iconvme.
81431
81432 2005-02-22  Simon Josefsson  <jas@extundo.com>
81433
81434         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
81435
81436 2005-02-22  Simon Josefsson  <jas@extundo.com>
81437
81438         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
81439
81440 2005-02-22  Jim Meyering  <jim@meyering.net>
81441
81442         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
81443         s/ifndef/ifdef/.
81444
81445 2005-02-20  Neil Conway  <neilc@samurai.com>
81446
81447         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
81448         returned by OSX/Darwin if the specified buffer is not large
81449         enough for the hostname.
81450
81451 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81452
81453         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
81454         pass it to _help, otherwise the latter coredumps trying to
81455         dereference state.root_argp.
81456
81457 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
81458
81459         * modules/chdir-long (Depends-on): Add memrchr.
81460         * modules/memrchr (Files): Add lib/memrchr.h.
81461         (Include): "memrchr.h".
81462
81463 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
81464
81465         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
81466
81467 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
81468
81469         * lib/memrchr.h: New file.
81470         * lib/chdir-long.c: Include it.
81471         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
81472         Don't bother including stddef.h.
81473
81474 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
81475
81476         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
81477         inclusion.
81478         Include <sys/types.h>, for dev_t.
81479         (ME_DUMMY, ME_REMOTE): Move from here....
81480         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
81481         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
81482         Dmitry V. Levin.
81483         Include mountlist.h first, to test the interface.
81484
81485 2005-01-29  Bruno Haible  <bruno@clisp.org>
81486
81487         * lib/progname.c (program_name): Initialize.
81488         Needed when linking statically on MacOS X.
81489
81490 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
81491
81492         Sync from coreutils.
81493         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
81494         (Depends-on): Add c-strtod.
81495         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
81496
81497 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
81498
81499         Sync from coreutils.
81500         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
81501
81502         Remove files that are specific to coreutils.
81503         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
81504
81505 2005-01-28  Bruno Haible  <bruno@clisp.org>
81506
81507         * modules/javacomp: New file.
81508         * MODULES.html.sh (Java): Add javacomp.
81509
81510 2005-01-28  Bruno Haible  <bruno@clisp.org>
81511
81512         * m4/javacomp.m4: New file, from GNU gettext.
81513
81514 2005-01-28  Bruno Haible  <bruno@clisp.org>
81515
81516         * lib/javacomp.sh.in: New file, from GNU gettext.
81517         * lib/javacomp.h: New file, from GNU gettext.
81518         * lib/javacomp.c: New file, from GNU gettext.
81519
81520 2005-01-26  Simon Josefsson  <jas@extundo.com>
81521
81522         * lib/gai_strerror.c: Use GPL in header.
81523
81524 2005-01-26  Bruno Haible  <bruno@clisp.org>
81525
81526         * modules/javaexec: New file.
81527         * MODULES.html.sh (Java): Add javaexec.
81528
81529 2005-01-26  Bruno Haible  <bruno@clisp.org>
81530
81531         * m4/javaexec.m4: New file, from GNU gettext.
81532
81533 2005-01-26  Bruno Haible  <bruno@clisp.org>
81534
81535         * lib/javaexec.sh.in: New file, from GNU gettext.
81536         * lib/javaexec.h: New file, from GNU gettext.
81537         * lib/javaexec.c: New file, from GNU gettext.
81538
81539 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81540
81541         * modules/lchown (Depends-on): Remove lchown.h
81542
81543 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81544
81545         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
81546         must be defined if the header file was not found, in order
81547         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
81548
81549 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81550
81551         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
81552         initializers for struct pentry_state.
81553         (__argp_error): Check return value of __asprintf
81554         (__argp_failure): Translate error message
81555
81556         * lib/argp-parse.c: Removed braces around the expansion of N_()
81557
81558 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
81559
81560         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
81561         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
81562         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
81563         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
81564         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
81565         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
81566         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
81567         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
81568         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
81569         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
81570         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
81571         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
81572         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
81573         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
81574         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
81575         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
81576         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
81577         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
81578         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
81579         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
81580         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
81581         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
81582         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
81583         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
81584         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
81585         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
81586         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
81587         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
81588         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
81589         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
81590         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
81591         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
81592         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
81593         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
81594         xstrtol.m4, xstrtoumax.m4, yesno.m4:
81595         Use an all-permissive copyright notice, recommended by RMS.
81596
81597 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
81598
81599         * modules/chdir-long (Depends-on): Remove mempcpy.
81600
81601 2005-01-21  Jim Meyering  <jim@meyering.net>
81602
81603         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
81604         same value as for Solaris 9.
81605
81606         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
81607         component length.  This included changing the parameter to be
81608         of type `char *' rather than `char const *'.
81609         * lib/chdir-long.h (chdir_long): Update prototype.
81610
81611         * lib/openat.c (fdopendir, fstatat): New functions.
81612         * lib/openat.h: Include headers required for use of DIR and struct
81613         stat.
81614         [AT_SYMLINK_NOFOLLOW]: Define.
81615         (fdopendir, fstatat): Add prototypes.
81616
81617 2005-01-21  Bruno Haible  <bruno@clisp.org>
81618
81619         * modules/classpath: New file.
81620         * MODULES.html.sh (Java): Add classpath.
81621
81622 2005-01-21  Bruno Haible  <bruno@clisp.org>
81623
81624         * lib/classpath.h: New file, from GNU gettext.
81625         * lib/classpath.c: New file, from GNU gettext.
81626
81627 2005-01-20  Simon Josefsson  <jas@extundo.com>
81628
81629         * modules/version-etc-fsf: New file.
81630
81631 2005-01-20  Simon Josefsson  <jas@extundo.com>
81632
81633         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
81634         * lib/version-etc.c: Remove version_etc_copyright.
81635         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
81636         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
81637
81638 2005-01-20  Simon Josefsson  <jas@extundo.com>
81639
81640         * lib/base64.h (isbase64): Add.
81641
81642         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
81643         using a unsigned prototype, don't inline.
81644         (base64_decode): Use it.
81645
81646 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81647
81648         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
81649         it.
81650
81651 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81652
81653         * lib/save-cwd.c (save_cwd): Remove code to support the case
81654         where fchdir is missing or flaky.
81655
81656 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81657
81658         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
81659
81660 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
81661
81662         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
81663         AC_LIBSOURCES now does this.
81664         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
81665         with new ullong_max module.
81666
81667 2005-01-19  Bruno Haible  <bruno@clisp.org>
81668
81669         * modules/sh-quote: New file.
81670         * MODULES.html.sh (Executing programs): Add sh-quote.
81671
81672 2005-01-19  Bruno Haible  <bruno@clisp.org>
81673
81674         * lib/sh-quote.h: New file, from GNU gettext.
81675         * lib/sh-quote.c: New file, from GNU gettext.
81676
81677 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81678
81679         Merge from coreutils.
81680         * m4/ullong_max.m4: New file.
81681         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
81682         (gl_MACROS): Assume localeconv exists.
81683
81684 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81685
81686         Merge changes from coreutils, as described below in several
81687         changelogs dated today.
81688
81689         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
81690         (O_DIRECTORY): Remove; not needed here, since "." must be
81691         a directory.  All uses removed.
81692         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
81693         universal on Suns, and we also need to test for IRIX.
81694         Revamp code to use 'if' rather than '#if'.
81695         Avoid unnecessary comparison of cwd->desc to 0.
81696
81697         * lib/utimens.c (futimens): Robustify the previous patch, by checking
81698         for known valid error numbers rather than observed invalid ones.
81699
81700 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81701
81702         * modules/ullong_max: New file.
81703
81704         * modules/chdir-long, modules/openat: New files.
81705         * modules/save-cwd (Depends-on): Depend on chdir-long.
81706         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
81707
81708 2005-01-18  Jim Meyering  <jim@meyering.net>
81709
81710         Merge from coreutils.
81711         * m4/chdir-long.m4, m4/openat.m4: New files.
81712         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
81713         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
81714         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
81715         is sane and DOES follow symlinks.  Besides, testing 20 different
81716         systems found no broken chown implementations.
81717         Prompted by a change in rsync's copy of this macro.
81718         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
81719
81720         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
81721
81722         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
81723         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
81724         NULL-means-set-to-current-time semantics.
81725         Remove temporary file immediately, rather than waiting
81726         for configure's at-exit trap code to do it.
81727
81728 2005-01-18  Jim Meyering  <jim@meyering.net>
81729
81730         * lib/version-etc.c (version_etc_copyright): Update copyright date.
81731
81732         * lib/utimens.c (futimens): Account for the fact that futimes
81733         can also fail with errno == ENOSYS or errno == ENOENT.
81734         Patch from Dmitry V. Levin.
81735
81736         Change the name of the robust chdir function from chdir to chdir_long.
81737         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
81738         (restore_cwd): Use chdir_long, not chdir.
81739         * lib/chdir-long.c: Renamed from chdir.c.
81740         * lib/chdir-long.h: Renamed from chdir.h.
81741         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
81742         Hurd.
81743
81744 2005-01-18  Bruno Haible  <bruno@clisp.org>
81745
81746         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
81747         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
81748         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
81749         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
81750         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
81751         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
81752         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
81753         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
81754         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
81755         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
81756         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
81757         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
81758         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
81759         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
81760         Use an all-permissive copyright notice, recommended by RMS.
81761
81762 2005-01-18  Bob Proulx  <bob@proulx.com>
81763
81764         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
81765         simplify offsetof() macro construct to avoid compile failure with
81766         native HP-UX 11.0 ANSI C compiler.
81767
81768 2005-01-17  Bruno Haible  <bruno@clisp.org>
81769
81770         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
81771         redundant because stpncpy.m4 takes care of it.
81772
81773 2005-01-17  Bruno Haible  <bruno@clisp.org>
81774
81775         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
81776
81777 2005-01-17  Bruno Haible  <bruno@clisp.org>
81778
81779         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
81780         used.
81781
81782 2005-01-17  Bruno Haible  <bruno@clisp.org>
81783
81784         * lib/fwriteerror.h (fwriteerror): Change specification to include
81785         fclose.
81786         * lib/fwriteerror.c: Include <stdbool.h>.
81787         (fwriteerror): At the end, close the file stream. Record whether
81788         stdout was already closed.
81789
81790 2005-01-17  Bruno Haible  <bruno@clisp.org>
81791
81792         * lib/execute.c (environ): Declare if needed.
81793         * lib/pipe.c (environ): Likewise.
81794         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
81795
81796 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81797
81798         * modules/argp: Depend on vsnprintf
81799
81800 2005-01-10  Jim Meyering  <jim@meyering.net>
81801
81802         * modules/closeout (Depends-on): Add atexit.
81803
81804 2005-01-06  Bruno Haible  <bruno@clisp.org>
81805
81806         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
81807
81808 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
81809
81810         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
81811         definitions to be after all include files, to avoid collisions.
81812         Problem reported by Bob Proulx.
81813
81814 2005-01-04  Jim Meyering  <jim@meyering.net>
81815
81816         Changes imported from coreutils.
81817         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
81818         as the mkstemp template, use a temporary directory and an
81819         8.3-friendly template to avoid trouble on systems like DJGPP.
81820         Reported by Juan M. Guerrero via Stepan Kasal.
81821         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
81822         close. Remove the temporary directory right away, rather than waiting
81823         for configure's at-exit trap code to do it.
81824         Suggestion from Stepan Kasal.
81825
81826 2005-01-01  Simon Josefsson  <jas@extundo.com>
81827
81828         * gnulib-tool: Print #include directives when --import'ing.
81829
81830 2004-12-28  Simon Josefsson  <jas@extundo.com>
81831
81832         * tests/test-base64.c: Include required header files.  Remove
81833         unused variables.
81834
81835 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
81836
81837         * modules/error (Depends-on): Remove gettext.
81838
81839 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
81840
81841         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
81842         not needed.  This removes a dependency on the gettext module.
81843         [defined _LIBC]: Do not include <libintl.h>; not needed.
81844
81845 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
81846
81847         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
81848         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
81849
81850 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
81851
81852         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
81853         HAVE_DECL_STRTOLD.
81854
81855 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
81856
81857         * modules/getdate (Depends-on): Remove alloca-opt.
81858
81859 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
81860
81861         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
81862
81863 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
81864
81865         * lib/argp-parse.c: Include <stddef.h>.
81866         (alignof, alignto): New macros.
81867         (parser_init): Don't assume that void * is aligned sufficiently
81868         for struct option.
81869
81870         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
81871         need to extend the stack.
81872         (YYINITDEPTH): New macro, so that the initial stack isn't overly
81873         large.
81874
81875 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81876
81877         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
81878
81879 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
81880
81881         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
81882         (2004-10-24) change.  Apparently this was a false alarm.
81883
81884         * modules/getdate: Depend on alloca-opt, not alloca.
81885
81886 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
81887
81888         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
81889         Remove now-obsolete comment about AIX.
81890         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
81891         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
81892         (YYMAXDEPTH): New macro.
81893
81894 2004-12-18  Simon Josefsson  <jas@extundo.com>
81895
81896         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
81897
81898 2004-12-18  Bruno Haible  <bruno@clisp.org>
81899
81900         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
81901
81902 2004-12-18  Bruno Haible  <bruno@clisp.org>
81903
81904         * lib/fatal-signal.c (fatal_signals): Make non-const.
81905         (init_fatal_signals): New function.
81906         (uninstall_handlers, install_handlers): Ignore signals that were set to
81907         SIG_IGN.
81908         (at_fatal_signal): Call init_fatal_signals.
81909         (init_fatal_signal_set): Likewise. Ignore signals that were set to
81910         SIG_IGN.
81911         Reported by Paul Eggert.
81912
81913 2004-12-18  Bruno Haible  <bruno@clisp.org>
81914
81915         * doc/alloca.texi: New file.
81916         * doc/alloca-opt.texi: New file.
81917
81918 2004-12-17  Jim Meyering  <jim@meyering.net>
81919
81920         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
81921         Otherwise, install-sh could exit with improper exit status when
81922         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
81923
81924 2004-12-16  Simon Josefsson  <jas@extundo.com>
81925
81926         * tests/test-base64.c: Add license.
81927
81928 2004-12-15  Stepan Kasal  <address@hidden>
81929
81930         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
81931
81932 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
81933
81934         * modules/getcwd (Files): Add m4/d-ino.m4.
81935         Suggested by Mark D. Baushke.
81936
81937 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
81938
81939         * lib/getdate.y (textint): New member "negative".
81940         (time_zone_hhmm): New function.
81941         Expect 14 shift-reduce conflicts, not 13.
81942         (o_colon_minutes): New rule.
81943         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
81944         (yylex): Set the "negative" member of signed numbers.
81945
81946 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
81947
81948         * doc/getdate.texi (Time of day items, Time zone items):
81949         Describe new formats +00:00, UTC+00:00.
81950
81951 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
81952
81953         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
81954         spurious "-l"s.  Problem reported by Stepan Kasal.
81955
81956 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
81957
81958         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
81959         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
81960
81961 2004-12-04  Simon Josefsson  <jas@extundo.com>
81962
81963         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
81964         Vandoorselaere <yoann@prelude-ids.org>.
81965
81966 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81967
81968         Changes imported from coreutils.
81969         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
81970         exist.
81971         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
81972
81973 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81974
81975         Changes imported from coreutils.
81976         * lib/hard-locale.c: Assume <locale.h> exists.
81977         Include "strdup.h".
81978         (GLIBC_VERSION): New macro.
81979         (hard_locale): Assume setlocale exists.
81980         Rewrite to avoid #ifdef.
81981         Use strdup rather than malloc + strcpy.
81982         * lib/human.c: Assume <locale.h> exists.
81983         (human_readable): Assume localeconv exists.
81984
81985 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81986
81987         * modules/hard-locale (Depends-on): Add strdup.
81988
81989 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
81990
81991         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
81992         convert T2, not T.  (Imported from libc.)
81993
81994 2004-11-30  Simon Josefsson  <jas@extundo.com>
81995
81996         * modules/restrict (License): Change to LGPL.
81997
81998 2004-11-30  Simon Josefsson  <jas@extundo.com>
81999
82000         * m4/restrict.m4: Add copyright and copying conditions.
82001
82002 2004-11-30  Simon Josefsson  <jas@extundo.com>
82003
82004         * m4/base64.m4: New file.
82005
82006 2004-11-30  Simon Josefsson  <jas@extundo.com>
82007
82008         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
82009         base64.
82010
82011         * tests/test-base64.c: New file.
82012
82013         * modules/base64: New file.
82014
82015 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
82016
82017         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
82018         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
82019
82020         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
82021
82022 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
82023
82024         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
82025         (__getcwd.c): Don't restore errno; glibc doesn't.
82026         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
82027         first, falling back to our code only if its results look suspicious.
82028         Ensure that the resulting buffer is only as large as necessary.
82029
82030         * lib/readutmp.c: Include readutmp.h first.
82031         Include <errno.h>, since readutmp.h no longer does that.
82032         * lib/readutmp.h: Don't include <errno.h>,
82033         <sys/param.h>, <time.h>; not needed to establish interface.
82034         (errno): Remove decl.
82035         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
82036         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
82037         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
82038
82039 2004-11-28  Simon Josefsson  <jas@extundo.com>
82040
82041         * lib/base64.h, base64.c: New file.
82042
82043 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
82044
82045         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
82046
82047 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
82048
82049         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
82050         (Depends-on): Remove pathmax, same.  Add mempcpy.
82051         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
82052         (Makefile.am): Append getcwd.h to lib_SOURCES.
82053         (Include): Add getcwd.h.
82054         (Maintainer): Change from Jim Meyering to "all, glibc",
82055         since getdate now uses intended-for-glibc code.
82056         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
82057         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
82058
82059 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82060
82061         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
82062         HP's ANSI C compiler.
82063         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
82064         Declaring int functions causes warnings on some modern systems and
82065         shouldn't be needed to compile on ancient ones.
82066         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
82067         defined.
82068
82069         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
82070         with the following changes.
82071         (__set_errno): Parenthesize properly.
82072         Include <stdbool.h>.
82073         (MIN, MAX, MATCHING_INO): New macros.
82074         (__getcwd): Define with prototype, not K&R form.
82075         Use heuristics to allocate default buffer on stack if possible.
82076         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
82077         behavior, and to avoid the PATH_MAX limit when computing
82078         ../../../../...
82079         Use MATCHING_INO to compare inode number to file.
82080         Check for arithmetic overflow in size calculations.
82081         Fix bug in reallocation of dot array that caused getcwd to fail
82082         on directories nested deeper than 75.
82083         Be more careful about saving errno on error.
82084         Do not use realloc; use only free+malloc, as this is a bit
82085         more flexible and avoids a needless copy operation.
82086         Do not inspect st_dev and st_ino for symbolic links; POSIX
82087         doesn't specify the latter.
82088         Check for closedir errors.
82089         Avoid needless casts.
82090         Use "#ifdef weak_alias" around weak_alias, to be like other
82091         glibc code.
82092         The following changes to getcwd.c have effect only when used in
82093         gnulib; they have no effect inside glibc proper.
82094         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
82095         as alloca isn't used.
82096         (alloca, __alloca): Likewise.
82097         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
82098         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
82099         unconditionally, as gnulib assumes C89 or better.
82100         Do not include <sys/param.h>.
82101         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
82102         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
82103         better.
82104         (NULL) [!defined NULL]: Remove; we assume C89 or better.
82105         Include <dirent.h> in a way that is compatible with modern Autoconf.
82106         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
82107         New macros, if not already defined.
82108         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
82109         Use "_LIBC", not "defined _LIBC", for consistency.
82110         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
82111         a mempcpy module.
82112         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
82113         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
82114         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
82115         credit only to Jim Meyering and adjust the copyright dates.
82116         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
82117         <stdlib.h>, <unistd.h>, "pathmax.h".
82118         Instead, include "xgetcwd.h" (first) and "getcwd.h".
82119         (INITIAL_BUFFER_SIZE): Remove.
82120         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
82121
82122 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82123
82124         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
82125         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
82126         Use the _ONCE methods, for efficiency.
82127         Check for fcntl.h.  In test program, include <errno.h>
82128         and <fcntl.h> if available.  Remove old K&R cruft from
82129         test program.  Check for common errors in GNU/Linux,
82130         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
82131         don't do AC_LIBOBJ, as that's getcwd.m4's job.
82132         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
82133         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
82134         name accordingly.
82135         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
82136         accommodate new getcwd.c.
82137         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
82138         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
82139         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
82140         that's all we need now.
82141
82142 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82143
82144         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
82145         argp-parse.c depends on getopt internals, that means we should
82146         always use our getopt, to be on the safe side.
82147         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
82148         order not to spoil the result of an eventual previous invocation
82149         of gl_GETOPT_SUBSTITUTE.
82150
82151 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82152
82153         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
82154         redefinition warnings. To avoid them, include the defines
82155         in `#if !defined __need_getopt ... #endif'. The only place
82156         where __getopt_argv_const is used is in definitions
82157         of getopt_long and getopt_long_only below, which are as well
82158         protected by `#ifndef __need_getopt'.
82159         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
82160         __need_getopt after including <stdio.h> and <unistd.h> These
82161         headers might have defined it.
82162
82163 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
82164
82165         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
82166
82167 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
82168
82169         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
82170         (futimens): New function, which uses futimes if available.
82171         (futimens, utimens): Support timespec==NULL, with same semantics
82172         as utime and utimens.
82173         * lib/utimens.h (futimens): New decl.
82174
82175 2004-11-23  Jim Meyering  <jim@meyering.net>
82176
82177         * lib/getopt_.h: Remove trailing blanks.
82178
82179 2004-11-23  Jim Meyering  <jim@meyering.net>
82180
82181         * lib/__fpending.c: Add comment.
82182
82183 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
82184
82185         * modules/canonicalize (Depends-on): Add xreadlink.
82186         Problem reported by James Youngman.
82187
82188 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
82189
82190         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
82191         New macros.
82192         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
82193         optopt): Use them instead of invoking ## directly; otherwise, the
82194         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
82195
82196 2004-11-19  Bruno Haible  <bruno@clisp.org>
82197
82198         * lib/strtok_r.c: Move comments from here...
82199         * lib/strtok_r.h: ... to here.
82200
82201 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
82202
82203         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
82204         implementations that mishandle size_t overflow.
82205
82206 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
82207
82208         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
82209         might fail.  Problem reported by Yoann Vandoorselaere.
82210         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
82211         implementations that mishandle size_t overflow.
82212
82213 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82214
82215         * modules/canon-host (Depends-on): Add strdup.
82216
82217 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82218
82219         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
82220
82221 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82222
82223         * lib/canon-host.c: Include "strdup.h".
82224         (canon_host): Use getaddrinfo if available, so that IPv6 works.
82225         Use strdup instead of malloc/strcpy to duplicate strings.
82226
82227         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
82228         (human_space_before_unit): New constant.
82229         * lib/human.c (human_readable): Support it.
82230
82231         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
82232         (xgetcwd): Set errno correctly when failing.
82233         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
82234         the failure is actually due to a PATH_MAX problem.
82235
82236         Further getopt changes to make it more likely that glibc will
82237         buy the changes back.
82238         * lib/getopt.c (POSIXLY_CORRECT): New constant.
82239         (getopt): Use it, so to preserve glibc semantic
82240         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
82241         when compiling for libc.
82242         * lib/getopt_.h (__getopt_argv_const): Bring it back.
82243         (getopt_long, getopt_long_only): Use it.
82244
82245         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
82246         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
82247         (getopt): Argv is now char * const *, as per standard.
82248         (_getopt_internal_r, _getopt_internal): Argv is now char **,
82249         not char *__getopt_argv_const *.
82250         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
82251         _getopt_long_only_r): Likewise.
82252         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
82253         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
82254         _getopt_long_r, _getopt_long_only_r): Likewise.
82255         * lib/getopt_.h (__getopt_argv_const): Remove.
82256         (getopt): Argv is now char * const *, as per standard.
82257
82258         * lib/getdate.y (tORDINAL): New token.
82259         (day, relunit): Allow it for relative times.
82260         (relative_time_table): Use tORDINAL for ordinals.
82261
82262 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82263
82264         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
82265         Document that "second" isn't allowed as an ordinal number.
82266
82267 2004-11-16  Jim Meyering  <jim@meyering.net>
82268
82269         * modules/closeout (Depends-on): Add fpending.
82270
82271 2004-11-15  Jim Meyering  <jim@meyering.net>
82272
82273         * lib/closeout.c: Include "__fpending.h" once again.
82274         Include <stdbool.h>.
82275         (close_stdout): Don't fail just because stdout was closed initially,
82276         since some programs don't write to stdout in the normal course of
82277         operation (other than --version and --help), and we don't want this
82278         function to make e.g. `touch file >&-' fail.
82279         But do fail if it was closed and someone has tried to write to it.
82280         E.g., `printf foo >&-' must fail.
82281
82282 2004-11-13  Jim Meyering  <jim@meyering.net>
82283
82284         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
82285
82286 2004-11-12  Simon Josefsson  <jas@extundo.com>
82287
82288         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
82289         small doc fix is still pending.
82290
82291 2004-11-11  Simon Josefsson  <jas@extundo.com>
82292
82293         * modules/strtok_r: New file.
82294
82295         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82296         strtok_r.
82297
82298 2004-11-11  Simon Josefsson  <jas@extundo.com>
82299
82300         * m4/strtok_r.m4: New file.
82301
82302         * m4/getopt.m4: Replace opterr.
82303
82304 2004-11-11  Simon Josefsson  <jas@extundo.com>
82305
82306         * lib/strtok_r.h, strtok_r.c: New file.
82307
82308 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
82309
82310         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
82311         of replacing opterr, getopt, etc.  This should handle the
82312         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
82313
82314 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
82315
82316         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
82317         we can stop lying to compilers about the constness of argv when we
82318         are compiled outside glibc.
82319         (getopt, getopt_long, getopt_long_only): Use it.
82320         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
82321         _getopt_internal, getopt): Likewise.
82322         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
82323         _getopt_long_only_r): Likewise.
82324         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
82325         _getopt_long_r, _getopt_long_only_r): Likewise.
82326
82327         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
82328         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
82329         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
82330         the other external symbols.
82331         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
82332         declaration, since the above renaming now works around collisions.
82333
82334 2004-11-11  Jim Meyering  <jim@meyering.net>
82335
82336         * lib/linebreak.c: Remove trailing blanks.
82337         * lib/alloca_.h: Likewise.
82338         * lib/acosl.c: Likewise.
82339         * lib/euidaccess.c: Likewise.
82340         * lib/allocsa.h: Likewise.
82341
82342 2004-11-10  Simon Josefsson  <jas@extundo.com>
82343
82344         * m4/getaddrinfo.m4: New file.
82345
82346 2004-11-10  Simon Josefsson  <jas@extundo.com>
82347
82348         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
82349
82350 2004-11-10  Simon Josefsson  <jas@extundo.com>
82351
82352         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82353         getaddrinfo.
82354
82355         * modules/getaddrinfo: New file.
82356
82357 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82358
82359         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
82360
82361 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82362
82363         * lib/mktime.c (SHR): New macro, which is a portable
82364         substitute for >> that should work even on Crays.
82365         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
82366         Problem reported by Mark D. Baushke in
82367         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
82368         * lib/getdate.y (SHR): Likewise.
82369         (tm_diff): Use it.
82370         * lib/strftime.c (SHR): Likewise.
82371         (tm_diff): Use it.
82372         * lib/quotearg.c (struct quoting_options): Use unsigned int for
82373         quote_these_too, so that right shifts are well defined.  All uses
82374         changed.
82375
82376 2004-11-10  Jim Meyering  <jim@meyering.net>
82377
82378         Ensure that no close failure goes unreported.
82379         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
82380         return early when it seems there's nothing to flush.
82381         Don't include __fpending.h.
82382
82383 2004-11-10  Jim Meyering  <jim@meyering.net>
82384
82385         * modules/closeout (Depends-on): Remove fpending.
82386
82387 2004-11-10  Jim Meyering  <jim@meyering.net>
82388
82389         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
82390
82391 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
82392
82393         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
82394         gl_FUNC_STRFTIME.
82395         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
82396         and AC_REQUIRE when possible, to avoid duplicate checks.
82397         Check for <wchar.h>.
82398
82399 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
82400
82401         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
82402
82403 2004-11-09  Bruno Haible  <bruno@clisp.org>
82404
82405         * m4/sockpfaf.m4: New file.
82406
82407 2004-11-05  Bruno Haible  <bruno@clisp.org>
82408
82409         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
82410         Reported by Mark D. Baushke <mdb@cvshome.org>.
82411
82412 2004-11-04  Bruno Haible  <bruno@clisp.org>
82413
82414         2004-09-11  Bruno Haible  <bruno@clisp.org>
82415                 * allocsa.valgrind: New file.
82416         2004-02-06  Bruno Haible  <bruno@clisp.org>
82417                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
82418                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
82419                 Reported by Christopher Seip <chris.seip@hp.com>.
82420
82421 2004-11-04  Bruno Haible  <bruno@clisp.org>
82422
82423         * modules/allocsa (Files): Add lib/allocsa.valgrind.
82424         (Makefile.am): Distribute it.
82425
82426 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
82427
82428         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
82429         with errno == ERANGE if the buffer is too small.
82430         Problem reported by Mark D. Baushke.
82431
82432 2004-11-03  Albert Chin  <china@thewrittenword.com>
82433             Paul Eggert  <eggert@cs.ucla.edu>
82434
82435         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
82436         equivalent, substitute $ac_type for equivalent type rather than
82437         blindly using uint32_t *always* which won't work if uint32_t is not
82438         available.  Define _UINT32_T to work around typedef of uint32_t if
82439         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
82440         2.5.1.
82441
82442 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
82443
82444         * m4/jm-macros.m4: Sync from coreutils.
82445         (gl_MACROS): Check for mbrlen, for pathchk.
82446         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
82447
82448 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
82449
82450         * lib/xreadlink.c (MAXSIZE): New macro.
82451         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
82452         size does not exceed MAXSIZE.  Avoid cast.
82453         As suggested by Mark D. Baushke in
82454         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
82455         if readlink fails with buffer size just under MAXSIZE, try again
82456         with MAXSIZE.
82457
82458 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
82459
82460         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
82461
82462 2004-11-02  Derek R. Price  <derek@ximbiot.com>
82463         and  Paul Eggert  <eggert@cs.ucla.edu>
82464
82465         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
82466         (get_date): Overparenthesize to avoid GCC warning.
82467
82468 2004-11-02  Bruno Haible  <bruno@clisp.org>
82469
82470         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
82471         returns void.
82472
82473 2004-11-02  Bruno Haible  <bruno@clisp.org>
82474
82475         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
82476         function returns void.
82477
82478 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
82479
82480         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
82481         fflush_unlocked, flockfile, funlockfile, funlockfile,
82482         fputs_unlocked, putc_unlocked.
82483
82484 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
82485
82486         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
82487         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
82488         already declared.
82489
82490 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
82491
82492         * modules/getdate (Files): Add doc/getdate.texi.
82493         (Depends-on): Add setenv, xalloc.
82494
82495 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
82496
82497         * lib/getdate.y: Add support for TZ="foo" within a date string.
82498         Fix some bugs near time_t boundaries.  Reject dates with
82499         out-of-range components, e.g., "Sept 31".
82500         Include <stdlib.h>, "setenv.h", "xalloc.h".
82501         (ISDIGIT_LOCALE): Remove; unused.
82502         Note that the TZ and time functions used here are not reentrant.
82503         (mktime_ok, get_tz): New functions.
82504         (TZBUFSIZE): New constant.
82505         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
82506         This requires that we sometimes generate our own TZ="XXX..." setting.
82507
82508 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
82509
82510         * doc/getdate.texi: New file, from coreutils with modifications for
82511         the new TZ parsing.
82512
82513 2004-10-27  Derek R. Price  <derek@ximbiot.com>
82514
82515         * lib/mktime.c (not_equal_tm): Remove redundant check.
82516
82517 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
82518
82519         * modules/regex (lib_SOURCES): Add regex.c.
82520         Reported by James Youngman in
82521         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
82522
82523 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
82524
82525         * lib/getdate.y: Use Bison 1.875 features, and some minor
82526         code cleanups.  This change does not affect semantics.
82527         Don't include <stdlib.h>; no longer needed.
82528         Don't include unlocked-io.h; only the "#if TEST" code uses
82529         stdio, and performance isn't crucial there.
82530         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
82531         Bison 1.875 features as described below.
82532         All uses of "PC." replaced by "pc->".
82533         (YYSTYPE): Add a forward declaration.
82534         (yylex, yyerror): Use full prototypes in forward decls.
82535         Use "%pure-parser" rather than obsolescent "%pure_parser".
82536         Use %parse-param and %lex-param instead of obsolescent
82537         YYPARSE_PARAM and YYLEX_PARAM.
82538         (meridian_table, month_and_day_table, time_units_table,
82539         relative_time_table, time_zone_table, military_table,
82540         lookup_zone, lookup_word, get_date):
82541         Use NULL instead of 0 where appropriate.
82542         (to_hour): Avoid abort (), to avoid a dependency on
82543         stdlib.h.
82544         (yyerror, yylex): Now accepts parser_control * arg.
82545         (main) [TEST]: Use '\0' rather than 0 for char.
82546
82547 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
82548
82549         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
82550
82551 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
82552
82553         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
82554         It's now the caller's responsibility to handle the case where
82555         !HAVE_GETPAGESIZE && !defined getpagesize.
82556
82557         * lib/mktime.c (leapyear): Arg is long int, not int.
82558
82559 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
82560
82561         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
82562
82563 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
82564
82565         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
82566         missing.  Problem reported by James Youngman.
82567
82568 2004-10-16  Simon Josefsson  <jas@extundo.com>
82569
82570         * gnulib-tool: Fix comments.  Fix parse problem.
82571         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
82572
82573 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
82574
82575         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
82576         implementation of getopt_long.  Problem reported by Alexander Taler in:
82577         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
82578
82579 2004-10-15  Bruno Haible  <bruno@clisp.org>
82580
82581         * gnulib-tool: Untabify. Initialize supplied_libname.
82582         (func_usage): More homogenous output.
82583         (func_modules_transitive_closure, func_modules_to_filelist,
82584         func_emit_lib_Makefile_am): New functions.
82585         (func_import): New function, extracted from big case statement. Use
82586         func_get_license, func_modules_transitive_closure,
82587         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
82588         opt_lgpl. Don't use test -a, as it's not portable.
82589         (func_create_testdir): Use func_modules_transitive_closure,
82590         func_modules_to_filelist, func_emit_lib_Makefile_am.
82591
82592 2004-10-15  Bruno Haible  <bruno@clisp.org>
82593
82594         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
82595
82596 2004-10-15  Bruno Haible  <bruno@clisp.org>
82597
82598         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
82599         the portions belonging to each module.
82600         Suggested by Derek Robert Price <derek@ximbiot.com>.
82601
82602 2004-10-12  Simon Josefsson  <jas@extundo.com>
82603
82604         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
82605         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
82606         to real functions.
82607
82608 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82609
82610         * modules/vsnprintf: New file.
82611
82612 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82613
82614         * m4/vsnprintf.m4: New file.
82615
82616 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82617
82618         * lib/vsnprintf.h: New file.
82619         * lib/vsnprintf.c: New file.
82620
82621 2004-10-11  Bruno Haible  <bruno@clisp.org>
82622
82623         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
82624         vsnprintf.
82625
82626 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
82627
82628         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
82629
82630 2004-10-07  Bruno Haible  <bruno@clisp.org>
82631
82632         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
82633         fits into the provided buffer.
82634
82635 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
82636
82637         * lib/diacrit.c, diacrit.h: Add GPL notice.
82638
82639         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
82640         notice.
82641         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
82642         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
82643         This avoids a potential constant-folding bug.
82644
82645 2004-10-05  Bruno Haible  <bruno@clisp.org>
82646
82647         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
82648         for the declaration of strsep.
82649
82650 2004-10-05  Bruno Haible  <bruno@clisp.org>
82651
82652         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
82653
82654 2004-10-04  Simon Josefsson  <jas@extundo.com>
82655
82656         * modules/memmem: New file.
82657         * tests/test-memmem.c: New file.
82658         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
82659
82660 2004-10-04  Simon Josefsson  <jas@extundo.com>
82661
82662         * m4/memmem.m4: New file.
82663
82664 2004-10-04  Simon Josefsson  <jas@extundo.com>
82665
82666         * lib/memmem.h: New file.
82667         * lib/memmem.c: New file, taken from glibc.
82668
82669 2004-10-04  Simon Josefsson  <jas@extundo.com>
82670
82671         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
82672         '#ifdef USE_UNLOCKED_IO'.
82673
82674 2004-10-04  Simon Josefsson  <jas@extundo.com>
82675
82676         * config/srclist.txt: Add memmem from glibc.
82677
82678 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82679
82680         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
82681
82682         * modules/argmatch, modules/argp, modules/closeout, modules/error,
82683         modules/exclude, modules/getdate, modules/getline,
82684         modules/getndelim2, modules/getpass, modules/getpass-gnu,
82685         modules/getusershell, modules/linebuffer, modules/md5,
82686         modules/mountlist, modules/posixtm, modules/readtokens,
82687         modules/readutmp, modules/regex, modules/sha1,
82688         modules/version-etc, modules/yesno:
82689         Remove dependency on unlocked-io.
82690
82691 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82692
82693         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
82694
82695         * m4/unlocked-io.m4: Add copyright notice.
82696         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
82697
82698 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82699
82700         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
82701         * lib/xmalloc.c (xmemdup): Likewise.
82702         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
82703         XFREE): Remove these long-obsolescent macros.
82704         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
82705         * lib/xstrdup.c: Remove.
82706
82707         * lib/regex.c (re_comp): Cast gettext return value to char *,
82708         Problem reported by Martin Neitzel via Mark D. Baushke.
82709
82710 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82711
82712         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
82713         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
82714         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
82715         regex.c, sha1.c, version-etc.c, yesno.c:
82716         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
82717         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
82718         the includer's responsibility.
82719
82720         Sync from coreutils.
82721
82722         * lib/modechange.c (mode_compile): Don't decrement a pointer that
82723         points to the start of a string, as the C Standard says the
82724         resulting behavior is undefined.
82725
82726         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
82727         simple -> simple_backups, numbered_existing ->
82728         numbered_existing_backups, numbered -> numbered_backups
82729         to avoid shadowing problems.  All uses changed.
82730         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
82731         * lib/backupfile.c (check_extension, numbered_backup):
82732         Rename locals to avoid shadowing 'basename'.
82733         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
82734         once.
82735
82736         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
82737         * lib/.cvsignore: Add getopt.h.
82738
82739 2004-10-04  Bruno Haible  <bruno@clisp.org>
82740
82741         * modules/README: New file.
82742         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
82743         not a module.
82744
82745 2004-10-02  Jim Meyering  <jim@meyering.net>
82746
82747         * lib/dirfd.h, getpagesize.h: Add copyright notice.
82748
82749 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82750
82751         * modules/strsep: New file.
82752
82753 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82754
82755         * m4/strsep.m4: New file.
82756
82757 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82758
82759         * lib/strsep.h: New file.
82760         * lib/strsep.c: New file.
82761
82762 2004-10-01  Simon Josefsson  <jas@extundo.com>
82763
82764         * lib/snprintf.c (snprintf): Handle size==0.
82765
82766 2004-10-01  Simon Josefsson  <jas@extundo.com>
82767             Bruno Haible  <bruno@clisp.org>
82768
82769         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
82770         (snprintf): Declare 'args'.
82771
82772 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
82773
82774         * lib/snprintf.c: Remove comments as to why each header is needed.
82775
82776 2004-10-01  Bruno Haible  <bruno@clisp.org>
82777
82778         * MODULES.html.sh: Add strsep.
82779
82780 2004-09-30  Simon Josefsson  <jas@extundo.com>
82781
82782         * modules/snprintf: New file.
82783
82784 2004-09-30  Simon Josefsson  <jas@extundo.com>
82785
82786         * m4/snprintf.m4: New file.
82787
82788 2004-09-30  Simon Josefsson  <jas@extundo.com>
82789
82790         * lib/snprintf.h, lib/snprintf.c: New files.
82791
82792 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82793
82794         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
82795         (hol_entry_help): Never translate an empty string.
82796         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
82797         * lib/argp.h (OPTION_NO_TRANS): New option.
82798
82799 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82800
82801         * modules/argp (Maintainer): Replace Simon Josefsson
82802         by Sergey Poznyakoff.
82803
82804 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82805
82806         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
82807         changes merged back into glibc.
82808
82809 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82810
82811         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
82812
82813 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
82814
82815         * lib/xvasprintf.c: Include xalloc.h.
82816         (xvasprintf): Use xalloc_die, not xmalloc_die.
82817
82818 2004-09-29  Bruno Haible  <bruno@clisp.org>
82819
82820         * modules/alloca-opt: New file, derived from modules/alloca.
82821         * modules/allocsa: Depend on alloca-opt instead of alloca.
82822         * modules/setenv: Likewise.
82823         * modules/vasnprintf: Likewise.
82824         * MODULES.html.sh: Add alloca-opt.
82825
82826 2004-09-28  Simon Josefsson  <jas@extundo.com>
82827
82828         * gnulib-tool: New parameter --lgpl, to asseert that modules are
82829         LGPL, and to replace license template from GPL to LGPL.
82830
82831 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
82832
82833         * modules/dummy: Change license to LGPL.
82834
82835 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
82836
82837         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
82838
82839 2004-09-24  Simon Josefsson  <jas@extundo.com>
82840
82841         * modules/minmax (License): Change from GPL to LGPL.
82842
82843 2004-09-23  Simon Josefsson  <jas@extundo.com>
82844
82845         * gnulib-tool (--import): Typo.
82846
82847 2004-09-23  Simon Josefsson  <jas@extundo.com>
82848
82849         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
82850
82851 2004-09-22  Bruno Haible  <bruno@clisp.org>
82852
82853         * modules/*: Add 'License' field.
82854         * gnulib-tool: Accept --extract-license option.
82855         (func_get_license): New function.
82856
82857 2004-09-21  Bruno Haible  <bruno@clisp.org>
82858
82859         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
82860         Reported by Simon Josefsson.
82861
82862 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
82863
82864         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
82865         gl_AC_TYPE_LONG_LONG.
82866
82867 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
82868
82869         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
82870
82871 2004-09-18  Simon Josefsson  <jas@extundo.com>
82872         and  Paul Eggert  <eggert@cs.ucla.edu>
82873
82874         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
82875         calls with autoreconf.  Define GL_LIB.
82876
82877 2004-09-14  Karl Berry  <karl@gnu.org>
82878
82879         * config/srclist.txt: unsync setenv.c, sigh.
82880
82881 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
82882
82883         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
82884         Problem reported by Bruno Haible in:
82885         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
82886
82887 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
82888
82889         * config/srclist.txt: Comment out argp-pvh.c.
82890
82891 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
82892
82893         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
82894         in case some system header has #define'd it.  Problem reported by
82895         Soeren D. Schulze in
82896         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
82897
82898 2004-09-09  Karl Berry  <karl@gnu.org>
82899
82900         * regex.[ch]: delete from the root.  These were supposed to be
82901                 synced with emacs cvs, but this has not happened for about
82902                 a year, and anyway nothing else uses emacs regex.[ch].
82903                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
82904                 lib/regex[.ch] is untouched.
82905
82906 2004-09-09  Bruno Haible  <bruno@clisp.org>
82907
82908         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
82909
82910 2004-09-09  Bruno Haible  <bruno@clisp.org>
82911
82912         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
82913         modifications.
82914         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
82915
82916 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
82917
82918         * modules/xvasprintf: New file.
82919         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
82920
82921 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
82922
82923         * lib/xvasprintf.h: New file.
82924         * lib/xvasprintf.c: New file.
82925         * lib/xasprintf.c: New file.
82926
82927 2004-09-08  Bruno Haible  <bruno@clisp.org>
82928
82929         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
82930
82931 2004-09-08  Bruno Haible  <bruno@clisp.org>
82932
82933         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
82934         length is > INT_MAX.
82935         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
82936         more.
82937
82938 2004-09-08  Bruno Haible  <bruno@clisp.org>
82939
82940         * lib/stdint_.h: New file, taken from GNU clisp.
82941
82942 2004-09-08  Bruno Haible  <bruno@clisp.org>
82943             Oskar Liljeblad  <oskar@osk.mine.nu>
82944
82945         * modules/stdint: New file.
82946         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
82947
82948 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82949
82950         Import from coreutils.
82951         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
82952         strings on unbounded length.  alloca's performance benefits aren't
82953         that important here.
82954         (V_STRDUP): Remove.
82955         (parse_with_separator): New function, with most of the internals
82956         of the old parse_user_spec.  Allow user to omit both user and group,
82957         for compatibility with FreeBSD.
82958         Clone only the user name, not the entire spec.
82959         Do not set *uid, *gid unless entirely successful.
82960         Avoid memory leak in some failing cases.
82961         Fix regression for USER.GROUP reported by Dmitry V. Levin in
82962         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
82963         (parse_user_spec): Rewrite to use parse_with_separator.
82964
82965 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82966
82967         * modules/userspec: Don't depend on alloca.
82968
82969 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82970
82971         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
82972
82973 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
82974
82975         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
82976         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
82977         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
82978
82979 2004-08-16  Simon Josefsson  <jas@extundo.com>
82980
82981         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
82982         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
82983         Add --dry-run for --import.
82984         Let user provided command line parameters override configure.ac
82985         settings.
82986
82987 2004-08-12  Simon Josefsson  <jas@extundo.com>
82988
82989         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
82990         as discussed with Paul Eggert in threads rooted at
82991         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
82992         and
82993         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
82994         Before, the test was empty, and relied on ELIDE_CODE in source
82995         code.)
82996         (gl_PREREQ_GETOPT): New macro.
82997         (gl_GETOPT): Use them.
82998
82999 2004-08-12  Simon Josefsson  <jas@extundo.com>
83000
83001         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
83002         * lib/getopt_.h: Renamed from getopt.h.
83003
83004 2004-08-12  Simon Josefsson  <jas@extundo.com>
83005
83006         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
83007         Change default library name from libfoo to libgnu.
83008         Now, if you have a configure.ac that says:
83009                 gl_SOURCE_BASE(gl)
83010                 gl_M4_BASE(gl/m4)
83011                 gl_MODULES(error getopt etcetera)
83012                 gl_INIT
83013         you can import all you need by running:
83014                 ../gnulib/gnulib-tool --import
83015
83016         * modules/getopt (Files): Rename getopt.h to getopt_.h.
83017         (Makefile.am): Rewrite, use logic from argz.
83018         (Include): Use <getopt.h> instead of "getopt.h".
83019
83020 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83021
83022         * modules/argp (Files): Add m4/unlocked-io.m4.
83023         (Depends-on): Add extensions.
83024
83025 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83026
83027         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
83028         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
83029         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
83030         Check for program_invocation_name, program_invocation_short_name,
83031         flockfile, funlockfile, features.h, _getopt_long_only_r.
83032
83033 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83034
83035         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
83036         its complicated substitute.
83037         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
83038         and program_invocation_name.
83039         (__argp_basename) [!_LIBC]: Remove; the only use was
83040         replaced by its body.
83041         (__argp_short_program_name): Change condition from
83042         !defined __argp_short_program_name to
83043         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
83044         to match argp-namefrob.h.
83045         (__argp_failure): Don't assume strerror_r returns char *.
83046         * lib/argp-parse.c (N_): Define unconditionally.
83047         (argp_default_options): Fill out initializers with 0 to avoid
83048         gcc warnings.
83049
83050 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83051
83052         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
83053         getopt1.c.
83054
83055 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83056
83057         Merge from coreutils.
83058
83059         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
83060
83061         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
83062         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
83063
83064 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83065
83066         Merge from coreutils.
83067
83068         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
83069         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
83070         for Reliant Unix 5.43.
83071
83072         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
83073         (union fooround): Use uintmax_t, not long int.
83074         The rest is a merge from libc:
83075         [defined _LIBC]: Include <shlib-compat.h>.
83076         (_obstack) [defined _LIBC]: Remove after 2.3.4.
83077
83078         * lib/settime.c (settime): Recode to avoid warning with
83079         Sun Forte C 6U2.
83080
83081         * lib/strverscmp.c: Convert to UTF-8.
83082
83083 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83084
83085         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
83086         m4/uintmax_t.m4.
83087
83088 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83089
83090         * modules/xalloc-die: New file.
83091         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
83092
83093         * modules/md5 (Files): Add m4/uint32_t.m4.
83094         * modules/sha1: Renamed from modules/sha.
83095         (Files):
83096         Rename lib/sha.h to lib/sha1.h.
83097         Rename lib/sha.c to lib/sha1.c.
83098         Rename m4/sha.m4 to m4/sha1.m4.
83099         (lib_SOURCES): Likewise.
83100         (configure.ac): Rename gl_SHA to gl_SHA1.
83101         (Include): sha.h -> sha1.h.
83102
83103 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83104
83105         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
83106         * m4/sha1.m4: Renamed from sha.m4.
83107         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
83108
83109 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83110
83111         * lib/obstack.h (obstack_empty_p):
83112         Don't assume that chunk->contents is suitably aligned.
83113         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
83114         Likewise. Problem reported by Benno in
83115         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
83116
83117         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
83118         readable.  This could be improved further but it'd take some work.
83119
83120 2004-08-08  Simon Josefsson  <jas@extundo.com>
83121
83122         * modules/xgethostname (Depends-on): Remove exit and error (not
83123         used).
83124
83125         * modules/getpass-gnu: Add getpass.h.
83126         (Depends-on): Add stdbool.
83127         * modules/getpass: Add getpass.h.
83128
83129 2004-08-08  Simon Josefsson  <jas@extundo.com>
83130
83131         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
83132         Check getpass declaration.
83133
83134 2004-08-08  Simon Josefsson  <jas@extundo.com>
83135
83136         * lib/xgethostname.c: Don't include error.h (not used).
83137
83138         * lib/getpass.h: Add.
83139         * lib/getpass.c: Include getpass.h first.
83140
83141 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
83142
83143         * lib/xalloc-die.c: New file.
83144         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
83145         All uses removed.
83146         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
83147         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
83148         xalloc-die.c.
83149         (_, N_, xalloc_die): Move to xalloc-die.c.
83150         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
83151         so that we needn't mess with xalloc_msg_memory_exhausted.
83152
83153         * lib/sha1.h: Renamed from sha.h.
83154         (SHA1_H): Renamed from _SHA_H.
83155         (sha1_ctx): Renamed from sha_ctx.
83156         (sha1_init_ctx): Renamed from sha_init_ctx.
83157         (sha1_process_block): Renamed from sha_process_block.
83158         (sha1_process_bytes): Renamed from sha_process_bytes.
83159         (sha1_finish_ctx): Renamed from sha_finish_ctx.
83160         (sha1_read_ctx): Renamed from sha_read_ctx.
83161         (sha1_stream): Renamed from sha_stream.
83162         (sha1_buffer): Renamed from sha_buffer.
83163         * lib/sha1.c: Likewise; renamed from sha.c.
83164         Do not include <sys/types.h>.
83165         Include <stddef.h> rather than <stdlib.h>.
83166
83167 2004-08-08  Bruno Haible  <bruno@clisp.org>
83168
83169         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
83170         FILESYSTEM_PREFIX_LEN.
83171         * lib/progreloc.c: Likewise.
83172         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
83173
83174 2004-08-06  Simon Josefsson  <jas@extundo.com>
83175
83176         * modules/progname (Depends-on): Don't depend on stdbool.
83177
83178 2004-08-06  Simon Josefsson  <jas@extundo.com>
83179
83180         * modules/getsubopt: New file.
83181         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83182         getsubopt.
83183
83184 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83185
83186         More merge from coreutils.
83187
83188         * m4/utimens.m4, m4/utimecmp.m4: New files.
83189         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
83190         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
83191         prereq.m4, sha.m4: Import changes from coreutils.
83192
83193 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83194
83195         More merge from coreutils.
83196         * modules/raise, modules/readtokens0, modules/utimens:
83197         * modules/utimecmp, module/xnanosleep: New files.
83198         * modules/strftime: Add lib/strftime.h.
83199         Change include from <time.h> to "strftime.h".
83200         * modules/yesno: Add lib/yesno.h.
83201         * modules/backupfile: Remove lib/addext.c.
83202         * modules/euidaccess: Add stat-macros.h.
83203         * modules/canonicalize, modules/euidaccess,
83204         modules/filemode, modules/lchown, modules/makepath,
83205         modules/rmdir, modules/stat: Likewise.
83206
83207 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83208
83209         Merge from tar.
83210         * lib/argp-help.c (make_hol, hol_append): Don't assume that
83211         SIZE_MAX is a valid preprocessor constant.
83212         (__argp_basename): Change from "#ifndef _LIBC"
83213         to "#ifndef __argp_short_program_name", so that
83214         we don't compile these functions for tar.
83215
83216         More merges from coreutils.
83217         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
83218         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
83219         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
83220         * lib/addext.c: Remove; no longer needed.
83221         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
83222         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
83223         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
83224         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
83225         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
83226         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
83227         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
83228         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
83229         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
83230         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
83231         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
83232         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
83233         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
83234         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
83235         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
83236         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
83237         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
83238         Import changes from coreutils.
83239
83240 2004-08-05  Simon Josefsson  <jas@extundo.com>
83241
83242         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
83243
83244 2004-08-05  Simon Josefsson  <jas@extundo.com>
83245
83246         * m4/getsubopt.m4: New file.
83247
83248 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83249
83250         Merge from coreutils.
83251
83252         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
83253         * m4/getcwd-path-max.m4: New files.
83254
83255         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
83256         FILESYSTEM_PREFIX_LEN ->
83257         FILE_SYSTEM_PREFIX_LEN.
83258         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
83259         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
83260         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
83261         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
83262
83263         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
83264         prerequisite modules now handle the DOS stuff.
83265         Don't check for unistd.h.
83266
83267 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83268
83269         Merge from coreutils.
83270
83271         * lib/.gdb-history: Remove; this doesn't belong here.
83272
83273         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
83274         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
83275         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
83276         * lib/getcwd.c: New files.
83277
83278         * lib/dirname.h: Include <stdbool.h>.
83279         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
83280         for consistency with POSIX terminology.  All uses changed.
83281         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
83282         (strip_trailing_slashes): Use bool for booleans.
83283         * lib/stripslash.c (strip_trailing_slashes): Likewise.
83284
83285         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
83286         sometimes returns a positive errno value even when it succeeds.
83287         (print_errno_message) [!LIBC]: Fall back on strerror if
83288         __strerror_r fails.
83289
83290         * lib/path-concat.c (mempcpy): Don't define if a system header defines
83291         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
83292         (longest_relative_suffix): New function.
83293         (path_concat): Use it.  Assume first argument is not NULL.
83294         Port to DOS.  Omit redundant separators.
83295         Report an error instead of returning NULL.
83296         Use mempcpy instead of memcpy.
83297         (xpath_concat): Remove: not declared or used.
83298
83299         * lib/same.h: Include <stdbool.h>
83300         (same_name): Return bool, not int.
83301         * lib/same.c (same_name): Likewise.
83302         (errno): Don't declare; we assume C89 or better now.
83303
83304         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
83305         if not already defined.
83306
83307         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
83308         * lib/dup-safer.c (errno): Likewise.
83309
83310 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83311
83312         Merge from coreutils.
83313         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
83314         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
83315         * modules/path-concat: Don't depend on strdup.
83316
83317 2004-08-03  Simon Josefsson  <jas@extundo.com>
83318
83319         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
83320         * lib/progname.h: Don't include stdbool.h.
83321
83322 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83323
83324         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
83325         * MODULES.html.sh (func_all_modules): Remove fatal.
83326
83327 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83328
83329         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
83330
83331 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83332
83333         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
83334         working.
83335
83336 2004-08-02  Simon Josefsson  <jas@extundo.com>
83337
83338         * lib/getsubopt.h: New file, with comments from Bruno Haible.
83339         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
83340         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
83341
83342 2004-08-01  Simon Josefsson  <jas@extundo.com>
83343
83344         * lib/xgetdomainname.c: Include stdlib.h, for free().
83345
83346 2004-07-19  Bruno Haible  <bruno@clisp.org>
83347
83348         * MODULES.html.sh (func_all_modules): Add dummy.
83349
83350 2004-07-16  Simon Josefsson  <jas@extundo.com>
83351
83352         * modules/dummy: New file.
83353
83354 2004-07-16  Simon Josefsson  <jas@extundo.com>
83355
83356         * lib/dummy.c: New file.
83357
83358 2004-07-16  Bruno Haible  <bruno@clisp.org>
83359
83360         * lib/backupfile.h: Add extern "C" for C++.
83361         * lib/closeout.h: Likewise.
83362         * lib/copy-file.h: Likewise.
83363         * lib/findprog.h: Likewise.
83364         * lib/full-write.h: Likewise.
83365         * lib/pathname.h: Likewise.
83366         * lib/progname.h: Likewise.
83367         * lib/stpcpy.h: Likewise.
83368         * lib/stpncpy.h: Likewise.
83369         * lib/strcase.h: Likewise.
83370         * lib/strstr.h: Likewise.
83371         * lib/xalloc.h: Likewise.
83372
83373         * lib/mbswidth.h: Add extern "C" for C++.
83374         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
83375
83376 2004-07-13  Robert Millan  <robertmh@gnu.org>
83377
83378         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
83379
83380 2004-07-09  Simon Josefsson  <jas@extundo.com>
83381
83382         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
83383         failed without this.)
83384
83385 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
83386
83387         * modules/chown (Files): Add lib/fchown-stub.c, since
83388         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
83389
83390 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
83391
83392         * lib/fchown-stub.c: New file.
83393
83394 2004-06-24  Jim Meyering  <jim@meyering.net>
83395
83396         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
83397
83398 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83399
83400         * modules/argz: Omit "#include".
83401
83402         * MODULES.html.sh (func_all_modules): Add calloc, to match
83403         2004-06-01 addition of calloc module.
83404
83405 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83406
83407         * m4/argz.m4: New file, which is autoupdated from libtool.
83408
83409 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83410
83411         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
83412         libtool.
83413
83414 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83415
83416         * config/srclist-update: Don't insist on "USA." before the
83417         close-comment, as libtool omits the period and puts the */ on a
83418         separate line.
83419         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
83420         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
83421
83422 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
83423
83424         * modules/argz: New file.
83425         * MODULES.html.sh (func_all_modules): Add argz.
83426
83427 2004-06-12  Jim Meyering  <jim@meyering.net>
83428         and  Paul Eggert  <eggert@cs.ucla.edu>
83429
83430         * modules/hash (Files): Add lib/xalloc.h.
83431         * modules/pipe (Depends-on): Add wait-process.
83432         * modules/stat (Depends-on): Add xalloc.
83433         * modules/userspec (Files): Add lib/userspec.h.
83434         * modules/xstrto
83435
83436         Upgrade from gettext-0.13.
83437         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
83438         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
83439         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
83440
83441 2004-06-10  Jim Meyering  <jim@meyering.net>
83442
83443         * lib/calloc.c: New file.
83444
83445 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
83446
83447         * lib/getdate.y (yylex): Allow space between sign and number.
83448         Problem reported by Dan Jacobson.
83449
83450 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
83451
83452         Merge from coreutils CVS.
83453
83454         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
83455         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
83456         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
83457         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
83458         xstrtol.m4: Fix copyright date and/or serial number.
83459
83460         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
83461         See if we need an fchown replacement.
83462         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
83463         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
83464         and use the replacement function if we detect either defect.
83465
83466         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
83467         gl_UTIMECMP.
83468
83469 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
83470         and  Jim Meyering  <jim@meyering.net>
83471
83472         Merge from coreutils CVS.
83473
83474         * lib/stat-macros.h: New file, with contents from file-type.h
83475         and coreutils' system.h.
83476         * lib/file-type.c: Include "stat-macros.h".
83477         * lib/file-type.h (file_type): Move all macro definitions to new file,
83478         stat-macros.h.
83479
83480         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
83481         Wrap old code with this conditional.
83482         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
83483         function that does not dereference symlinks.
83484         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
83485
83486         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
83487         dependency problems.
83488         (xreadlink): Accept new arg SIZE, for efficiency.
83489         All decls and uses changed.
83490         * lib/xreadlink.h: Include <stddef.h>, for size_t.
83491
83492         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
83493         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
83494
83495         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
83496         sysexits.h.
83497
83498 2004-06-01  Jim Meyering  <jim@meyering.net>
83499
83500         * m4/calloc.m4: New file.
83501
83502 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
83503
83504         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
83505         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
83506         Also, fix a typo in a diagnostic.
83507
83508 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
83509
83510         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
83511         or AC_FUNC_REALLOC.
83512
83513 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
83514
83515         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
83516         macros to be defined.
83517         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
83518         the allocator returns NULL because the requested size is zero.
83519
83520 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
83521
83522         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
83523         var.  Add comment explaining why libc still defines it.  This
83524         merges the following patch from glibc:
83525         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
83526
83527 2004-05-20  Andreas Schwab  <schwab@suse.de>
83528
83529         * m4/free.m4: Replace free if it not known to work, not the other
83530         way round.
83531
83532 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
83533
83534         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
83535         present in glibc since revision 1.1 of this file.
83536         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
83537         obstack_alignment_mask, obstack_alloc, obstack_base,
83538         obstack_blank, obstack_blank_fast, obstack_chunk_size,
83539         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
83540         obstack_grow0, obstack_init, obstack_int_grow,
83541         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
83542         obstack_next_free, obstack_object_size, obstack_ptr_grow,
83543         obstack_ptr_grow_fast, obstack_room): Remove declarations of
83544         nonexistent functions.
83545
83546 2004-05-18  Karl Berry  <karl@gnu.org>
83547
83548         * config/srclist.txt: break link for vasnprintf.c.
83549
83550 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
83551
83552         Port obstack to the AS/400, where pointers are 16 bytes wide and
83553         you cannot cast an integer to a valid pointer.  This patch is
83554         currently waiting to be integrated into glibc; see
83555         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
83556
83557         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
83558         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
83559         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
83560         (struct obstack): temp member is now a union of a pointer and
83561         an integer, instead of an integer.  All integer uses changed.
83562         This does not affect the physical layout of struct obstack,
83563         except on hosts (like the AS/400) where the size or alignment of
83564         void * is greater than that of ptrdiff_t.
83565         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
83566         __STDC__)]: Store temporary in pointer member of union, not
83567         integer member.
83568         * lib/obstack.c: Include <stddef.h>, for offsetof.
83569         (struct fooalign): Remove; it doesn't need a name.
83570         (union fooround): Change double to long double, and add void *.
83571         (DEFAULT_ALIGNMENT): Use offsetof to compute.
83572         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
83573         not a macro.  Hence the values are always int; so remove all
83574         casts-to-int in uses.
83575
83576 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
83577
83578         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
83579         we can get this patch merged into glibc.
83580
83581 2004-05-17  Derek R. Price  <derek@ximbiot.com>
83582             Paul Eggert  <eggert@cs.ucla.edu>
83583
83584         * m4/argp: Depend on alloca.
83585
83586 2004-05-17  Derek R. Price  <derek@ximbiot.com>
83587             Paul Eggert  <eggert@cs.ucla.edu>
83588
83589         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
83590         freecoding.
83591
83592 2004-05-17  Bruno Haible  <bruno@clisp.org>
83593
83594         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
83595         precision that consists of a '.' followed by an empty digit string.
83596         Patch by Tor Lillqvist <tml@iki.fi>.
83597
83598 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
83599
83600         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
83601         for backward compatibility with older code.  We need our own
83602         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
83603         it under some other name, and our alloca.h will define it.
83604
83605 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
83606             Derek Price  <derek@ximbiot.com>
83607
83608         * lib/alloca.c: Include <alloca.h>, to get our interface.
83609         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
83610         include <alloca.h> first.  Use C89 prototype for alloca; this
83611         requires including <stddef.h> for size_t.  Use extern "C" if C++.
83612         Use #elif for simplicity, since we can assume C89 now.
83613         Don't try to source the system alloca.h since it will not be found
83614         and to prevent recursively including its replacement.
83615         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
83616         * lib/regex.c: Likewise.
83617
83618 2004-05-16  Derek Price  <derek@ximbiot.com>
83619             Paul Eggert  <eggert@cs.ucla.edu>
83620
83621         getline cleanup.  This changes the getndelim2 API: both order of
83622         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
83623         no delimiter).
83624
83625         * lib/getline.c: Don't include stddef.h or stdio.h, since our
83626         interface does that.
83627         (getline): Always use getdelim, so that we don't have two
83628         copies of this code.
83629         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
83630         if available.
83631         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
83632         (GETNDELIM2_MAXIMUM): New macro.
83633         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
83634         instead of the old practice of delim2==0.  All callers changed.
83635         Return -1 on overflow, instead of returning junk.
83636         Do not set *linesize unless allocation succeeds.
83637         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
83638         that we include sys/types.h.
83639         * lib/getnline.h: Likewise.
83640         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
83641         (getndelim2): Reorder arguments.
83642         * lib/getnline.c (getnline, getndelim):
83643         Don't discard the NMAX argument.
83644         (getnline): Invoke getndelim, to avoid code duplication.
83645         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
83646         of (size_t) -1 by callers of the getnline family.
83647
83648 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83649
83650         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
83651         Check for gettimeofday.
83652         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
83653         Check for settimeofday, stime.
83654
83655 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83656
83657         * lib/nanosleep.c (suspended): Change its type from int to
83658         sig_atomic_t volatile.
83659         (first_call): Make it private to rpl_nanosleep, and have it
83660         be zero initially as that's a bit faster.
83661         (my_usleep): Round up fractional times instead of truncating them,
83662         as this is the usual meaning for 'sleep'.
83663
83664         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
83665         doesn't work.
83666         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
83667         (ENOSYS): Define if not defined.
83668         (settime): Fall back on stime if it exists and settimeofday fails.
83669         But don't bother with fallbacks if a method fails with errno == EPERM.
83670
83671 2004-05-11  Jim Meyering  <jim@meyering.net>
83672
83673         Prior to this change, the save_cwd caller required read access to the
83674         current directory on most systems (ones with the fchdir function).
83675
83676         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
83677         fails, try write-only, and finally, resort to using xgetcwd.
83678
83679 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
83680
83681         * lib/obstack.c, obstack.h: Import changes from libc.
83682
83683 2004-04-28  Bruno Haible  <bruno@clisp.org>
83684
83685         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
83686         also implicitly appends .exe to executables.
83687         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
83688         accepts Windows pathnames.
83689         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
83690         Treat Cygwin like Windows, since it now accepts Windows pathnames.
83691         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
83692         Treat Cygwin like Windows, since it now accepts Windows pathnames.
83693         Reported by Derek Robert Price <derek@ximbiot.com>.
83694
83695 2004-04-21  Karl Berry  <karl@gnu.org>
83696
83697         * config/srclist.txt (localcharset.c): break sync.
83698
83699 2004-04-20  Paul Eggert  <eggert@twinsun.com>
83700
83701         * m4/host-os.m4: Add a copyright notice.
83702
83703 2004-04-20  Jim Meyering  <jim@meyering.net>
83704
83705         Change UTILS_ to gl_ in AC_DEFINE'd names.
83706         Change utils_- and jm_-prefixed variables, too.
83707         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
83708         UTILS_FUNC_MKDIR_TRAILING_SLASH.
83709         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
83710
83711         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
83712         Don't emit trailing blanks.
83713         Also rename jm_-prefixed variables to have gl_ prefix.
83714
83715         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
83716         Also rename jm_-prefixed variables to have gl_ prefix.
83717
83718         * m4/jm-macros.m4: Reflect the renamings.
83719         * m4/prereq.m4: Likewise.
83720
83721 2004-04-20  Jim Meyering  <jim@meyering.net>
83722
83723         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
83724         memory.
83725
83726 2004-04-20  Jim Meyering  <jim@meyering.net>
83727             Bruno Haible  <bruno@clisp.org>
83728
83729         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
83730         memory when realloc fails.
83731
83732 2004-04-19  Jim Meyering  <jim@meyering.net>
83733
83734         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
83735         now that readutmp.c may call `free (0)'.
83736
83737 2004-04-19  Bruno Haible  <bruno@clisp.org>
83738
83739         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
83740         * m4/inttypes_h.m4: Likewise.
83741         * m4/stdint_h.m4: Likewise.
83742         * m4/intmax_t.m4: Likewise.
83743         * m4/uintmax_t.m4: Likewise.
83744
83745 2004-04-18  Jim Meyering  <jim@meyering.net>
83746
83747         * m4/prereq.m4: Don't forbid jm_ prefix.
83748
83749         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
83750         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
83751         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
83752         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
83753         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
83754         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
83755         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
83756         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
83757         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
83758         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
83759         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
83760         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
83761         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
83762         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
83763         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
83764         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
83765         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
83766         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
83767         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
83768
83769 2004-04-18  Jim Meyering  <jim@meyering.net>
83770
83771         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
83772         failure, don't leak memory and do call END_UTMP_ENT.
83773
83774 2004-04-16  Jim Meyering  <jim@meyering.net>
83775
83776         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
83777         coreutils' stat program.
83778         (gl_PREREQ): Don't require jm_PREREQ_STAT.
83779
83780 2004-04-11  Paul Eggert  <eggert@twinsun.com>
83781
83782         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
83783         C89.
83784         (CHAR_BIT): Remove, since we assume C89.
83785         Include <stdint.h> if available, as per current Autoconf CVS advice.
83786
83787 2004-03-31  Jim Meyering  <jim@meyering.net>
83788
83789         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
83790         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
83791         * m4/xalloc.m4: Likewise.
83792
83793 2004-03-30  Paul Eggert  <eggert@twinsun.com>
83794
83795         Merge from coreutils.
83796
83797         * m4/inttostr.m4: New file.
83798         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
83799         Require AM_STDBOOL_H and gl_TIMESPEC instead.
83800         Require gl_CLOCK_TIME.
83801         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
83802
83803 2004-03-30  Paul Eggert  <eggert@twinsun.com>
83804
83805         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
83806         not bool, to be more consistent with Unix conventions.
83807         Suggested by Bruno Haible.
83808
83809         Merge from coreutils.
83810
83811         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
83812         * lib/umaxtostr.c: New files.
83813
83814         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
83815         the usual <time.h> dance.
83816         (get_date): Change signature to support fractional time stamps.
83817         All callers changed.
83818         * lib/getdate.y: Include "getdate.h" first, as we can now
83819         assume C89 and don't need to worry about 'const'.
83820         Similarly, include "unlocked-io.h" near start, not in middle.
83821         Include <limits.h>.
83822         (textint.value): Use long int rather than int.
83823         (textint.digits): Use size_t rather than int.
83824         (BILLION, LOG10_BILLION): New constants.
83825         (parser_control): New member rel_ns.  Members day_ordinal,
83826         time_zone, month, day, hour, minutes, rel_year, rel_month,
83827         rel_day, rel_hour, rel_minutes, rel_seconds
83828         are now long int, not int.  Member seconds is now struct timespec,
83829         not int.  New member timespec_seen.  Members dates_seen, days_seen,
83830         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
83831         not int.
83832         (%union.intval): Now long int, not int.
83833         New member timespec.
83834         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
83835         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
83836         (spec): Now is a timespec or an item list.
83837         (timespec, items): New nonterminals.
83838         (time, rel, relunit, number, get_date):
83839         Add support for fractional seconds.
83840         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
83841         (gmtime, localtime, mktime): Remove decls; not needed with C89.
83842         (to_hour): First arg is now long int, not int.
83843         (to_year): Returns long int, not int.
83844         Don't treat year -70 like 70.
83845         (tm_diff): Returns long int, not int.
83846         (lookup_word): Use bool instead of int when appropriate.
83847         (yylex): Use size_t for count, not int.
83848         Detect overflow when parsing large integer constants.
83849         Add support for fractions.
83850         (get_date): Make pointers 'const' if possible.
83851         Use more-portable code to detect integer overflow.
83852         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
83853         Don't use ctime; it's not reliable if the year has >4 digits.
83854
83855         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
83856         This is for compatibility with BSD.
83857
83858         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
83859         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
83860         From coreutils' system.h.
83861
83862         * lib/userspec.c: Don't include "posixver.h".
83863         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
83864         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
83865         compatible extension.  Simplify code by removing a boolean int
83866         that was always nonzero if a string was nonnull.
83867
83868 2004-03-30  Jim Meyering  <jim@meyering.net>
83869
83870         Merge from coreutils.
83871
83872         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
83873         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
83874         on some systems one must include <grp.h> before it.
83875         Reported by Christian Krackowizer.
83876
83877 2004-03-30  Jim Meyering  <jim@meyering.net>
83878
83879         Merge from coreutils.
83880
83881         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
83882
83883         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
83884         an empty input stream.
83885
83886         * lib/readtokens.c: Include <stdbool.h>.
83887         (readtoken): Use `size_t' rather than int/long.
83888         All callers adjusted.
83889         Use `bool' rather than `int' where appropriate.
83890         Use memset rather than an explicit loop.
83891         Use x2nrealloc rather than xrealloc.
83892         Allow the use of `\0' as a delimiter.
83893         (readtokens): Likewise.
83894         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
83895
83896 2004-03-30  Jim Meyering  <jim@meyering.net>
83897
83898         * m4/realloc.m4: Remove file, since now it does no more than
83899         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
83900         the `configure.ac' section of module/realloc.
83901         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
83902
83903 2004-03-30  Bruno Haible  <bruno@clisp.org>
83904
83905         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
83906         nonnull.
83907
83908 2004-03-29  Paul Eggert  <eggert@twinsun.com>
83909
83910         Merge changes to getloadavg.c from coreutils and Emacs.
83911
83912         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
83913         Define to an expression, not to the empty string.
83914         Include cloexec.h and xalloc.h.
83915         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
83916         Use set_cloexec_flag rather than rolling our own.
83917         * lib/cloexec.c, lib/cloexec.h: New files.
83918
83919 2004-03-29  Paul Eggert  <eggert@twinsun.com>
83920
83921         * m4/cloexec.m4: New file.
83922
83923 2004-03-18  Paul Eggert  <eggert@twinsun.com>
83924
83925         * lib/getopt.h: Sync with libc CVS.
83926
83927 2004-03-18  Paul Eggert  <eggert@twinsun.com>
83928             Bruno Haible  <bruno@clisp.org>
83929
83930         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
83931         mbswidth.
83932
83933 2004-03-18  Paul Eggert  <eggert@twinsun.com>
83934             Bruno Haible  <bruno@clisp.org>
83935
83936         * lib/mbswidth.h: Include <wchar.h> only if
83937         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
83938         <wchar.h>.
83939         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
83940
83941 2004-03-09  Paul Eggert  <eggert@twinsun.com>
83942
83943         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
83944         Sync with libc CVS.
83945         * lib/getopt_int.h: New file, also synced from libc.
83946
83947 2004-03-09  Paul Eggert  <eggert@twinsun.com>
83948
83949         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
83950         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
83951         Bring back getopt.c, getopt.h, getopt1.c.
83952
83953 2004-03-07  Paul Eggert  <eggert@twinsun.com>
83954
83955         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
83956         All uses changed.  Check for sa_sigaction member; this fixes
83957         a bug first reported by Jason Andrade in
83958         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
83959
83960 2004-03-07  Paul Eggert  <eggert@twinsun.com>
83961
83962         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
83963         '#if' expressions.  Unlike the code it replaces, it does not
83964         depend on (defined _SC_PAGESIZE).  However, it does depend on
83965         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
83966         first reported by Jason Andrade in
83967         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
83968
83969 2004-02-25  Simon Josefsson  <jas@extundo.com>
83970
83971         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
83972
83973 2004-02-25  Simon Josefsson  <jas@extundo.com>
83974
83975         * lib/strdup.h: New file.
83976         * lib/strdup.c: Include it.
83977         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
83978         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
83979
83980 2004-02-23  Karl Berry  <karl@gnu.org>
83981
83982         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
83983         (from fencepost.gnu.org:/gd/gnuorg).
83984
83985 2004-02-23  Karl Berry  <karl@gnu.org>
83986
83987         * config/srclistvars.sh (GNUORG) [karl]: redefine.
83988         * config/srclist.txt: add maintain/standards documents.
83989
83990 2004-02-18  Bruno Haible  <bruno@clisp.org>
83991
83992         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
83993         Reported by Derek Robert Price <derek@ximbiot.com>.
83994
83995 2004-02-16  Karl Berry  <karl@gnu.org>
83996
83997         * config/mkinstalldirs, install-sh: update from automake.
83998
83999 2004-02-06  Karl Berry  <karl@gnu.org>
84000
84001         * m4/po.m4: update from gettext 0.14.1.
84002
84003 2004-02-06  Karl Berry  <karl@gnu.org>
84004
84005         * lib/config.charset: update from gettext 0.14.1.
84006
84007 2004-02-05  Paul Eggert  <eggert@twinsun.com>
84008
84009         Add comments and code, prompted by suggestions from Bruno Haible
84010         for sh-quote.
84011         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
84012         describing the enum quoting_style values.
84013         * lib/quotearg.c (quotearg_alloc): New function.
84014         (quotearg_buffer_restyled): Treat lone { and } as special.
84015         Treat = as special.  Work around bug with older shells
84016         that "see" a '\' that is really the 2nd byte of a multibyte char.
84017         Quote empty string with shell_quoting_style.
84018
84019 2004-02-03  Bruno Haible  <bruno@clisp.org>
84020
84021         * m4/pipe.m4: New file, from GNU gettext.
84022
84023 2004-02-03  Bruno Haible  <bruno@clisp.org>
84024
84025         * lib/pipe.h: New file, from GNU gettext.
84026         * lib/pipe.c: New file, from GNU gettext.
84027
84028 2004-01-27  Bruno Haible  <bruno@clisp.org>
84029
84030         * m4/execute.m4: New file, from GNU gettext.
84031
84032 2004-01-27  Bruno Haible  <bruno@clisp.org>
84033
84034         * lib/execute.h: New file, from GNU gettext.
84035         * lib/execute.c: New file, from GNU gettext.
84036         * lib/w32spawn.h: New file, from GNU gettext.
84037
84038 2004-01-24  Paul Eggert  <eggert@twinsun.com>
84039
84040         Merge from diffutils.
84041
84042         * lib/file-type.c (file_type): Add typed memory objects.
84043         * lib/file-type.h (S_TYPEISTMO): New macro.
84044
84045         * lib/c-stack.h (c_stack_action): Remove argv argument.
84046         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
84047         (die): Don't calculate message unless segv_action returns.
84048         (get_stack_location, min_address_from_argv, max_address_from_argv,
84049         volatile stack_base, volatile_stack_size): Remove.
84050         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
84051         that every segmentation violation is a stack overflow.  (Ouch!)
84052         See Debian bug 136249 (still outstanding) for more info about why
84053         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
84054
84055 2004-01-24  Paul Eggert  <eggert@twinsun.com>
84056
84057         Exit-status fix from coreutils.
84058
84059         Use exit_failure consistently in place of EXIT_FAILURE,
84060         so that program exit statuses are consistent on failure.
84061
84062         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
84063         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
84064         * lib/argmatch.h: Comment fix to match the above.
84065         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
84066         Now a macro referring to exit_failure, instead of a separate
84067         variable.  Include "exitfail.h" to get it.
84068         * lib/xstrtol.h: Include "exitfail.h".
84069         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
84070
84071         * lib/long-options.c (parse_long_options): Use prototype
84072         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
84073         for clarity.
84074
84075 2004-01-21  Jim Meyering  <jim@meyering.net>
84076
84077         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
84078         so as not to conflict with a different-sized __mktime_internal
84079         function in GNU libc.
84080         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
84081         Problem building statically-linked `ls' reported by Michael Brunnbauer.
84082
84083 2004-01-20  Karl Berry  <karl@gnu.org>
84084
84085         * config/config.guess: update from config.
84086
84087         * config/srclistvars.sh: GNUWWWLICENSES for karl.
84088
84089 2004-01-20  Bruno Haible  <bruno@clisp.org>
84090
84091         Safer stack allocation.
84092         * lib/setenv.c: Include allocsa.h.
84093         (alloca): Remove fallback definition.
84094         (freea): Remove macro.
84095         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
84096         instead of freea.
84097
84098 2004-01-20  Bruno Haible  <bruno@clisp.org>
84099
84100         * m4/eealloc.m4: New file, from GNU gettext.
84101
84102 2004-01-20  Bruno Haible  <bruno@clisp.org>
84103
84104         * m4/allocsa.m4: New file, from GNU gettext.
84105
84106 2004-01-20  Bruno Haible  <bruno@clisp.org>
84107
84108         * lib/xallocsa.h: New file, from GNU gettext.
84109         * lib/xallocsa.c: New file, from GNU gettext.
84110
84111 2004-01-20  Bruno Haible  <bruno@clisp.org>
84112
84113         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
84114
84115 2004-01-20  Bruno Haible  <bruno@clisp.org>
84116
84117         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
84118         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
84119         specially.
84120
84121 2004-01-20  Bruno Haible  <bruno@clisp.org>
84122
84123         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
84124         patch.
84125
84126 2004-01-20  Bruno Haible  <bruno@clisp.org>
84127
84128         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
84129
84130 2004-01-20  Bruno Haible  <bruno@clisp.org>
84131
84132         * lib/eealloc.h: New file.
84133
84134 2004-01-20  Bruno Haible  <bruno@clisp.org>
84135
84136         * lib/binary-io.h: Avoid warnings on Cygwin.
84137
84138 2004-01-20  Bruno Haible  <bruno@clisp.org>
84139
84140         * lib/allocsa.h: New file, from GNU gettext.
84141         * lib/allocsa.c: New file, from GNU gettext.
84142
84143 2004-01-18  Karl Berry  <karl@gnu.org>
84144
84145         * doc/gpl.texi, doc/lgpl.texi: new files.
84146
84147 2004-01-18  Karl Berry  <karl@gnu.org>
84148
84149         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
84150         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
84151
84152 2004-01-15  Paul Eggert  <eggert@twinsun.com>
84153
84154         Merge from coreutils.
84155
84156         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
84157         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
84158         (gl_DEFAULT_POSIX2_VERSION): Move
84159         the documentation from 'configure' into 'config.hin',
84160         so that 'configure --help' isn't burdened by it and
84161         we don't have to worry about its formatting there.
84162         Reword the documentation so that it's more succinct
84163         and can be run together into a single paragraph.
84164         * m4/same.m4 (gl_SAME): Check for pathconf.
84165
84166 2004-01-15  Paul Eggert  <eggert@twinsun.com>
84167
84168         Merge from coreutils.
84169
84170         * lib/posixver.c: Include posixver.h.
84171
84172         * lib/same.c: Include <stdbool.h>, <limits.h>.
84173         (_POSIX_NAME_MAX): Define if not defined.
84174         (MIN): New macro.
84175         (same_name): If file names are silently truncated, report
84176         that the file names are the same if they are the same after
84177         the silent truncation.
84178
84179         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
84180         conversion function.
84181         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
84182         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
84183         longer needed.
84184
84185 2004-01-15  Jim Meyering  <jim@meyering.net>
84186
84187         Merge from coreutils.
84188
84189         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
84190         if no library is required.
84191         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
84192         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
84193         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
84194         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
84195         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
84196         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
84197         value, $ac_cv_search_crypt, if it's "none required".
84198         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
84199         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
84200         not gl_FUNC_GETLOADAVG.
84201         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
84202         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
84203
84204 2004-01-15  Jim Meyering  <jim@meyering.net>
84205
84206         Merge from coreutils.
84207
84208         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
84209         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
84210         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
84211
84212         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
84213         optional configure-time default.
84214
84215         * lib/version-etc.c (version_etc_copyright): Update copyright date.
84216
84217         * lib/xreadlink.c (xreadlink): Correct outdated comment.
84218
84219 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
84220
84221         Merge from coreutils.
84222
84223         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
84224         value, $ac_cv_search_nanosleep, if it's "none required".
84225
84226 2004-01-14  Paul Eggert  <eggert@twinsun.com>
84227
84228         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
84229         with like-named macro in fnmatch.c.
84230         (EXT): Use an internal constant instead.
84231
84232         Merge fnmatch patches from glibc.
84233         * lib/fnmatch.c (mbsinit): Remove define.
84234         Add libc_hidden_ver (__fnmatch, fnmatch).
84235         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
84236         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
84237
84238 2004-01-14  Karl Berry  <karl@gnu.org>
84239
84240         * config/install-sh: update from automake.
84241
84242 2004-01-13  Karl Berry  <karl@gnu.org>
84243
84244         * config/install-sh: update from automake.
84245
84246 2004-01-09  Karl Berry  <karl@gnu.org>
84247
84248         * config/install-sh: update from automake.
84249
84250 2004-01-05  Karl Berry  <karl@gnu.org>
84251
84252         * config/config.{sub,guess}: update from config.
84253
84254 2003-12-31  Karl Berry  <karl@gnu.org>
84255
84256         * config/depcomp: update from automake.
84257
84258 2003-12-14  Karl Berry  <karl@gnu.org>
84259
84260         * lib/config.charset: update from gettext-runtime.
84261
84262 2003-12-03  Paul Eggert  <eggert@twinsun.com>
84263
84264         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
84265         Bug reported by Alfred M. Szmidt.
84266
84267 2003-12-03  Bruno Haible  <bruno@clisp.org>
84268
84269         * m4/gettext.m4: Upgrade from gettext-0.13.
84270         * m4/po.m4: Upgrade from gettext-0.13.
84271         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
84272         * m4/intmax.m4: New file, from gettext-0.13.
84273         * m4/printf-posix.m4: New file, from gettext-0.13.
84274
84275 2003-11-29  Karl Berry  <karl@gnu.org>
84276
84277         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
84278
84279 2003-11-25  Paul Eggert  <eggert@twinsun.com>
84280             Bruno Haible  <bruno@clisp.org>
84281
84282         * lib/printf-parse.h: Don't include sys/types.h.
84283         (ARG_NONE): New macro.
84284         (char_directive): Change type of *arg_index fields to size_t.
84285         * lib/printf-parse.c: Don't include sys/types.h.
84286         (SSIZE_MAX): Remove macro.
84287         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
84288         Remove unnecessary overflow check.
84289         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
84290         fields.
84291
84292 2003-11-25  Bruno Haible  <bruno@clisp.org>
84293
84294         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
84295
84296 2003-11-25  Bruno Haible  <bruno@clisp.org>
84297
84298         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
84299         gt_TYPE_SSIZE_T.
84300
84301 2003-11-24  Paul Eggert  <eggert@twinsun.com>
84302
84303         * modules/alloca: Remove dependency on xalloc.
84304
84305 2003-11-24  Paul Eggert  <eggert@twinsun.com>
84306
84307         * lib/alloca.c: Remove dependency on xalloc module.
84308         (xalloc_die): Remove.
84309         (memory_full) [!defined emacs]: New macro.
84310         [!defined emacs]: Don't include xalloc.h.
84311         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
84312         address arithmetic overflows.  Change datatypes a bit to avoid
84313         unnecessary casts.
84314
84315 2003-11-22  Jim Meyering  <jim@meyering.net>
84316
84317         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
84318         s/size/size_t/.
84319
84320 2003-11-21  Karl Berry  <karl@gnu.org>
84321
84322         * config/config.{sub,guess}: update from config.
84323
84324 2003-11-18  Karl Berry  <karl@gnu.org>
84325
84326         * config/config.{sub,guess}: update from config.
84327
84328         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
84329
84330 2003-11-17  Paul Eggert  <eggert@twinsun.com>
84331
84332         * README: Mention that S+T cannot overflow if S is the size of
84333         an existing object and T is sufficiently small.
84334
84335 2003-11-17  Jim Meyering  <jim@meyering.net>
84336
84337         On systems without utime and without a utimes function capable of
84338         dealing with a NULL struct utimbuf* argument, this utime replacement
84339         could -- in unusual circumstances -- leak a file descriptor.
84340         * lib/utime.c: Include <unistd.h> and <errno.h>.
84341         (utime_null): Be sure to close `fd' and to preserve errno.
84342         Reported by Geoff Collyer via Arnold Robbins.
84343
84344 2003-11-17  Bruno Haible  <bruno@clisp.org>
84345
84346         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
84347         (Depends-on): Add xsize.
84348
84349 2003-11-17  Bruno Haible  <bruno@clisp.org>
84350
84351         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
84352
84353 2003-11-17  Bruno Haible  <bruno@clisp.org>
84354
84355         * lib/vasnprintf.c (alloca): Remove fallback definition.
84356         (freea): Remove definition.
84357         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
84358         Reported by Paul Eggert.
84359
84360 2003-11-16  Paul Eggert  <eggert@twinsun.com>
84361             Bruno Haible  <bruno@clisp.org>
84362
84363         Protect against address arithmetic overflow.
84364         * lib/printf-args.h: Include stddef.h.
84365         (arguments): Change type of field 'count' to size_t.
84366         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
84367         'unsigned int' where appropriate.
84368         * lib/printf-parse.h: Include sys/types.h.
84369         (char_directive): Change type of *arg_index fields to ssize_t.
84370         (char_directives): Change type of fields 'count', max_*_length to
84371         size_t.
84372         * lib/printf-parse.c: Include sys/types.h and xsize.h.
84373         (SSIZE_MAX): Define fallback value.
84374         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
84375         instead of 'int' where appropriate. Check a_allocated, d_allocated
84376         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
84377         * lib/vasnprintf.c: Include xsize.h.
84378         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
84379         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
84380         overflow. Avoid wraparound when converting a width or precision from
84381         decimal to binary.
84382
84383 2003-11-16  Bruno Haible  <bruno@clisp.org>
84384
84385         Update from GNU gettext.
84386         * lib/printf-parse.c: Generalize to it can be compiled for wide
84387         strings.
84388         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
84389         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
84390         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
84391         SNPRINTF): New macros.
84392         Don't include <alloca.h> if the file is used inside libintl.
84393         (local_wcslen): New function, for Solaris 2.5.1.
84394         (VASNPRINTF): Use it instead of wcslen.
84395
84396 2003-11-16  Bruno Haible  <bruno@clisp.org>
84397
84398         * lib/xsize.h (xmax): New function.
84399         (xsum, xsum3, xsum4): Declare as "pure" functions.
84400
84401 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84402
84403         * modules/xalloc (Files): Undo latest change, since xalloc.h
84404         no longer needs SIZE_MAX or PTRDIFF_MAX.
84405
84406 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84407
84408         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
84409         gl_PTRDIFF_MAX.
84410
84411 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84412
84413         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
84414         "return", to pacify some unknown compiler.  Problem reported
84415         by Joerg Schilling.
84416
84417 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84418
84419         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
84420         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
84421         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
84422         heuristic is just as accurate as far as we know, and it removes a
84423         dependency on size_max.m4 and ptrdiff_max.m4.
84424
84425 2003-11-11  Bruno Haible  <bruno@clisp.org>
84426
84427         * modules/xsize (Files): Add m4/size_max.m4.
84428         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
84429
84430 2003-11-11  Bruno Haible  <bruno@clisp.org>
84431
84432         * m4/size_max.m4: New file.
84433         * m4/ptrdiff_max.m4: New file.
84434         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
84435         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
84436         (gl_XALLOC): Invoke it.
84437
84438 2003-11-11  Bruno Haible  <bruno@clisp.org>
84439
84440         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
84441         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
84442         defined.
84443
84444 2003-11-10  Paul Eggert  <eggert@twinsun.com>
84445
84446         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
84447         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
84448         rejected some allocations of exactly SIZE_MAX - 2 bytes.
84449         From Bruno Haible.
84450         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
84451         not (size_t) -1, since it's defined here.
84452
84453 2003-11-09  Karl Berry  <karl@gnu.org>
84454
84455         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
84456
84457 2003-11-06  Paul Eggert  <eggert@twinsun.com>
84458
84459         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
84460         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
84461         Reject sizes of exactly SIZE_MAX bytes.
84462         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
84463         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
84464
84465 2003-11-05  Bruno Haible  <bruno@clisp.org>
84466
84467         * lib/xsize.h: Include limits.h, to avoid a possible collision with
84468         SIZE_MAX defined in <limits.h> on Solaris.
84469
84470 2003-11-04  Jim Meyering  <jim@meyering.net>
84471
84472         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
84473         variable names, rather than @VAR@.
84474         * modules/poll: Likewise.
84475
84476 2003-11-04  Bruno Haible  <bruno@clisp.org>
84477
84478         * modules/xsize: New file.
84479         * modules/linebreak: Depend on xsize.
84480         * MODULES.html.sh (func_all_modules): Add xsize.
84481
84482 2003-11-04  Bruno Haible  <bruno@clisp.org>
84483
84484         * m4/xsize.m4: New file.
84485
84486 2003-11-04  Bruno Haible  <bruno@clisp.org>
84487
84488         * lib/xsize.h: New file.
84489         * lib/linebreak.c: Include xsize.h.
84490         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
84491         argument for overflow.
84492         Suggested by Paul Eggert.
84493
84494 2003-11-03  Karl Berry  <karl@gnu.org>
84495
84496         * config/config.{guess,sub}: update from config.
84497
84498 2003-11-03  Jim Meyering  <jim@meyering.net>
84499
84500         * modules/userspec (lib_SOURCES): Add userspec.h.
84501         (Include): Add "userspec.h".
84502         Improve description.
84503
84504 2003-11-03  Jim Meyering  <jim@meyering.net>
84505
84506         * lib/userspec.c: Include "userspec.h".
84507         * lib/userspec.h: New file.
84508
84509 2003-11-03  Bruno Haible  <bruno@clisp.org>
84510
84511         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
84512
84513 2003-11-03  Bruno Haible  <bruno@clisp.org>
84514
84515         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
84516         available, to avoid (extremely rare) race condition.
84517         Suggested by Paul Eggert.
84518
84519 2003-11-02  Karl Berry  <karl@gnu.org>
84520
84521         * config/srclist.txt (vasprintf.c): sync broken, sigh.
84522
84523 2003-10-31  Paul Eggert  <eggert@twinsun.com>
84524
84525         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
84526         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
84527         (read_filesystem_list): Set and use me_type_malloced.
84528         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
84529         whatever the type happens to be), for brevity and consistency.
84530         Check for size calculation overflow on Alphas running OSF/1.
84531
84532 2003-10-31  Jim Meyering  <jim@meyering.net>
84533
84534         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
84535
84536         * lib/linebuffer.c: Include <string.h> for declaration of memset.
84537
84538 2003-10-30  Paul Eggert  <eggert@twinsun.com>
84539             Bruno Haible  <bruno@clisp.org>
84540
84541         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
84542         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
84543
84544 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
84545
84546         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
84547         netbsd*-gnu*.  Suggested by Robert Millan.
84548
84549 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84550
84551         * modules/group-member: Depend on stdbool.
84552
84553 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84554
84555         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
84556
84557 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84558
84559         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
84560         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
84561         after the 'gnu' in these cases.  This fixes some bugs in the
84562         previous change, and is based on suggestions by Robert Millan.
84563
84564 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84565
84566         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
84567         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
84568         no longer needed.
84569         * lib/quotearg.c (quotearg_n_options): Use it.
84570         * lib/group-member.c: Include <stdbool.h>.
84571         (free_group_info): Arg is now const *; don't free arg.
84572         (get_group_info): Now returns bool and accepts struct group_info *,
84573         rather than returning a malloc'ed struct group_info *.
84574         All uses changed.  Check for overflow in internal size calculation.
84575
84576         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
84577         rather than xmalloc/xrealloc.
84578         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
84579         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
84580         conformance bug: the old code used a pointer after freeing the
84581         storage that it addressed.
84582         * lib/hash.c (hash_initialize): Simplify the code by using
84583         xalloc_oversized rather than doing it by hand.
84584         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
84585         the buffer preserved.  Use free and xmalloc instead.
84586         * lib/quotearg.c (quotearg_n_options): Likewise.
84587         Use a simpler test for size overflow.  Don't use xalloc_oversized
84588         because unsigned int might be wider than size_t (!); this suggests
84589         that we should switch from unsigned int to size_t for slot numbers.
84590
84591 2003-10-28  Paul Eggert  <eggert@twinsun.com>
84592
84593         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
84594         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
84595         NetBSD kernels.  Requested by Richard Stallman.
84596
84597 2003-10-27  Paul Eggert  <eggert@twinsun.com>
84598
84599         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
84600         to allocate the returned structure.  Do not allocate a subarray,
84601         as x2nrealloc will do that.
84602         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
84603         instead of xnrealloc.
84604         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
84605
84606 2003-10-27  Bruno Haible  <bruno@clisp.org>
84607
84608         * lib/stdbool_.h: Better support for BeOS.
84609
84610 2003-10-26  Paul Eggert  <eggert@twinsun.com>
84611
84612         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
84613         now uses inline.
84614
84615 2003-10-26  Paul Eggert  <eggert@twinsun.com>
84616
84617         * lib/xalloc.h (xalloc_oversized): New static inline function, for
84618         callers that want to do their own size-overflow checking.  Include
84619         <stdbool.h>, since xalloc_oversized returns bool.
84620         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
84621         to use xalloc_oversized.
84622
84623         Add two functions x2realloc, x2nrealloc, for programs that grow
84624         arrays dynamically by doubling their sizes.
84625         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
84626         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
84627         New functions.
84628
84629         Port to C99 semantics for 'inline' of external functions.
84630         Bug reported by Bruno Haible.
84631         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
84632         with the old contents of xnmalloc.
84633         (xnmalloc, xmalloc): Use it.
84634         (xnrealloc_inline): New static inline function,
84635         with the old contents of xnrealloc.
84636         (xnrealloc, xrealloc): Use it.
84637
84638         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
84639         that.
84640
84641 2003-10-26  Karl Berry  <karl@gnu.org>
84642
84643         * config/srclist.txt (COPYING.DOC): no longer available from
84644         /gd/gnuorg; don't know where the ultimate source is.
84645
84646 2003-10-25  Paul Eggert  <eggert@twinsun.com>
84647
84648         Fix several address-calculation bugs in the hash modules,
84649         plus some minor code cleanup.
84650
84651         * lib/hash.h: Include <stdbool.h>, for bool.
84652         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
84653         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
84654         hash_get_n_entries, hash_get_max_bucket_length,
84655         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
84656         hash_rehash): Use size_t rather than unsigned.
84657         * lib/hash.c (struct hash_table, hash_get_n_buckets,
84658         hash_get_n_buckets_used, hash_get_n_entries,
84659         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
84660         hash_get_entries, hash_do_for_each, hash_string, is_prime,
84661         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
84662         Likewise.
84663         (SIZE_MAX): Define if not defined.
84664         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
84665         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
84666         hash_print):
84667         Use const * when possible.
84668         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
84669         (check_tuning): Fix bug: if tuning parameters were very close to
84670         0 or 1, rounding errors could have caused subscript violations.
84671         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
84672         (hash_initialize): Add 'fail:' label
84673         to free table and return NULL, and use it to simplify code.
84674         Use calloc rather than clearing the storage ourself.
84675         (hash_initialize, hash_rehash): Check for arithmetic overflow in
84676         buffer size calculations.
84677         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
84678         Include <stddef.h>, for size_t.
84679         * lib/hash-pjw.c (hash_pjw): Likewise.
84680         Switch to method described by Bruno Haible.
84681         Include <limits.h>, for CHAR_BIT.
84682         (SIZE_BITS): New macro.
84683
84684 2003-10-23  Paul Eggert  <eggert@twinsun.com>
84685
84686         * m4/getline.m4 (AM_FUNC_GETLINE):
84687         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
84688         hosts.  Problem reported by Derek Robert Price in
84689         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
84690         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
84691         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
84692
84693 2003-10-21  Paul Eggert  <eggert@twinsun.com>
84694
84695         * lib/getndelim2.c (getndelim2): When size calculation overflows,
84696         ceiling the allocation at NMAX bytes rather than silently
84697         discarding input bytes before NMAX is reached.  This makes
84698         a difference only if NMAX exceeds SIZE_MAX / 2.
84699
84700         * lib/obstack.c: Merge from glibc.
84701         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
84702         Add libc_hidden_def (_obstack_newchunk).
84703         (_obstack_free) [! defined _LIBC]: Remove.
84704         [defined _LIBC]: Make a strong alias from obstack_free, rather than
84705         a clone of the function body.
84706         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
84707         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
84708
84709         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
84710         glibc.
84711         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
84712         arg to memcpy.
84713
84714         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
84715         (obstack_ptr_grow_fast, obstack_int_grow_fast):
84716         Don't use lvalue casts, as GCC plans to remove support for them
84717         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
84718         was also present in the non-GCC version, indicating that this
84719         code had always been buggy and had never been widely used.
84720         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
84721         Use the fast variant of each macro, rather than copying the
84722         definiens of the fast variant; that way, we'll be more likely to
84723         catch future bugs in the fast variants.
84724
84725 2003-10-20  Bruno Haible  <bruno@clisp.org>
84726
84727         * modules/wait-process: New file.
84728         * MODULES.html.sh (func_all_modules): Add wait-process.
84729
84730 2003-10-20  Bruno Haible  <bruno@clisp.org>
84731
84732         * m4/wait-process.m4: New file.
84733
84734 2003-10-20  Bruno Haible  <bruno@clisp.org>
84735
84736         * lib/wait-process.h: New file, from GNU gettext.
84737         * lib/wait-process.c: New file, from GNU gettext.
84738
84739 2003-10-19  Jim Meyering  <jim@meyering.net>
84740
84741         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
84742         HPUX 10.20.
84743
84744 2003-10-18  Karl Berry  <karl@gnu.org>
84745
84746         * config/config.guess: update from config.
84747
84748 2003-10-16  Paul Eggert  <eggert@twinsun.com>
84749
84750         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
84751         (getgroups): First arg is int, not size_t.
84752         Don't let 'free' mangle errno.
84753
84754 2003-10-16  Paul Eggert  <eggert@twinsun.com>
84755
84756         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
84757
84758 2003-10-16  Karl Berry  <karl@gnu.org>
84759
84760         * config/config.{guess,sub}: update from config.
84761
84762 2003-10-16  Jim Meyering  <jim@meyering.net>
84763
84764         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
84765         memcpy.
84766
84767 2003-10-15  Paul Eggert  <eggert@twinsun.com>
84768
84769         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
84770         (SIZE_MAX): Remove.
84771         (new_exclude, add_exclude_file): Initial size no longer needs to
84772         be a power of 2.
84773         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
84774         our own address arithmetic overflow checking.
84775
84776         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
84777         (fnmatch): Do not alloca more than 2000 wide characters;
84778         instead, use malloc for large buffers.
84779         Check for address arithmetic overflow, and return -1
84780         with errno set to ENOMEM in that case.
84781         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
84782         (NEW_PATTERN): Do not alloca more than 8000 bytes;
84783         instead, return -1.  Check for address arithmetic overflow.
84784
84785 2003-10-14  Paul Eggert  <eggert@twinsun.com>
84786
84787         Handle invalid suffixes and overflow independently, so that
84788         callers can treat them independently as needed.  Fix some bugs in
84789         suffix handling, e.g., "100k@" was not diagnosed as an invalid
84790         suffix for a human-readable blocksize.  The major caller-visible
84791         change is the addition of a new
84792         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
84793         that both overflow and suffix chars were found.
84794
84795         * lib/human.c (humblock): Don't check separately for invalid suffix
84796         char; that is xstrtoumax's job (now that its bug is fixed).
84797         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
84798         INTMAX_MAX]: New macros.
84799         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
84800         TYPE_MAXIMUM): New macros.
84801         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
84802         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
84803         if overflow occurs, as it's what __strtol does and it's more useful
84804         in practice.
84805         (__xstrtol): If __strtol reports some error other than ERANGE,
84806         reflect it to the caller as LONGINT_INVALID.  If it reports
84807         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
84808         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
84809         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
84810         value.
84811         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
84812         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
84813         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
84814         [defined UINTMAX_MAX]: New macros.
84815
84816 2003-10-14  Bruno Haible  <bruno@clisp.org>
84817
84818         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
84819
84820 2003-10-14  Bruno Haible  <bruno@clisp.org>
84821
84822         * m4/sig_atomic_t: New file, from GNU gettext.
84823         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
84824
84825 2003-10-14  Bruno Haible  <bruno@clisp.org>
84826
84827         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
84828         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
84829         Also use volatile where needed.
84830
84831 2003-10-12  Paul Eggert  <eggert@twinsun.com>
84832
84833         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
84834         Change maintainer from Bruno Haible to 'all'.
84835
84836 2003-10-12  Paul Eggert  <eggert@twinsun.com>
84837
84838         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
84839
84840 2003-10-12  Paul Eggert  <eggert@twinsun.com>
84841
84842         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
84843         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
84844         and define in terms of the other primitives.
84845         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
84846         (SIZE_MAX): Define if not already defined.
84847         (array_size_overflow): New function.
84848         (xalloc_die): Abort instead of exiting if 'error' returns.
84849         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
84850         (xmalloc, xrealloc): Use them.
84851         (xcalloc): Check for address arithmetic overflow.
84852         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
84853         a bit faster than strcpy.
84854
84855 2003-10-10  Simon Josefsson  <jas@extundo.com>
84856
84857         * modules/argp (Depends-on): Add restrict and strcase.
84858
84859 2003-10-10  Simon Josefsson  <jas@extundo.com>
84860
84861         * m4/argp.m4: Add AC_C_INLINE.
84862
84863 2003-10-08  Paul Eggert  <eggert@twinsun.com>
84864
84865         Merge getpass from libc, plus a few fixes.
84866
84867         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
84868         Include <stdbool.h>.
84869         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
84870         __fsetlocking to empty.
84871         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
84872         do include <bits/libc-lock.h>.
84873         Do not include <fcntl.h>; not needed.
84874         [_LIBC]: Include <wchar.h>.
84875         (NOTCANCEL_MODE): New macro.
84876         (flockfile, funlockfile) [_LIBC]: New macros.
84877         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
84878         [!_LIBC]: New macros.
84879         (call_fclose): New function.
84880         (getpass): Use it.  Save tty stream separately; this simplifies the
84881         code and makes it more reliable if stdin happens to equal stdout.
84882         Invoke __fsetlocking on tty.
84883         Handle thread cancellation if needed.
84884         Namespace cleanup (use __tcgetattr, __getline).
84885         Use bool for Booleans.
84886         [USE_IN_LIBIO]: Handle wide streams.
84887         [!_LIBC]: Unconditionally do the fseek, since we don't know what
84888         stream might go where.
84889
84890         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
84891         doesn't have to include <stdio.h> before us.
84892         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
84893         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
84894         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
84895         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
84896         if not declared, so that we can use getpass.c code from libc without
84897         rewriting it.
84898         (flockfile, ftrylockfile, funlockfile): New macros.
84899
84900 2003-10-08  Paul Eggert  <eggert@twinsun.com>
84901
84902         * modules/getpass: Depend on stdbool.
84903
84904 2003-10-08  Paul Eggert  <eggert@twinsun.com>
84905
84906         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
84907
84908 2003-10-07  Karl Berry  <karl@gnu.org>
84909
84910         * config/config.{guess,sub}: update from config.
84911
84912 2003-10-06  Jim Meyering  <jim@meyering.net>
84913             Bruno Haible  <bruno@clisp.org>
84914
84915         This lets translators provide better translations for the
84916         "Written by ..." part of --version output.
84917         * lib/version-etc.h: Include stdarg.h.
84918         (version_etc_copyright): Declare as readonly.
84919         (version_etc): Make this function variadic with a NULL-terminated list
84920         of author name strings.
84921         (version_etc_va): New declaration.
84922         * lib/version-etc.c: Include stdarg.h, stdlib.h.
84923         (version_etc_copyright): Declare as readonly.
84924         (version_etc_va): New function. Provide a different translatable string
84925         for each possible number of authors < 10. Abbreviate when there are 10
84926         authors or more.
84927         (version_etc): Make this function variadic. Call version_etc_va.
84928         Suggestion from Gary V. Vaughan.
84929
84930         * lib/long-options.h (parse_long_options): Change prototype: the
84931         authors string is moved to the end and becomes variadic.
84932         * lib/long-options.c: Include stdarg.h.
84933         (parse_long_options): Make this function variadic, too.
84934         Call version_etc_va, not version_etc.
84935
84936 2003-10-06  Bruno Haible  <bruno@clisp.org>
84937
84938         * modules/version-etc-2: Remove file.
84939         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
84940
84941 2003-10-06  Bruno Haible  <bruno@clisp.org>
84942
84943         * modules/fatal-signal: New file.
84944         * MODULES.html.sh (func_all_modules): Add fatal-signal.
84945
84946 2003-10-06  Bruno Haible  <bruno@clisp.org>
84947
84948         * m4/fatal-signal.m4: New file.
84949         * m4/signalblocking.m4: New file, from GNU gettext.
84950
84951 2003-10-06  Bruno Haible  <bruno@clisp.org>
84952
84953         * lib/version-etc-2.h: Remove file.
84954         * lib/version-etc-2.c: Remove file.
84955
84956 2003-10-06  Bruno Haible  <bruno@clisp.org>
84957
84958         * lib/fatal-signal.h: New file, from GNU gettext.
84959         * lib/fatal-signal.c: New file, from GNU gettext.
84960
84961 2003-10-05  Paul Eggert  <eggert@twinsun.com>
84962
84963         * README: Rework advice for preventing empty .o files.
84964         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
84965         not <sys/types.h>.
84966
84967 2003-10-04  Karl Berry  <karl@gnu.org>
84968
84969         * lib/argp*: update from libc.
84970
84971 2003-10-04  Karl Berry  <karl@gnu.org>
84972
84973         * config/config.{guess,sub}: update from config.
84974
84975 2003-10-02  Bruno Haible  <bruno@clisp.org>
84976
84977         * modules/lchown (Include): Add lchown.h.
84978         * modules/time_r (Include): Use "..." syntax.
84979         * modules/xgetdomainname (Include): Add xgetdomainname.h.
84980
84981 2003-10-01  Simon Josefsson  <jas@extundo.com>
84982
84983         * MODULES.html.sh (func_all_modules): Move gethostname from section
84984         'based on' to section 'lacking' POSIX:2001.
84985
84986 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
84987
84988         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
84989         to output mode on the same stream.
84990
84991 2003-09-29  Paul Eggert  <eggert@twinsun.com>
84992
84993         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
84994         Fix arg typo in previous patch.
84995
84996 2003-09-28  Jim Meyering  <jim@meyering.net>
84997
84998         * lib/error.c: Correct cpp indentation.
84999
85000 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85001
85002         * modules/free: New file.
85003
85004 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85005
85006         * m4/free.m4: New file.
85007
85008 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85009
85010         * lib/minmax.h (MIN, MAX)
85011         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
85012         Omit the special code that used __typeof__, since we worry that
85013         it could be more trouble than it's worth.  See:
85014         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
85015         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
85016
85017         * lib/free.c: New file.
85018
85019 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
85020
85021         Trivial fixes to Makefile.am parts of module listings.
85022         * modules/strstr: Append strstr.h to lib_SOURCES.
85023         * modules/strcase: Likewise, for strcase.h.
85024
85025 2003-09-27  Karl Berry  <karl@gnu.org>
85026
85027         * config/mkinstalldirs: update from automake.
85028
85029 2003-09-26  Paul Eggert  <eggert@twinsun.com>
85030
85031         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
85032         (error_tail): Do not loop, reallocating temporary buffer, since
85033         the output cannot contain more wide characters than the input
85034         contains bytes, the size must be big enough already.  This avoids
85035         one potential size overflow calculation.  Check for size overflow
85036         when calculating temporary buffer size.  Free temporary buffer
85037         when done, if it was allocated with malloc; this plugs a memory
85038         leak.  Remove casts from void * to pointers, that are no longer
85039         needed now that we're assuming C89 or better.
85040
85041         Merge error changes from glibc.
85042
85043         * lib/error.c, error.h: Update copyright notice header to match glibc.
85044         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
85045         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
85046         Disable cancellation while printing error.
85047         * lib/error.h: Prepend __ to parameter names.
85048
85049 2003-09-26  Jim Meyering  <jim@meyering.net>
85050
85051         * lib/error.c (error_tail): Move some declarations
85052         into inner scope where the local variables are used.
85053
85054 2003-09-26  Bruno Haible  <bruno@clisp.org>
85055
85056         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
85057         stpncpy().
85058         Don't define stpncpy through config.h; it's now done through stpncpy.h.
85059
85060 2003-09-26  Bruno Haible  <bruno@clisp.org>
85061
85062         * lib/stpncpy.h (gnu_stpncpy): New declaration.
85063         (stpncpy): Define as alias for gnu_stpncpy.
85064         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
85065
85066 2003-09-25  Simon Josefsson  <jas@extundo.com>
85067
85068         * lib/xgetdomainname.h: New file.
85069         * lib/xgetdomainname.c: New file.
85070
85071 2003-09-25  Simon Josefsson  <jas@extundo.com>
85072             Bruno Haible  <bruno@clisp.org>
85073
85074         * modules/getdomainname: New file.
85075         * modules/xgetdomainname: New file.
85076         * MODULES.html.sh (func_all_modules): Add getdomainname,
85077         xgetdomainname.
85078
85079 2003-09-25  Simon Josefsson  <jas@extundo.com>
85080             Bruno Haible  <bruno@clisp.org>
85081
85082         * m4/getdomainname.m4: New file.
85083
85084 2003-09-25  Simon Josefsson  <jas@extundo.com>
85085             Bruno Haible  <bruno@clisp.org>
85086
85087         * lib/getdomainname.h: New file.
85088         * lib/getdomainname.c: New file.
85089
85090 2003-09-25  Karl Berry  <karl@gnu.org>
85091
85092         * lib/argp-fmtstream.c, argp-help.c: update from libc.
85093
85094 2003-09-25  Karl Berry  <karl@gnu.org>
85095
85096         * config/install-sh: update from automake.
85097
85098 2003-09-25  Bruno Haible  <bruno@clisp.org>
85099
85100         * modules/version-etc-2: New file, from modules/version-etc with
85101         modifications.
85102         * MODULES.html.sh (func_all_modules): Add version-etc-2.
85103
85104 2003-09-25  Bruno Haible  <bruno@clisp.org>
85105
85106         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
85107         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
85108
85109 2003-09-24  Simon Josefsson  <jas@extundo.com>
85110
85111         * modules/xgethostname: Add xgethostname.h.
85112
85113 2003-09-24  Paul Eggert  <eggert@twinsun.com>
85114
85115         * lib/linebuffer.c (freebuffer): Don't free the argument, just
85116         the buffer associated with the argument.  Bug reported by
85117         Simon Josefsson.
85118
85119 2003-09-24  Paul Eggert  <eggert@twinsun.com>
85120
85121         * README: Document assumptions that 'int' is at least 32 bits
85122         wide, that integer arithmetic is 2's complement without overflow,
85123         that there are no holes in integer values, that adding sizes of
85124         two nonoverlapping objects can't overflow, and that all-bits-zero
85125         yields scalar zero.  Fix spelling and capitalization typos.
85126
85127 2003-09-19  Karl Berry  <karl@gnu.org>
85128
85129         * lib/argp.h: update from libc.
85130
85131 2003-09-17  Paul Eggert  <eggert@twinsun.com>
85132
85133         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
85134         to avoid spurious warnings like "AC_RUN_IFELSE was called before
85135         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
85136
85137 2003-09-17  Paul Eggert  <eggert@twinsun.com>
85138
85139         * gnulib-tool: Use "test -h", not "test -L", for portability
85140         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
85141         (tags_regexp): Remove, since \| doesn't conform to POSIX.
85142         (sed_extract_prog): Issue s commands one-by-one, rather than
85143         using \| in one s command.
85144
85145 2003-09-16  Paul Eggert  <eggert@twinsun.com>
85146
85147         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
85148         input error, instead of returning NULL the next time we are called
85149         (and therefore losing track of errno).
85150
85151 2003-09-16  Bruno Haible  <bruno@clisp.org>
85152
85153         * gnulib-tool (func_create_testdir): Warn about duplicated
85154         dependencies.
85155
85156 2003-09-15  Paul Eggert  <eggert@twinsun.com>
85157
85158         * modules/argmatch, modules/fatal, modules/obstack,
85159         modules/xalloc, modules/xgethostname: Sort dependencies by
85160         importance, not alphabetically.
85161
85162 2003-09-15  Paul Eggert  <eggert@twinsun.com>
85163
85164         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
85165         fails, so that the caller gets the proper errno.
85166
85167         * lib/readutmp.c (read_utmp): Likewise.
85168         Check for fstat error.  Close stream and free storage
85169         when failing.
85170
85171 2003-09-14  Karl Berry  <karl@gnu.org>
85172
85173         * config/srclist.txt (strdup.c): disable for c89 changes.
85174
85175 2003-09-14  Jim Meyering  <jim@meyering.net>
85176
85177         * lib/getloadavg.c: Correct cpp indentation.
85178         * lib/strdup.c: Likewise.
85179         * lib/vasnprintf.c: Likewise.
85180
85181 2003-09-14  Bruno Haible  <bruno@clisp.org>
85182
85183         * modules/fwriteerror: New file.
85184         * MODULES.html.sh (func_all_modules): Add fwriteerror.
85185
85186 2003-09-14  Bruno Haible  <bruno@clisp.org>
85187
85188         * lib/fwriteerror.h: New file.
85189         * lib/fwriteerror.c: New file.
85190
85191 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85192
85193         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
85194         modules/xgethostname, modules/xalloc: Depend on exit.
85195
85196 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85197
85198         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
85199
85200         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
85201         and AC_MINIX, too, so that their extensions are available.
85202
85203         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
85204         This macro has been superseded by gl_BACKUPFILE.
85205
85206         More patches to assume C89 or better.
85207
85208         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
85209
85210         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
85211         unconditionally.
85212         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
85213         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
85214         Include <string.h>, <stdlib.h> unconditionally.
85215         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
85216         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
85217         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
85218         headers or for string.h.
85219         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
85220         or strtoul.
85221
85222         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
85223         headers.
85224         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
85225         * m4/userspec.m4 (gl_USERSPEC): Likewise.
85226         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
85227         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
85228         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
85229         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
85230         memcpy, memset.
85231         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
85232         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
85233         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
85234         strtol.
85235         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
85236         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
85237         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
85238         strtoul.
85239
85240 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85241
85242         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
85243         * lib/obstack.c [!defined _LIBC]: Likewise.
85244         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
85245         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
85246         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
85247
85248         More changes to assume C89 or better.
85249
85250         * lib/error.c (error_tail): Assume vprintf.
85251
85252         * lib/argmatch.c (getenv): Remove decl.
85253         * lib/progreloc.c (get_full_program_name): Define via prototype.
85254         * lib/setenv.c (clearenv): Likewise.
85255         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
85256         needed.
85257         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
85258         (malloc, memcpy): Remove decls.
85259         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
85260         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
85261         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
85262         (memcpy): Remove macro.
85263         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
85264         (__P): Remove.  All uses removed.
85265         (PTR): Remove.  All uses changed to void *.
85266         (CHAR_BIT, NULL): Remove.
85267         (spaces, zeros, memset_space, memset_zero)
85268         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
85269         Remove.
85270         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
85271         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
85272         Define with prototype.
85273         Remove now-unnecessary prototype decl.
85274         (extra_args_spec): Assume ANSI C.  All uses changed.
85275         (extra_args_spec_iso): Remove.
85276         (my_strftime, emacs_strftimeu): Define via prototype.
85277         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
85278         unconditionally.
85279         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
85280         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
85281         (strtoul, strtol): Remove decls.
85282         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
85283         LONG_MAX): Remove.
85284         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
85285         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
85286         (LOCALE_PARAM_PROTO): New macro.
85287         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
85288         (INTERNAL (strtol), strtol): Define with a prototype.
85289         (PARAMS): Remove.  All uses removed.
85290         * lib/tempname.c: Include <string.h> unconditionally.
85291         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
85292         * lib/xgethostname.c (main): Define with a prototype.
85293         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
85294         Include <stdlib.h> unconditionally.
85295         (calloc, malloc, realloc, free): Remove decls.
85296         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
85297         Include <stdlib.h> unconditionally.  Sort include file names.
85298         (strtod): Remove.
85299         (xstrtod): Define with a prototype.
85300         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
85301         (strtol, strtoul): Remove decls.
85302
85303 2003-09-11  Paul Eggert  <eggert@twinsun.com>
85304
85305         More patches to assume C89 or better.
85306         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
85307         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
85308         string.h, memchr, STDC_HEADERS.
85309
85310 2003-09-11  Paul Eggert  <eggert@twinsun.com>
85311
85312         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
85313         Include <stdlib.h>, <string.h> unconditionally.
85314         Remove now-unnecessary cast to char *.
85315         * lib/strnlen.c: Include <string.h> unconditionally.
85316         * lib/yesno.c (yesno): Define with a prototype.
85317
85318 2003-09-11  Bruno Haible  <bruno@clisp.org>
85319
85320         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
85321
85322 2003-09-10  Jim Meyering  <jim@meyering.net>
85323
85324         * lib/error.c: Correct indentation of cpp directives.
85325
85326 2003-09-10  Bruno Haible  <bruno@clisp.org>
85327
85328         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
85329         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
85330         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
85331         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
85332         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
85333         <stdlib.h> and <string.h> checks.
85334         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
85335         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
85336
85337 2003-09-10  Bruno Haible  <bruno@clisp.org>
85338
85339         * lib/strcspn.c: Include <string.h> unconditionally.
85340         * lib/strpbrk.c: Include <string.h> unconditionally.
85341         * lib/strstr.c: Include <string.h> unconditionally.
85342         * lib/unicodeio.c: Include <string.h> unconditionally.
85343         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
85344         * lib/unsetenv.c: Likewise.
85345         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
85346         * lib/yesno.c: Include <stdlib.h> unconditionally.
85347         (rpmatch): Add prototype.
85348
85349 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85350
85351         More patches to assume C89 or better.
85352         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
85353         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
85354         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
85355         or for string.h.
85356         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
85357         stdlib.h.
85358         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
85359         C headers.
85360         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
85361         string.h.
85362         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
85363         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
85364         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
85365         or for string.h.
85366         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
85367         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
85368         C headers.
85369         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
85370         memcpy.
85371         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
85372         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
85373         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
85374         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
85375         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
85376         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
85377         string.h, free.
85378         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
85379         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
85380         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
85381         C headers, or for string.h.
85382         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
85383         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
85384         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
85385         headers, memory.h, stdlib.h, string.h, strings.h.
85386         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
85387         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
85388         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
85389         strchr.
85390         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
85391         headers, memory.h, string.h.
85392         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
85393         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
85394         free.
85395         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
85396         headers.
85397         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
85398         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
85399         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
85400         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
85401         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
85402
85403 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85404
85405         More K&R removal.
85406
85407         * lib/acosl.c (main): Use a prototype.
85408         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
85409         tanl.c: Likewise.
85410
85411         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
85412
85413         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
85414         (getopt, etopt_long, getopt_long_only, _getopt_internal)
85415         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
85416         with a prototype.
85417         * lib/getopt.c (const): Remove macro.
85418         Include <string.h> unconditionally.
85419         (my_index): Remove; all uses changed to strchr.
85420         (strlen): Remove decl.
85421         (exchange): Remove forward decl; no longer needed.
85422         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
85423         Define with prototype.
85424         * lib/getopt1.c (const): Remove macro.
85425         (getopt_long, getopt_long_only, main): Define with prototype.
85426
85427         * lib/getugroups.c: Include <string.h> unconditionally.
85428
85429         * lib/getusershell.c: Include <stdlib.h> unconditionally.
85430         (getusershell, setusershell, endusershell, readname, main):
85431         Define with prototypes.
85432
85433         * lib/group-member.c: Include group-member.h first.
85434         Include <stdlib.h> unconditionally.
85435
85436         * lib/hard-locale.c: Include hard-locale.h first.
85437         Include <stdlib.h>, <string.h> unconditionally.
85438
85439         * lib/hash.c (free, malloc): Remove decls.
85440         Include <stdlib.h> unconditionally.
85441
85442         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
85443         (getenv): Do not declare.
85444
85445         * lib/idcache.c: Include <string.h> unconditionally.
85446
85447         * lib/long-options.c: Include long-options.h first, to test interface.
85448         Include <stdlib.h> unconditionally.
85449
85450         * lib/makepath.c: Include makepath.h first, to test interface.
85451         Include <stdlib.h> and <string.h> unconditionally.
85452
85453         * lib/linebuffer.c: Include <stdlib.h>.
85454         (free): Remove decl.
85455
85456         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
85457         stddef.h. rpl_malloc returns void *, not char *.
85458         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
85459         prototype.
85460
85461         * lib/md5.h: Include <limits.h> unconditionally.
85462         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
85463         (__P): Remove; all uses removed.
85464         * lib/md5.c: Include "md5.h" first.
85465         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
85466         md5_buffer, md5_process_bytes, md5_process_block):
85467         Define with prototypes.
85468         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
85469         * lib/sha.c: Include "sha.h" first.
85470         Include <stdlib.h>, <string.h> unconditionally.
85471
85472         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
85473         * lib/memcmp.c (__ptr_t): Likewise.
85474         * lib/memrchr.c (__ptr_t): Likewise.
85475         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
85476         Include <string.h> unconditionally.
85477         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
85478         * lib/memchr.c: Include <stdlib.h> unconditionally.
85479         * lib/memchr.c (LONG_MAX): Remove.
85480         * lib/memrchr.c (LONG_MAX): Likewise.
85481         * lib/memchr.c (__memchr): Define via a prototype.
85482         * lib/memrchr.c (__memrchr): Likewise.
85483         * lib/memcmp.c (__P): Remove, and remove all uses.
85484         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
85485         Remove forward decls; no longer needed.
85486         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
85487         Use types required by C89 in prototype.
85488
85489         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
85490         * lib/savedir.c: Likewise.
85491         * lib/mkdir.c (free): Remove decl.
85492         * lib/rmdir.c (rmdir): Define with a prototype.
85493         * lib/savedir.c: Include savedir.h first, to test interface.
85494
85495         * lib/mktime.c (STDC_HEADERS): Remove.
85496         Include <stdlib.h>, <string.h> unconditionally.
85497
85498         * lib/modechange.c: Include <stdlib.h> unconditionally.
85499         (malloc): Remove decl.
85500
85501         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
85502         (free): Remove decl.
85503
85504         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
85505         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
85506         (This type really should be intptr_t, but that's a C99ism.)
85507         (_obstack_memcpy): Remove: all uses changed to memcpy.
85508         Include <string.h> unconditionally.
85509         (struct obstack): Assume __STDC__ for types of members
85510         chunkfun, freefun, extra_arg.
85511         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
85512         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
85513         obstack_begin, obstack_specify_allocation,
85514         obstack_specify_allocation_with_arg, obstack_chunkfun,
85515         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
85516         Remove unprototyped decls and the macros that use them.
85517         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
85518         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
85519         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
85520         (defined __STDC__ && __STDC__)]:
85521         Remove nonprototyped code.
85522         Include <stdlib.h> unconditionally.
85523         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
85524         _obstack_allocated_p, _obstack_free, obstack_free,
85525         _obstack_memory_used, print_and_abort):
85526         Define using prototypes.
85527         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
85528         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
85529         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
85530         obstack_next_free, obstack_object_size, obstack_room) [0]:
85531         Remove unused, unprototyped code.
85532
85533         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
85534
85535         * lib/physmem.c (physmem_total, physmem_available, main): Define
85536         with prototypes.
85537
85538         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
85539         (main): Define with a prototype.
85540
85541         * lib/posixver.c (getenv): Remove decl.
85542
85543         * lib/putenv.c (malloc): Returns void *, not char *.
85544         Include <string.h> unconditionally.
85545         (strchr, memcpy, NULL): Do not define.
85546
85547         * lib/readtokens.c: Include readtokens.h first, to test interface.
85548         Include <stdlib.h>, <string.h> unconditionally.
85549         (init_tokenbuffer): Define with a prototype.
85550
85551         * lib/regex.c (PARAMS): Remove.  All uses removed.
85552         All uses of _RE_ARGS removed, too.
85553         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
85554         unconditionally.
85555         (bzero): Assume memset exists.
85556         (memcmp, memcpy, NULL): Remove.
85557         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
85558         char, or assignments to local vars of type signed char.
85559         (init_syntax_once, PREFIX(extract_number_and_incr),
85560         PREFIX(print_partial_compiled_pattern),
85561         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
85562         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
85563         PREFIX(regex_grow_registers), PREFIX(regex_compile),
85564         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
85565         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
85566         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
85567         wcs_compile_range, byte_compile_range, truncate_wchar,
85568         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
85569         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
85570         count_mbs_length, wcs_re_match_2_internal,
85571         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
85572         PREFIX(alt_match_null_string_p),
85573         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
85574         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
85575         regfree, PREFIX(extract_number)): Define with prototype.  Remove
85576         now-unnecessary declaration, if any.
85577         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
85578         regcomp, regexec):
85579         Remove now-unnecessary casts among pointer types.
85580         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
85581
85582         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
85583         (free): Remove decl.
85584
85585         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
85586
85587         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
85588         (free): Remove decl.
85589
85590         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
85591         * lib/xgetcwd.c: Likewise.
85592
85593         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
85594         (free): Remove decl.
85595
85596         * lib/strchrnul.c (strchrnul): Define with a prototype.
85597         Fix bug: c_in was not converted to char before searching.
85598
85599         The following changes are not K&R related:
85600
85601         * lib/group-member.h: Include <sys/types.h>, so that this file is
85602         self-contained.
85603         * lib/makepath.h: Likewise.
85604
85605         * lib/getusershell.c (readname, default_index, line_size, readname):
85606         Use size_t, not int, for sizes.
85607         (readname): If the size overflows, report an error instead of
85608         looping forever.
85609
85610 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85611
85612         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
85613         libc.
85614
85615 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85616
85617         * README: New section: portability guidelines.
85618
85619 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
85620
85621         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
85622         C89 spec.
85623
85624 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
85625
85626         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
85627
85628 2003-09-08  Paul Eggert  <eggert@twinsun.com>
85629
85630         Assume C89 or better; remove K&R cruft.
85631         A few of these changes were first proposed by Derek Robert Price
85632         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
85633
85634         * lib/addext.c: Include <string.h> unconditionally.
85635         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
85636         Don't declare getenv or malloc.
85637
85638         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
85639         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
85640         (NULL): Remove.
85641         (find_stack_direction, alloca): Use prototypes.
85642
85643         * lib/atexit.c (atexit): Define using a prototype.
85644
85645         * lib/basename.c, dirname.c, stripslash.c:
85646         Include <string.h> unconditionally.
85647
85648         * lib/bcopy.c: Include <stddef.h>.
85649         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
85650
85651         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
85652
85653         * lib/error.h (error, error_at_line, error_print_progname)
85654         [! (defined (__STDC__) && __STDC__)]: Remove decls.
85655         * lib/error.c: Include error.h first, to check interface.
85656         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
85657         (VA_START): Remove; all uses changeed to va_start.
85658         (exit, strerror): Remove decls.
85659         (error_print_progname): Prototype uncondionally.
85660         Don't include <errno.h>; no longer needed.
85661         (private_strerror): Remove.
85662         (error_tail): Always define.
85663         (error, error_at_line): Assume C89 or better; always use prototypes.
85664         * lib/fatal.c: Include "fatal.h" first, to test interface.
85665         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
85666         (VA_START): Remove; all uses changed to va_start.
85667         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
85668         this case.
85669         (exit): Remove decl.
85670         (fatal): Prototype unconditionally.  Assume va_start works.
85671         Abort at end, to pacify gcc.
85672
85673         * lib/euidaccess.c (main): Define with a prototype.
85674
85675         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
85676
85677         * lib/exitfail.c: Include <stdlib.h> unconditionally.
85678
85679         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
85680         prototypes.
85681         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
85682         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
85683         (getenv): Remove decl.
85684         (fnmatch): Define using a prototype.
85685         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
85686         (FCT): Define using a prototype.
85687
85688         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
85689
85690         * lib/gethostname.c: Include <stddef.h>.
85691         (gethostname): Define with prototype.  Length is size_t, not int.
85692
85693 2003-09-08  Paul Eggert  <eggert@twinsun.com>
85694
85695         Assume C89 or better; remove K&R cruft.
85696         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
85697         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
85698         string.h, getenv, malloc.
85699         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
85700         headers.
85701         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
85702         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
85703         do not check for strerror.
85704         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
85705         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
85706         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
85707         do not check for doprnt or vprintf.
85708         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
85709         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
85710
85711 2003-09-08  Paul Eggert  <eggert@twinsun.com>
85712
85713         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
85714         getversion.c should have been removed then, but was accidentally
85715         preserved.
85716
85717         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
85718         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
85719
85720 2003-09-08  Karl Berry  <karl@gnu.org>
85721
85722         * config/config.sub, config.guess, srclistvars.sh: update from savannah
85723                 config, forget about prep.
85724
85725         * config/depcomp, missing: update from automake.
85726
85727 2003-09-07  Paul Eggert  <eggert@twinsun.com>
85728
85729         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
85730         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
85731
85732 2003-09-07  Paul Eggert  <eggert@twinsun.com>
85733
85734         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
85735         copy_tm_result.  Bug reported by Simon Josefsson in
85736         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
85737
85738 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85739
85740         * m4/time_r.m4: New file.
85741         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
85742         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
85743         is. Check for timegm declaration.
85744         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
85745         Do not check for gmtime_r.
85746         Replace mktime if __mktime_internal does not exist and if mktime
85747         hasn't been replaced already.
85748
85749 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85750
85751         * lib/time_r.c, lib/time_r.h: New files.
85752
85753         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
85754         __localtime_r.
85755         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
85756         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
85757
85758         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
85759         __gmtime_r.
85760         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
85761         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
85762         Include <time_r.h>.
85763
85764         * lib/timegm.c: Switch to glibc implementation, with the following
85765         changes:
85766         [defined HAVE_CONFIG_H]: Include <config.h>.
85767         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
85768         (__mktime_internal) [!defined _LIBC]: New decl.
85769         (__gmtime_r) [!defined _LIBC]: New macro and function.
85770         (timegm): Use a prototype, since gnulib assumes C89.
85771         Do not bother declaring tmp to be const, as it's not really usefu.
85772         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
85773         (timegm): Declare only if HAVE_DECL_TIMEGM.
85774
85775 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85776
85777         * MODULES.html.sh (func_all_modules): Add time_r.
85778         * modules/time_r: New file.
85779         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
85780         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
85781
85782 2003-09-03  Paul Eggert  <eggert@twinsun.com>
85783
85784         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
85785         Bug reported by Lute Kamstra in
85786         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
85787
85788         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
85789         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
85790         course with correspondingly smaller numbers for tomorrow and
85791         yesterday.  From Tadayoshi Funaba.  Originally installed into
85792         sh-utils on 1999-08-07, but the patch got lost (I guess during the
85793         coreutils merge?).
85794
85795 2003-08-31  Simon Josefsson  <jas@extundo.com>
85796
85797         * modules/timegm: New file.
85798         * MODULES.html.sh (func_all_modules): Add timegm.
85799
85800 2003-08-31  Simon Josefsson  <jas@extundo.com>
85801
85802         * m4/timegm.m4: New file.
85803
85804 2003-08-31  Simon Josefsson  <jas@extundo.com>
85805
85806         * lib/timegm.h: New file.
85807         * lib/timegm.c: New file.  Based on
85808         wget-1.8.2/src/http.c:mktime_from_utc.
85809
85810 2003-08-31  Karl Berry  <karl@gnu.org>
85811
85812         * lib/argp.h: update from libc.
85813
85814 2003-08-28  Bruno Haible  <bruno@clisp.org>
85815
85816         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
85817         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
85818         followed by '#define fnmatch fnmatch_posix' gives an error.
85819
85820 2003-08-28  Bruno Haible  <bruno@clisp.org>
85821
85822         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
85823         warning on QNX, which defines O_BINARY to 000000.
85824
85825 2003-08-27  Jim Meyering  <jim@meyering.net>
85826
85827         * m4/mkstemp.m4: Require that the system mkstemp be able to create
85828         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
85829         would fail after 32.  Reported by Danny Levinson.  Details here:
85830         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
85831
85832 2003-08-24  Bruno Haible  <bruno@clisp.org>
85833
85834         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
85835         MSVC7 <stdio.h> is included later.
85836
85837 2003-08-22  Simon Josefsson  <jas@extundo.com>
85838
85839         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
85840
85841 2003-08-20  Karl Berry  <karl@gnu.org>
85842
85843         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
85844
85845 2003-08-20  Bruno Haible  <bruno@clisp.org>
85846
85847         * modules/progname: New file.
85848         * MODULES.html.sh (func_all_modules): Add progname.
85849
85850 2003-08-20  Bruno Haible  <bruno@clisp.org>
85851
85852         * lib/progname.h: New file, from GNU gettext.
85853         * lib/progname.c: New file, from GNU gettext.
85854         * lib/progreloc.c: New file, from GNU gettext.
85855
85856 2003-08-19  Jim Meyering  <jim@meyering.net>
85857
85858         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
85859         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
85860
85861 2003-08-19  Bruno Haible  <bruno@clisp.org>
85862
85863         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
85864         more.
85865
85866 2003-08-19  Bruno Haible  <bruno@clisp.org>
85867
85868         * lib/xstrdup.c: Assume <string.h> exists.
85869
85870 2003-08-18  Paul Eggert  <eggert@twinsun.com>
85871
85872         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
85873         in makefile rules.
85874
85875 2003-08-18  Jim Meyering  <jim@meyering.net>
85876
85877         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
85878         * m4/lib-ld.m4: Likewise.
85879
85880 2003-08-18  Jim Meyering  <jim@meyering.net>
85881
85882         * lib/setenv.h: Indent nested cpp directive.
85883         * lib/vasnprintf.c: Remove trailing blanks.
85884
85885 2003-08-17  Simon Josefsson  <jas@extundo.com>
85886
85887         * modules/xstrndup: New file.
85888         * MODULES.html.sh (func_all_modules): Add xstrndup.
85889
85890 2003-08-17  Simon Josefsson  <jas@extundo.com>
85891
85892         * modules/argp: Fix autoconf macro name. Add more dependencies.
85893
85894 2003-08-17  Simon Josefsson  <jas@extundo.com>
85895
85896         * m4/xstrndup.m4: New file.
85897
85898 2003-08-17  Simon Josefsson  <jas@extundo.com>
85899
85900         * m4/argp.m4: New file.
85901
85902 2003-08-17  Simon Josefsson  <jas@extundo.com>
85903             Bruno Haible  <bruno@clisp.org>
85904
85905         * lib/xstrndup.h: New file.
85906         * lib/xstrndup.c: New file.
85907
85908 2003-08-17  Bruno Haible  <bruno@clisp.org>
85909
85910         * modules/strndup (Files, Include): Add lib/strndup.h.
85911
85912 2003-08-17  Bruno Haible  <bruno@clisp.org>
85913
85914         * modules/euidaccess (Files): Add lib/euidaccess.h.
85915
85916 2003-08-17  Bruno Haible  <bruno@clisp.org>
85917
85918         * lib/strndup.h: New file.
85919
85920 2003-08-17  Bruno Haible  <bruno@clisp.org>
85921
85922         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
85923         like AC_GNU_SOURCE.
85924         * modules/extensions (configure.ac): Comment out the invocation of
85925         gl_USE_SYSTEM_EXTENSIONS.
85926
85927 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85928
85929         Merges from coreutils, etc.
85930         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
85931         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
85932         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
85933         fixing a typo.
85934         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
85935         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
85936
85937 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85938
85939         Document merge from coreutils.
85940         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
85941         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
85942         * modules/utime: Add m4/utimes-null.m4.
85943
85944 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85945
85946         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
85947         space, undoing this 2003-08-12 change:
85948         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
85949
85950 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85951
85952         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
85953         strtoul.c from libc, undoing this 2003-08-12 change:
85954         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
85955
85956 2003-08-16  Jim Meyering  <jim@meyering.net>
85957
85958         Merges from coreutils.
85959         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
85960         prefix.  Adjust cache variables similarly.  Create 500 rather than
85961         just 300 files, to exercise bug on Darwin6.5, too.
85962         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
85963         $missing_dir.
85964         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
85965         AM_SYS_POSIX_TERMIOS.
85966         Reported by mkc@mathdogs.com.
85967         Also change use of $am_cv_sys_posix_termios
85968         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
85969         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
85970         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
85971         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
85972         in /proc/mounts until it finds one with matching device number.  This
85973         is unnecessary when the FILE argument *is* a mount point.  No stat call
85974         is necessary in that case.  So, disable the statvfs-testing code on
85975         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
85976         as RedHat bug# 84846.
85977         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
85978         to 1MB, so as not to render systems with no stack size limit (e.g.,
85979         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
85980         Include <unistd.h>.  On some systems,
85981         it is required for the definition of _SC_PAGESIZE.
85982
85983 2003-08-16  Jim Meyering  <jim@meyering.net>
85984
85985         Merge from coreutils.
85986         * lib/xstrtoimax.c: #else #if -> #elif.
85987         * lib/xstrtoumax.c: Likewise.
85988
85989 2003-08-16  Jim Meyering  <jim@meyering.net>
85990
85991         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
85992         * m4/utimes.m4: Removed.
85993         * m4/utimes-null.m4: Renamed from utimes.m4.
85994
85995         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
85996         to 1MB, so as not to render systems with no stack size limit (e.g.,
85997         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
85998         Include <unistd.h>.  On some systems,
85999         it is required for the definition of _SC_PAGESIZE.
86000
86001 2003-08-16  Jim Meyering  <jim@meyering.net>
86002         and Paul Eggert  <eggert@cs.ucla.edu>
86003
86004         Merges from coreutils, etc.
86005
86006         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
86007         using the latest version from cvs.  This avoids problems with #line
86008         directives using a vendor (Sun) compiler.
86009         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
86010         Don't set GETGROUPS_LIB here; now it's
86011         done via getgroups.m4's wrapper function.
86012         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
86013         rather than just in sh-util/configure.in, so that the
86014         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
86015         same.
86016         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
86017         AC_FUNC_GETLOADAVG where to find getloadavg.c.
86018         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
86019         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
86020         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
86021         Remove code that is now done by the newly-required macros.
86022         Append $(EXEEXT) to DF_PROG.
86023         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
86024         Do not invoke or require the following here,
86025         since prereq.m4 or some gnulib .m4 now does this for us:
86026         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
86027         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
86028         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
86029         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
86030         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
86031         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
86032         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
86033         AC_FUNC_OBSTACK.
86034         Do not replace the following functions, as this is now the job
86035         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
86036         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
86037         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
86038         atexit getpass, strdup, getpagesize.
86039         Replace 'raise'.
86040         Do not check for the following functions, as this is now the job
86041         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
86042         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
86043         setregid.
86044         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
86045         Check for sys/sysctl.h.
86046         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
86047         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
86048         of checking for ssize_t ourselves.
86049
86050         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
86051         Require every macro that gnulib/modules/* suggests for us.
86052         (jm_PREREQ_ADDEXT): New macro.
86053         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
86054         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
86055
86056         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
86057         (gl_PHYSMEM): Use it.
86058         Also check for `table' function.
86059         Check for new headers and functions.
86060         Add check for sys/sysmp.h.
86061         With suggestions from Kaveh Ghazi.
86062         Ignore headers that are present but cannot be compiled.  This
86063         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
86064         C 5.4.
86065
86066 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86067
86068         Document merge from coreutils.
86069         * modules/userspec: Depend on posixver.
86070         * modules/strftime: Depend on tzset.
86071
86072 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86073
86074         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
86075         rather than tab, after '#' in shell-script copyright notices.
86076         Suggested by Bruno Haible.
86077
86078 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86079
86080         * config/srclist-update: Use three spaces, rather than tab, after '#'
86081         in shell-script copyright notices.  Suggested by Bruno Haible.
86082         Remove unnecessary parenthesization in regular expression.
86083
86084 2003-08-15  Jim Meyering  <jim@meyering.net>
86085
86086         Merge from coreutils.
86087         * lib/xgethostname.c: Include <stdlib.h>.
86088         (xghostname): Don't exit for anything other than memory-related
86089         failure; just return NULL.
86090         * lib/userspec.c: Include "posixver.h".
86091         (parse_user_spec): Accept `.' as a separator only
86092         in pre-POSIX-200112 mode.
86093         * lib/strtoimax.c: Use #elif rather than #else #if.
86094         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
86095         Remove function, now that we can rely on a working tzset function.
86096         [!_LIBC]: Ensure that the required autoconf test has been run.
86097         [!defined _NL_CURRENT && HAVE_STRFTIME]:
86098         Use underlying_strftime for %r.
86099         * lib/sha.c: Merge in some clean-up and optimization changes from
86100         glibc.
86101         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
86102         Ensure that it is a multiple of 64.
86103         Rearrange loop exit tests so as to avoid performing an
86104         additional fread after encountering an error or EOF.
86105         * lib/realloc.c: Update copyright date.
86106
86107 2003-08-15  Jim Meyering  <jim@meyering.net>
86108         and Paul Eggert  <eggert@twinsun.com>
86109
86110         Merge from coreutils.
86111         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
86112         member but strut utmpx does not.  Needed for AIX 4.3.3.
86113         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
86114
86115 2003-08-15  Jim Meyering  <jim@meyering.net>
86116         and Paul Eggert  <eggert@cs.ucla.edu>
86117
86118         Merges from coreutils, etc.
86119         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
86120         Require gl_FUNC_TZSET_CLOBBER.
86121         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
86122         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
86123         members.
86124
86125 2003-08-14  Paul Eggert  <eggert@twinsun.com>
86126
86127         Help the merge from coreutils.
86128         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
86129         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
86130         * m4/tzset.m4: Use it too.
86131
86132 2003-08-14  Paul Eggert  <eggert@twinsun.com>
86133
86134         * modules/tzset: New file.
86135
86136 2003-08-14  Jim Meyering  <jim@meyering.net>
86137
86138         Merges from coreutils.
86139         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
86140         variable names, rather than @FNMATCH_H@.
86141         * modules/alloca: Likewise for $(ALLOCA_H).
86142
86143         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
86144         the three copies of the literal target, `fnmatch.h'.
86145         * modules/alloca (alloca.h): Likewise.
86146
86147 2003-08-14  Jim Meyering  <jim@meyering.net>
86148
86149         Merge from coreutils.
86150         * m4/tzset.m4: New file.
86151         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
86152         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
86153         otherwise, AIX 5.1 systems would end up using the latter.
86154         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
86155         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
86156         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
86157         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
86158
86159 2003-08-14  Jim Meyering  <jim@meyering.net>
86160
86161         Merge from coreutils.
86162         * lib/obstack.h: Whitespace changes.
86163         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
86164         and xcalloc return values.
86165         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
86166         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
86167         hang on OSF/1 5.1 for DIR on both local and remote file systems.
86168         Reported by (and fix confirmed by) Nelson H. F. Beebe.
86169         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
86170         error from mntctl.
86171         Use mntctl's return value to drive the entry-processing loop, since
86172         we can't rely on the value of the vmt_length member in the last
86173         entry.  On some systems doing so could result in exhausting
86174         virtual memory.  Based in part on a patch from Mike Jetzer.
86175
86176 2003-08-14  Jim Meyering  <jim@meyering.net>
86177         and Paul Eggert  <eggert@twinsun.com>
86178
86179         Merges from coreutils, plus other fixes.
86180         * lib/physmem.c: Merge in portability changes from gcc/libiberty
86181         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
86182         for credits and details.  Thanks to Kaveh Ghazi for helping
86183         to keep these files in sync.
86184         (ARRAY_SIZE): Define it.
86185         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
86186         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
86187         (memcasecmp): Don't assume size_t fits in unsigned int.
86188         Remove casts and duplicate code.
86189         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
86190         (memcpy): Remove definition.
86191         Merge in some clean-up and optimization changes from glibc.
86192         [BLOCKSIZE]: Move definition to top of file.
86193         Ensure that it is a multiple of 64.
86194         Rearrange loop exit tests so as to avoid performing an
86195         additional fread after encountering an error or EOF.
86196         * lib/md5.h (md5_uintptr): Define.
86197         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
86198         return to the initial working directory.  Preserve errno
86199         for caller.
86200         * lib/idcache.c: Include "xalloc.h".
86201         (xmalloc, xrealloc): Remove decls.
86202         (getuser): Remove casts no longer required in C89.
86203         * lib/human.c: Include stdio.h, for sprintf.
86204         * lib/group-member.c: Include "xalloc.h".
86205         (xmalloc, xrealloc): Remove decls.
86206         (get_group_info): Remove casts no longer required in C89.
86207         * lib/getusershell.c (readname): Remove casts no longer required in
86208         C89.
86209         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
86210         * lib/getline.c: Whitespace fix, from coreutils.
86211
86212 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86213
86214         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
86215         Check for isascii.
86216
86217         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
86218         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
86219         Undo previous (whitespace-only) change.
86220
86221 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86222
86223         * lib/exclude.c: Include <ctype.h>
86224         (IN_CTYPE_DOMAIN): New macro.
86225         (is_space): New fn.
86226         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
86227         and empty lines.
86228
86229         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
86230         Undo previous (whitespace-only) change.
86231
86232 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86233
86234         * config/srclist-update: Change update back to the old behavior,
86235         leaving whitespace alone.  Use one 'sed' command rather than a
86236         pipeline.
86237         (fixlicense): Now a variable, not a function.
86238         (remove_trailing_blanks): Remove.
86239         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
86240         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
86241         Undo previous (whitespace-only) change.
86242
86243 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86244
86245         Merge from coreutils.
86246         * modules/euidaccess: Add lib_SOURCES, include for new
86247         file euidaccess.h
86248
86249 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86250
86251         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
86252         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
86253         Normalize leading white space and remove trailing white space.
86254
86255         Merge from coreutils
86256         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
86257
86258         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
86259         0.12.1.  These files are now being upgraded automatically by
86260         ../config/srclist-update.
86261
86262 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86263
86264         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
86265         Normalize leading white space and remove trailing white space.
86266         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
86267         notice, as per ../config/srclist-update.
86268
86269         Merge from coreutils.
86270         * lib/euidaccess.h: New file.
86271         * lib/euidaccess.c: Include it.
86272         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
86273         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
86274         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
86275
86276 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86277
86278         * config/srclist-update: Add copyright notice.
86279         (remove_id_lines, remove_trailing_blanks): New constants.
86280         (fixfile): Use them to normalize spacing a bit in copied files.
86281         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
86282         Normalize leading white space and remove trailing white space.
86283
86284         * config/texinfo.tex: Sync with texinfo.
86285
86286         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
86287         strtoul.c from libc, to merge coreutils whitespace changes.
86288
86289         * config/srclist.txt: Get the following m4 files from gettext:
86290         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
86291         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
86292         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
86293         wint_t.m4.
86294
86295 2003-08-12  Karl Berry  <karl@gnu.org>
86296
86297         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
86298         been made.
86299
86300 2003-08-11  Paul Eggert  <eggert@twinsun.com>
86301
86302         * modules/gnu-source, m4/gnu-source.m4:
86303         Remove; we're assuming Autoconf 2.54 or later now.
86304         Suggested by Bruno Haible.
86305         * MODULES.html.sh (func_all_modules): Remove gnu-source.
86306
86307 2003-08-11  Bruno Haible  <bruno@clisp.org>
86308
86309         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
86310
86311 2003-08-11  Bruno Haible  <bruno@clisp.org>
86312
86313         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
86314         (vasnprintf): Use it instead of wcslen.
86315
86316 2003-08-11  Bruno Haible  <bruno@clisp.org>
86317
86318         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
86319         value to ensure that _Bool promotes to int. Use #define for _Bool when
86320         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
86321
86322 2003-08-10  Karl Berry  <karl@gnu.org>
86323
86324         * lib/regex.h: update from libc (whitespace fix).
86325
86326 2003-08-09  Paul Eggert  <eggert@twinsun.com>
86327
86328         Merge some files from coreutils.  These changes were
86329         originally made by Jim Meyering.
86330         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
86331         many older Unixes require this.
86332         * lib/alloca.c (alloca): Remove cast to argument of free;
86333         no longer needed in C89.
86334         * lib/alloca_.h, regex.h: Fix white space to match
86335         what GNU indent does.
86336
86337 2003-08-09  Paul Eggert  <eggert@twinsun.com>
86338
86339         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
86340         apparently Emacs's Unicode mode got confused before my 2003-08-05
86341         checkin.
86342
86343 2003-08-08  Paul Eggert  <eggert@twinsun.com>
86344
86345         * m4/extensions.m4: New file.
86346         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
86347         Require gl_USE_SYSTEM_EXTENSIONS.
86348         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
86349         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
86350
86351 2003-08-08  Paul Eggert  <eggert@twinsun.com>
86352
86353         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
86354         * modules/extensions, modules/gnu-source: New files.
86355         * modules/timespec, modules/unlocked-io: Depend on extensions.
86356
86357 2003-08-07  Paul Eggert  <eggert@twinsun.com>
86358
86359         * modules/restrict: New file.
86360         * MODULES.html.sh (func_all_modules): Add restrict.
86361         * modules/regex: Depend on restrict.
86362
86363 2003-08-07  Paul Eggert  <eggert@twinsun.com>
86364
86365         * m4/restrict.m4: New file.
86366         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
86367
86368 2003-08-07  Bruno Haible  <bruno@clisp.org>
86369
86370         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
86371         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
86372
86373 2003-08-07  Bruno Haible  <bruno@clisp.org>
86374
86375         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
86376         makes the module 'getndelim2' compatible with the module 'getline'.
86377
86378 2003-08-05  Paul Eggert  <eggert@twinsun.com>
86379
86380         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
86381         byte with "\201" to avoid glitches when editing that source file
86382         with multi-gnome-terminal.
86383
86384 2003-08-05  Paul Eggert  <eggert@twinsun.com>
86385
86386         * lib/bumpalloc.h: Remove.
86387
86388 2003-08-05  Paul Eggert  <eggert@twinsun.com>
86389
86390         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
86391         * modules/bumpalloc: Remove.
86392
86393 2003-08-04  Paul Eggert  <eggert@twinsun.com>
86394
86395         * lib/getloadavg.c: Change copyright notice and spacing to conform to
86396         GNU coding style.
86397
86398         Merge from coreutils.
86399         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
86400         1. From glibc.
86401         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
86402         from Karl Berry, implemented by Jim Meyering.
86403         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
86404         from Dmitry V. Levin.
86405         Remove anachronistic cast of xrealloc.
86406         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
86407         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
86408         type. Otherwise, it wouldn't compile with at least /bin/cc on
86409         ymp-cray-unicos9.0.2.X.
86410         Combine two mostly-identical uses of alloca into one.
86411         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
86412
86413 2003-08-04  Dave Love  <d.love@dl.ac.uk>
86414
86415         [From Emacs.]
86416
86417         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
86418         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
86419         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
86420         obsolete NLIST_NAME_UNION.
86421         [__GNU__]: Undef BSD and FSCALE.
86422         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
86423
86424 2003-08-03  Paul Eggert  <eggert@twinsun.com>
86425
86426         * lib/stdbool_.h (_Bool): Make it signed char, instead of
86427         an enum type, so that it's guaranteed to promote to int.  See:
86428         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
86429
86430 2003-08-03  Karl Berry  <karl@gnu.org>
86431
86432         * config/depcomp: update from automake.
86433
86434 2003-07-31  Paul Eggert  <eggert@twinsun.com>
86435
86436         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
86437         (strerror): Don't assume that a printable int fits in 14 bytes.
86438
86439 2003-07-31  Bruno Haible  <bruno@clisp.org>
86440
86441         * modules/getpass-gnu: New file.
86442         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
86443
86444 2003-07-31  Bruno Haible  <bruno@clisp.org>
86445
86446         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
86447
86448 2003-07-24  Karl Berry  <karl@gnu.org>
86449
86450         * config/missing: update from automake.
86451
86452 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
86453             Bruno Haible  <bruno@clisp.org>
86454
86455         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
86456         * lib/getline.c (getline, getdelim): Likewise.
86457         Remove _GNU_SOURCE define; now it's defined in config.h through
86458         m4/getline.m4.
86459
86460 2003-07-23  Karl Berry  <karl@gnu.org>
86461
86462         * config/config.sub: update from prep.
86463
86464 2003-07-22  Paul Eggert  <eggert@twinsun.com>
86465
86466         * modules/xalloc (Depends-on): Add exitfail.
86467         * modules/xmemcoll: Likewise.
86468
86469 2003-07-22  Paul Eggert  <eggert@twinsun.com>
86470
86471         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
86472         over-parenthesization in macros.
86473
86474         Sync with coreutils.
86475
86476         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
86477         required by C99.
86478
86479         Use `exit_failure' for xalloc and xmemcoll instead of their own
86480         private exit-failure variables.
86481         * lib/xalloc.h (xalloc_exit_failure): Remove.
86482         * lib/xmalloc.c: Likewise.  Include exitfail.h.
86483         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
86484         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
86485         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
86486         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
86487
86488 2003-07-20  Jim Meyering  <jim@meyering.net>
86489
86490         * modules/closeout (Depends-on): Add exitfail.
86491         Suggestion from Bruno Haible.
86492
86493 2003-07-19  Karl Berry  <karl@gnu.org>
86494
86495         * config/config.sub: update from prep.
86496
86497 2003-07-18  Paul Eggert  <eggert@twinsun.com>
86498
86499         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
86500         Remove.
86501         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
86502         to test that it can stand by itself.  Include "exitfail.h".
86503         Clients should set exit_failure instead.
86504         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
86505
86506 2003-07-18  Bruno Haible  <bruno@clisp.org>
86507
86508         * modules/getndelim2: New file.
86509         * modules/getline: Share files with module getndelim2.
86510         * modules/getnline: Depend on getndelim2 instead of sharing files with
86511         it. Add getnline.c to lib_SOURCES.
86512         * MODULES.html.sh (func_all_modules): Add getndelim2.
86513
86514 2003-07-18  Bruno Haible  <bruno@clisp.org>
86515
86516         * m4/getndelim2.m4: New file.
86517         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
86518         invoke gl_PREREQ_GETNDELIM2.
86519         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
86520         gl_PREREQ_GETNDELIM2.
86521         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
86522         gl_GETNDELIM2.
86523
86524 2003-07-18  Bruno Haible  <bruno@clisp.org>
86525
86526         * lib/getndelim2.h: New file.
86527         * lib/getndelim2.c: Make into a module of its own. Include config.h,
86528         getndelim2.h.
86529         (getndelim2): Make non-static. Change return type to ssize_t.
86530         * lib/getline.h: Change argument names.
86531         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
86532         * lib/getnline.c: Include getndelim2.h.
86533
86534 2003-07-18  Andreas Schwab  <schwab@suse.de>
86535
86536         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
86537
86538 2003-07-17  Karl Berry  <karl@gnu.org>
86539
86540         * config/config.sub: update from prep.
86541
86542 2003-07-17  Bruno Haible  <bruno@clisp.org>
86543
86544         * modules/getnline: New file.
86545         * modules/getline: Add lib/getndelim2.c to source file list.
86546         * MODULES.html.sh (func_all_modules): Add getnline.
86547
86548 2003-07-17  Bruno Haible  <bruno@clisp.org>
86549
86550         * m4/getnline.m4: New file.
86551
86552 2003-07-17  Bruno Haible  <bruno@clisp.org>
86553
86554         * m4/Makefile.am.in: Remove file.
86555         * m4/Makefile.am: Remove file.
86556         * m4/Makefile.in: Remove file.
86557
86558 2003-07-17  Bruno Haible  <bruno@clisp.org>
86559
86560         * lib/getnline.h: New file.
86561         * lib/getnline.c: New file.
86562         * lib/getndelim2.c: New file, extracted from getline.c.
86563         (getndelim2): Renamed from getdelim2, with added nmax argument.
86564         * lib/getline.c: Include getndelim2.c.
86565         (getdelim2): Moved out to getndelim2.c.
86566         (getline, getdelim): Update.
86567
86568 2003-07-17  Bruno Haible  <bruno@clisp.org>
86569
86570         * lib/Makefile.am: Remove file.
86571         * lib/Makefile.in: Remove file.
86572
86573 2003-07-17  Bruno Haible  <bruno@clisp.org>
86574
86575         * configure.in: Remove file.
86576         * Makefile.in: Remove file.
86577
86578 2003-07-17  Bruno Haible  <bruno@clisp.org>
86579
86580         * MODULES.html.sh: Put the </BODY> right before </HTML>.
86581
86582 2003-07-16  Karl Berry  <karl@gnu.org>
86583
86584         * config/srclist-update: was running fixlicense twice, which caused
86585                 texinfo.tex to be nullified for some reason.  Simplify,
86586                 $gplsrc is no longer needed as far as I can see?
86587
86588 2003-07-16  Jim Meyering  <jim@meyering.net>
86589
86590         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
86591
86592 2003-07-15  Paul Eggert  <eggert@twinsun.com>
86593
86594         * config/srclist.txt: Get the following files from gettext-runtime/intl
86595         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
86596         ref-del.sin.  From Bruno Haible.
86597         * config/srclist-update (fixfile): Change grep pattern again, since the
86598         previous fix didn't work (there was another trailing $).  Use
86599         '[$]' to escape the $s.
86600
86601 2003-07-15  Karl Berry  <karl@gnu.org>
86602
86603         * lib/vasnprintf.c: update from gettext.
86604
86605 2003-07-15  Karl Berry  <karl@gnu.org>
86606
86607         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
86608         gets expanded when surrounded by '$'.
86609
86610 2003-07-15  Jim Meyering  <jim@meyering.net>
86611
86612         * modules/save-cwd: Don't depend on error.  From Derek Price.
86613
86614 2003-07-15  Jim Meyering  <jim@meyering.net>
86615
86616         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
86617
86618 2003-07-14  Simon Josefsson  <jas@extundo.com>
86619
86620         * modules/mempcpy: New file.
86621         * MODULES.html.sh (func_all_modules): Add mempcpy.
86622
86623 2003-07-14  Simon Josefsson  <jas@extundo.com>
86624
86625         * m4/mempcpy.m4: New file.
86626
86627 2003-07-14  Simon Josefsson  <jas@extundo.com>
86628
86629         * lib/mempcpy.h: New file.
86630         * lib/mempcpy.c: New file.
86631
86632 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86633
86634         * modules/getdate, modules/posixtm: Depend on mktime.
86635
86636 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86637
86638         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
86639         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
86640         unicodeio.c, unicodeio.h, unlocked-io.h:
86641         Switch from LGPL to GPL.
86642
86643 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86644
86645         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
86646         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
86647         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
86648         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
86649         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
86650         updated automatically by ../config/srclist-update.  This changes
86651         their license from LPGL to GPL.
86652
86653 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86654
86655         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
86656         assumed to refer to the root of the most recent stable gettext version.
86657         * config/srclistvars.sh: Add defaults for eggert.
86658         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
86659         Match "This program" as well as "The program".  This is needed
86660         for gettext.
86661
86662 2003-07-14  Jim Meyering  <jim@meyering.net>
86663
86664         Don't emit diagnostics.  Let callers do that.
86665         * lib/save-cwd.c: Don't include "error.h".
86666         (save_cwd): Don't call error.  Ensure that errno is valid
86667         when returning nonzero.
86668
86669         * lib/save-cwd.h (restore_cwd): Update prototype.
86670         * lib/save-cwd.c (restore_cwd): Remove two parameters.
86671         Simplify.  Don't call error upon failure.  Let callers do that.
86672         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
86673         when auditing is enabled.  But don't bother updating the #if.
86674
86675 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
86676
86677         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
86678         it breaks C++ compilation.
86679         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
86680
86681 2003-07-10  Simon Josefsson  <jas@extundo.com>
86682
86683         * modules/strchrnul (Makefile.am): Add strchrnul.h.
86684
86685 2003-07-10  Jim Meyering  <jim@meyering.net>
86686
86687         * m4/clock_time.m4: Remove trailing blank.
86688         * m4/intmax_t.m4: Likewise.
86689
86690 2003-07-10  Jim Meyering  <jim@meyering.net>
86691
86692         * lib/vasnprintf.c: Remove trailing blanks.
86693         Make cpp indentation consistent.
86694
86695 2003-07-09  Paul Eggert  <eggert@twinsun.com>
86696
86697         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
86698         posixver.c, strftime.c, strnlen.c, strverscmp.c:
86699         Switch from LGPL to GPL.
86700
86701 2003-07-09  Paul Eggert  <eggert@twinsun.com>
86702
86703         * config/srclist.txt: Sort sublists.  Add
86704         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
86705         that differ from gnulib for one reason or another; we'd like this list
86706         to be smaller but for now let's document what we have.
86707
86708 2003-07-08  Paul Eggert  <eggert@twinsun.com>
86709
86710         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
86711         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
86712         and sweeter "eval x=$x".
86713         * config/srclist.txt: Get lib/argp* from glibc.
86714
86715 2003-07-07  Paul Eggert  <eggert@twinsun.com>
86716
86717         * lib/mktime.c: Fix some boundary cases and remove need for floating
86718         point.
86719
86720         Issue a compile-time diagnostic if time_t is floating point, or if
86721         two's complement arithmetic is not in effect, or if arithmetic
86722         right shift does not propagate the sign.  These assumptions were
86723         all in the original code but they weren't checked.
86724
86725         (TIME_T_MIDPOINT, verify): New macros.
86726         (__isleap): Remove; it has integer overflow problems.
86727         (leapyear): New function, without those problems.
86728         (ydhms_tm_diff): Remove; splitting into two parts.
86729         (ydhms_diff): New function, containing the arithmetic part of
86730         the old ydhms_tm_diff function.  Issue a compile-time
86731         diagnostic if we are not using C99 integer division.
86732         Avoid casts when possible.
86733         (guess_time_tm): New function, containing the checking part of
86734         the old ydhms_tm_diff function.  Return the new value, rather than
86735         the difference between it and the old.  Accept a new argument T
86736         so that *T specifies the old value.  Check for overflow in the result.
86737
86738         (__mktime_internal): Use a time_t offset, not a long int offset.
86739         This undoes the 2003-06-04 change, which is no longer needed now
86740         that we have better overflow checking.
86741         (localtime_offset): Likewise.
86742
86743         (__mktime_internal): Avoid harmful overflow on hosts where time_t
86744         and long are 64-bit but int is only 32-bit.
86745         (ydhms_diff): Use long int to store year1 and yday1.
86746         Issue a compile-time diagnostic if long int is not wide enough.
86747
86748         (__mktime_internal): Use long int to store adjusted year and yday.
86749         Use plain C rather than preprocessor commands, if that doesn't
86750         affect efficiency.
86751         Check for overflow (and try to repair) after each probe
86752         rather than checking only at the very end.  This avoids some bugs
86753         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
86754         does not equal GMT offset at maximum time).
86755         Use integer to check for overflow rather than floating point; this
86756         is more portable to non-IEEE hosts, and is a tad faster.
86757         When we detect that we are oscillating between two values,
86758         don't check whether tm_isdst has the requested value, since
86759         we already know the answer.  When tm_isdst has the wrong value,
86760         use a different heuristic to find the right one, based on the
86761         extreme values actually observed in practice in tz2003a,
86762         rather than the (overly optimistic) "previous 3 calendar quarters".
86763
86764         (not_equal_tm, print_tm, check_result): Use "const T" rather than
86765         "T const" to accommodate glibc style.
86766         (check_result): Use less-confusing report format.  "long" -> "long int.
86767         (main): Likewise.
86768         Don't loop if the iteration overflows time_t.
86769         Allow a negative step in the iteration.
86770
86771 2003-07-06  Karl Berry  <karl@gnu.org>
86772
86773         * config/depcomp: update from automake.
86774         * config/config.sub: update from prep.
86775
86776 2003-07-03  Karl Berry  <karl@gnu.org>
86777
86778         * config/config.guess: update from prep.
86779
86780 2003-07-01  Paul Eggert  <eggert@twinsun.com>
86781
86782         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
86783         xreadlink.c now includes it unconditionally.
86784
86785 2003-07-01  Paul Eggert  <eggert@twinsun.com>
86786
86787         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
86788         having it depend on HAVE_SYS_TYPES_H.
86789
86790 2003-07-01  Bruno Haible  <bruno@clisp.org>
86791
86792         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
86793         <sys/types.h> should be sufficient.
86794         Reported by Paul Eggert.
86795
86796 2003-06-26  Karl Berry  <karl@gnu.org>
86797
86798         * config/depcomp: update from automake.
86799
86800 2003-06-26  Bruno Haible  <bruno@clisp.org>
86801
86802         * modules/human: Depend on module stdbool.
86803
86804 2003-06-25  Bruno Haible  <bruno@clisp.org>
86805
86806         * modules/readlink: New file.
86807         * modules/xreadlink: Depend on it.
86808         * MODULES.html.sh (func_all_modules): Add readlink.
86809
86810 2003-06-25  Bruno Haible  <bruno@clisp.org>
86811
86812         * m4/readlink.m4: New file.
86813
86814 2003-06-25  Bruno Haible  <bruno@clisp.org>
86815
86816         * lib/readlink.c: New file.
86817
86818 2003-06-22  Karl Berry  <karl@gnu.org>
86819
86820         * config/srclist.txt: update mkinstalldirs from automake.
86821         * config/mkinstalldirs: update.
86822
86823 2003-06-22  Bruno Haible  <bruno@clisp.org>
86824
86825         Portability to mingw32.
86826         * m4/ssize_t.m4: New file, from GNU gettext.
86827         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
86828         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
86829
86830 2003-06-22  Bruno Haible  <bruno@clisp.org>
86831
86832         * modules/safe-read: Add m4/ssize_t.m4.
86833         * modules/xreadlink: Add m4/ssize_t.m4.
86834
86835 2003-06-20  Bruno Haible  <bruno@clisp.org>
86836
86837         Assume C89, so PARAMS isn't needed.
86838         * lib/unicodeio.h (PARAMS): Remove.
86839         * lib/unicodeio.c: Don't use PARAMS.
86840
86841 2003-06-18  Karl Berry  <karl@gnu.org>
86842
86843         * config/config.{guess,sub}: update from prep.
86844
86845 2003-06-18  Jim Meyering  <jim@meyering.net>
86846
86847         Merge changes from coreutils.
86848         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
86849         Remove explicit declarations of xmalloc and realloc.
86850         Include xalloc.h.
86851         (read_utmp): Remove anachronistic cast of xmalloc.
86852
86853 2003-06-17  Paul Eggert  <eggert@twinsun.com>
86854
86855         Assume C89, so PARAMS isn't needed.
86856         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
86857         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
86858         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
86859         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
86860         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
86861         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
86862         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
86863         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
86864         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
86865         lib/xstrtod.h, lib/xstrtol.h: Likewise.
86866         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
86867         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
86868         no longer needed. Anyway, config.h should always be included before any
86869         other file.
86870
86871 2003-06-11  Simon Josefsson  <jas@extundo.com>
86872
86873         * modules/sysexits: New file.
86874         * MODULES.html.sh (func_all_modules): Add sysexits.
86875
86876 2003-06-11  Simon Josefsson  <jas@extundo.com>
86877
86878         * lib/sysexit_.h: New file.
86879
86880 2003-06-11  Derek Price  <derek@ximbiot.com>
86881
86882         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
86883         necessary.
86884
86885 2003-06-11  Bruno Haible  <bruno@clisp.org>
86886
86887         * m4/sysexits.m4: New file.
86888
86889 2003-06-10  Simon Josefsson  <jas@extundo.com>
86890
86891         * lib/argp.h: New file, from glibc.
86892         * lib/argp-ba.c: New file, from glibc.
86893         * lib/argp-eexst.c: New file, from glibc.
86894         * lib/argp-fmtstream.c: New file, from glibc.
86895         * lib/argp-fmtstream.h: New file, from glibc.
86896         * lib/argp-fs-xinl.c: New file, from glibc.
86897         * lib/argp-help.c: New file, from glibc.
86898         * lib/argp-namefrob.h: New file, from glibc.
86899         * lib/argp-parse.c: New file, from glibc.
86900         * lib/argp-pv.c: New file, from glibc.
86901         * lib/argp-pvh.c: New file, from glibc.
86902         * lib/argp-xinl.c: New file, from glibc.
86903
86904 2003-06-10  Simon Josefsson  <jas@extundo.com>
86905
86906         * modules/strchrnul: New file.
86907
86908 2003-06-10  Simon Josefsson  <jas@extundo.com>
86909
86910         * modules/argp: New file.
86911
86912 2003-06-10  Simon Josefsson  <jas@extundo.com>
86913
86914         * m4/strchrnul.m4: New file.
86915
86916 2003-06-10  Simon Josefsson  <jas@extundo.com>
86917
86918         * lib/strchrnul.h: New file.
86919         * lib/strchrnul.c: New file.
86920
86921 2003-06-10  Bruno Haible  <bruno@clisp.org>
86922
86923         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
86924
86925 2003-06-07  Karl Berry  <karl@gnu.org>
86926
86927         * config/config.{guess,sub}: update from prep.
86928
86929 2003-06-07  Jim Meyering  <jim@meyering.net>
86930
86931         * modules/strtod: Use $(...) notation, not @...@ for
86932         AC_REPLACE'd variables.
86933         * modules/localcharset: Likewise.
86934
86935 2003-06-07  Jim Meyering  <jim@meyering.net>
86936
86937         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
86938         in place of my name in the copyright comment.
86939         Remove definition and uses of __P.
86940
86941         From coreutils.
86942         * lib/stat.c: Don't declare xmalloc explicitly.
86943         Instead, include "xalloc.h".
86944         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
86945         xrealloc, and xcalloc return values.
86946         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
86947         Improve comment.
86948         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
86949
86950 2003-06-07  Bruno Haible  <bruno@clisp.org>
86951
86952         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
86953         avoid AC_CONFIG_LINKS.
86954         * modules/fnmatch (Makefile.am): Use explicit creation rule for
86955         fnmatch.h, to avoid AC_CONFIG_LINKS.
86956         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
86957
86958 2003-06-07  Bruno Haible  <bruno@clisp.org>
86959
86960         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
86961         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
86962         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
86963         directory.
86964         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
86965         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
86966         directory.
86967
86968 2003-06-06  Jim Meyering  <jim@meyering.net>
86969
86970         Merge from coreutils.
86971         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
86972         Consolidate declarations and initializations of *_base* locals.
86973
86974         Merge from coreutils.
86975         This avoids a core dump on systems without GNU putenv,
86976         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
86977         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
86978         (unsetenv): New static function, from GNU libc.
86979         (rpl_putenv): Use it.
86980
86981         * lib/modechange.c: Remove trailing blanks.
86982
86983         Merge from coreutils.
86984         * lib/fsusage.c: Remove declaration of statfs.
86985         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
86986
86987         * lib/posixtm.c: Include <stdbool.h> unconditionally.
86988
86989 2003-06-06  Jim Meyering  <jim@meyering.net>
86990
86991         * lib/stdbool_.h: Renamed from stdbool.h.in.
86992
86993 2003-06-06  Jim Meyering  <jim@meyering.net>
86994             Bruno Haible  <bruno@clisp.org>
86995
86996         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
86997         Adjust Makefile.am snippet not to redirect directly to target.
86998         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
86999
87000 2003-06-05  Paul Eggert  <eggert@twinsun.com>
87001
87002         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
87003         mismatch, look in future quarters as well as past.  This fixes a
87004         bug when processing fall-backwards gaps immediately after a long
87005         period of daylight-saving time.
87006
87007         * lib/mktime.c: Assume freestanding C89 or better.
87008         (HAVE_LIMITS_H): Remove.  Assume it's 1.
87009         (__P): Remove; not used.
87010         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
87011         (mktime, not_equal_tm, print_tm, check_result,
87012         main): Use prototypes.  Use const * where appropriate.
87013         (main): Fix typo in testing code that uncovered by above changes.
87014         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
87015
87016 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87017
87018         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
87019         locale.h, localeconv.  This merges changes from coreutils.
87020
87021         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
87022         It can be removed after the next Autoconf is released.
87023         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
87024         needed.
87025
87026 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87027
87028         * lib/mktime.c: Fix Debian bug 177940
87029         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
87030         (localtime_offset): Now long int, not time_t, because we want it
87031         to be guaranteed to be signed.  All uses changed.
87032         (__mktime_internal): If overflow would occur when adding offset,
87033         don't add it.
87034
87035         Merge 'human' changes from coreutils.  Rewrite to support
87036         locale-specific notations like thousands separators.
87037         * lib/human.c: Simplify authorship notice.
87038         Include human.h immediately after config.h.
87039         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
87040         <limits.h>: Do not include, since human.h does.
87041         (SIZE_MAX, UINTMAX_MAX): New macros.
87042         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
87043         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
87044         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
87045         (power_letter): Renamed from suffixes.
87046         (generate_suffix_backwards): Remove.
87047         (adjust_value): Now takes int style (because of human.h changes)
87048         and long double value (for greater precision on some platforms).
87049         (group_number): New function.
87050         (human_readable): Use it.  Use integer options, not enum.
87051         Put the options before the sizes in the arg list.
87052         Support all the new options.
87053         The old human_readable function has been removed;
87054         use inttostr.h instead.
87055         (human_readable, default_block_size, humblock):
87056         Use uintmax_t, not int, for block sizes.
87057         (human_readable_inexact, block_size_types): Remove.
87058         (block_size_opts): New constant.
87059         (human_options): Renamed from human_block_size, with new signature
87060         that allows block sizes up to UINTMAX_MAX.  All callers changed.
87061         * lib/human.h: Add copyright and authorship notice.
87062         Include <limits.h> and <stdbool.h> unconditionally.
87063         (PARAMS): Remove.  All uses removed.
87064         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
87065         (enum human_inexact_style): Remove tag; now a nameless enum.
87066         (human_floor, human_ceiling, human_round_to_even): Now have
87067         values 2, 0, 1 rather than -1, 1, 0.
87068         (human_group_digits, human_suppress_point_zero, human_autoscale,
87069         human_base_1024, human_SI, human_B): New constants.
87070         (human_readable_inexact, human_block_size): Remove.
87071         (human_readable): Size args are now uintmax_t, not int.
87072         (human_options): New decl.
87073
87074         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
87075         unnecessary now that we assume C89 or better.  This change
87076         imported from coreutils.
87077
87078         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
87079         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
87080         in the 2003-05-30 sync from glibc.
87081
87082         .h files should stand alone, but we shouldn't include <sys/types.h>
87083         if we can get away with just <stddef.h>.
87084
87085         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
87086         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
87087         rather than <sys/types.h>, as we merely need size_t.
87088         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
87089         to get size_t.
87090         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
87091         Include <stdio.h>, to get FILE.
87092         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
87093         memcasecmp.h has included <stddef.h> and all we need is size_t.
87094         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
87095         our interface, instead of including <sys/types.h>
87096
87097 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87098
87099         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
87100         now, as glibc mktime is buggy on non-glibc systems.
87101
87102 2003-06-03  Karl Berry  <karl@gnu.org>
87103
87104         * config/config.sub: update from prep.
87105
87106 2003-06-02  Paul Eggert  <eggert@twinsun.com>
87107
87108         [from coreutils]
87109         Fix some minor time-related bugs with POSIX time arguments.
87110         Some valid time stamps were being rejected (notably -1, and
87111         time stamps before 1900 on 64-bit hosts).  And some invalid
87112         time stamps were being accepted, e.g. September 31.
87113
87114         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
87115         that we can return (time_t) -1 successfully.
87116         * lib/posixtm.c: Likewise.
87117         [HAVE_STDBOOL_H]: Include <stdbool.h>.
87118         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
87119         (t): Remove static var.
87120         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
87121         of static var.  All uses changed.
87122         (year): Do not reject years before 1900; they can occur with
87123         64-bit time_t.
87124         (posix_time_parse): Do not check for out-of-range components;
87125         that is now the caller's responsibility, since our checks were
87126         only approximations.
87127         (posixtime): Use mktime to check for out-of-range components,
87128         since it knows them exactly.
87129         If mktime returns (time_t) -1, check whether an error actually occurred
87130         by invoking localtime on -1.
87131         (main) [TEST_POSIXTIME]: Check for input data errors, and report
87132         posixtime failures better.
87133         Improve the test data (in comments only).
87134
87135 2003-06-02  Karl Berry  <karl@gnu.org>
87136
87137         * config/mkinstalldirs (version): new variable.
87138         (--version): new option.
87139         (usage): improve message.
87140
87141 2003-05-30  Karl Berry  <karl@gnu.org>
87142
87143         * lib/mktime.c: update from libc.
87144
87145 2003-05-30  Bruno Haible  <bruno@clisp.org>
87146
87147         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
87148         * config/config.rpath: Upgrade to gettext-0.12.1.
87149
87150 2003-05-30  Bruno Haible  <bruno@clisp.org>
87151
87152         * m4/gettext.m4: Upgrade to gettext-0.12.1.
87153         * m4/nls.m4: New file, from gettext-0.12.1.
87154         * m4/po.m4: New file, from gettext-0.12.1.
87155         * m4/progtest.m4: Upgrade to gettext-0.12.1.
87156
87157 2003-05-30  Bruno Haible  <bruno@clisp.org>
87158
87159         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
87160         * lib/localcharset.h: Likewise.
87161         * lib/localcharset.c: Likewise.
87162
87163 2003-05-29  Karl Berry  <karl@gnu.org>
87164
87165         * config/config.rpath: update from gettext.
87166
87167 2003-05-28  Paul Eggert  <eggert@twinsun.com>
87168
87169         Assume the headers required for C89 freestanding compilers.
87170         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
87171         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
87172         * m4/human.m4 (gl_HUMAN): Likewise.
87173         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
87174         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
87175         * m4/userspec.m4 (gl_USERSPEC): Likewise.
87176         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
87177         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
87178         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
87179
87180 2003-05-28  Paul Eggert  <eggert@twinsun.com>
87181
87182         Assume the headers required for C89 freestanding compilers.
87183         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
87184         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
87185         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
87186         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
87187         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
87188         define, since <limits.h> is guaranteed to do that.
87189         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
87190         * lib/exclude.c: Include <stdbool.h> unconditionally.
87191         * lib/tempname.c: Include <stddef.h> unconditionally.
87192         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
87193         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
87194         <stddef.h> does that.
87195         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
87196         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
87197         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
87198         needed.
87199         * lib/xstrtol.c: Likewise.
87200         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
87201         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
87202
87203         * lib/addext.c (addext): Use assignment rather than cast, to avoid
87204         warnings on some platforms.
87205
87206         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
87207         arbitrarily.
87208
87209 2003-05-26  Jim Meyering  <jim@meyering.net>
87210
87211         Merge in a change from coreutils:
87212         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
87213         that is guaranteed to be `no'.  Use `no_such_member' to indicate
87214         that condition, rather than `-1' which is slightly misleading.
87215         Change the name of the cache variable to have the gl_ prefix.
87216         Prompted by a patch from Richard Dawe for DJGPP.
87217
87218 2003-05-24  Karl Berry  <karl@gnu.org>
87219
87220         * config/config.guess: update from prep.
87221
87222 2003-05-22  Karl Berry  <karl@gnu.org>
87223
87224         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
87225
87226 2003-05-20  Karl Berry  <karl@gnu.org>
87227
87228         * config/config.guess: update from prep.
87229
87230 2003-05-18  Karl Berry  <karl@gnu.org>
87231
87232         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
87233         might actually be set by the user.
87234
87235         * config/depcomp, install-sh, mdate-sh: update from automake.
87236
87237 2003-05-17  Bruno Haible  <bruno@clisp.org>
87238
87239         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
87240         invalid expansion for AC_EGREP_CPP.
87241         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
87242         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
87243         Suggested by Akim Demaille <akim@epita.fr> in
87244         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
87245
87246 2003-05-12  Jim Meyering  <jim@meyering.net>
87247
87248         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
87249         the space-padded-by-default conversion specifiers, %e, %k, %l.
87250
87251 2003-05-12  Bruno Haible  <bruno@clisp.org>
87252
87253         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
87254         the string is longer than 4 KB.
87255
87256 2003-05-11  Karl Berry  <karl@gnu.org>
87257
87258         * config/config.{guess,sub}: update from prep.
87259
87260 2003-05-09  Bruno Haible  <bruno@clisp.org>
87261
87262         * modules/error: Add m4/strerror_r.m4 to file list.
87263
87264 2003-05-03  Bruno Haible  <bruno@clisp.org>
87265
87266         Upgrade to Unicode-4.0.
87267         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
87268         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
87269         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
87270         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
87271         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
87272         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
87273         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
87274         Change width of U+E0100..U+E01EF from 1 to 0.
87275
87276 2003-04-25  Jim Meyering  <jim@meyering.net>
87277
87278         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
87279         of type size_t, not int.
87280
87281 2003-04-25  Bruno Haible  <bruno@clisp.org>
87282
87283         * lib/copy-file.c: Include <stddef.h>, for size_t.
87284
87285 2003-04-21  Paul Eggert  <eggert@twinsun.com>
87286
87287         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
87288         code which expansion is under static control.  Patch imported from
87289         Akim Demaille's patch to Bison; see
87290         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
87291
87292 2003-04-14  Bruno Haible  <bruno@clisp.org>
87293
87294         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
87295
87296 2003-04-11  Jim Meyering  <jim@meyering.net>
87297
87298         Merge changes from Coreutils.
87299
87300         2003-03-22  Jim Meyering  <jim@meyering.net>
87301
87302         * lib/strftime.c (widen): Cast alloca return value to proper type.
87303
87304         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
87305
87306         From GNU libc.
87307         * lib/strftime.c (my_strftime): Handle very large width
87308         specifications for numeric values correctly.  Improve checks for
87309         overflow.
87310
87311         2003-01-19  Jim Meyering  <jim@meyering.net>
87312
87313         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
87314         definitions.
87315         (nl_get_alt_digit) [! defined my_strftime]: Define.
87316         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
87317         _nl_get_alt_digit and _nl_get_walt_digit.
87318
87319         * lib/strftime.c (my_strftime): Merge in locale-related changes from
87320         libc. These changes have no effect outside of _LIBC.
87321
87322 2003-04-10  Bruno Haible  <bruno@clisp.org>
87323
87324         * modules/findprog: New file.
87325         * MODULES.html.sh (func_all_modules): Add it.
87326
87327 2003-04-10  Bruno Haible  <bruno@clisp.org>
87328
87329         * m4/findprog.m4: New file.
87330         * m4/eaccess.m4: New file.
87331
87332 2003-04-10  Bruno Haible  <bruno@clisp.org>
87333
87334         * lib/findprog.h: New file, from GNU gettext.
87335         * lib/findprog.c: New file, from GNU gettext.
87336
87337 2003-04-05  Jim Meyering  <jim@meyering.net>
87338
87339         Merge changes from Coreutils.
87340
87341         * lib/exclude.h (PARAMS): Remove definition and uses.
87342         * lib/exclude.c: Remove uses of `PARAMS'.
87343
87344         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
87345         Add test-cases for DOS filenames. Declare program_name.
87346         (main): Set up program_name.  Patch by Rich Dawe.
87347
87348         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
87349         error from mntctl.
87350         Use mntctl's return value to drive the entry-processing loop, since
87351         we can't rely on the value of the vmt_length member in the last
87352         entry.  On some systems doing so could result in exhausting
87353         virtual memory.  Based in part on a patch from Mike Jetzer.
87354
87355 2003-04-04  Bruno Haible  <bruno@clisp.org>
87356
87357         * modules/linebreak: New file.
87358         * MODULES.html.sh (func_all_modules): Add it.
87359
87360 2003-04-04  Bruno Haible  <bruno@clisp.org>
87361
87362         * m4/linebreak.m4: New file.
87363
87364 2003-04-04  Bruno Haible  <bruno@clisp.org>
87365
87366         * lib/linebreak.h: New file, from GNU gettext.
87367         * lib/linebreak.c: New file, from GNU gettext with slight
87368         modifications.
87369         * lib/lbrkprop.h: New file, from GNU gettext.
87370
87371 2003-04-03  Bruno Haible  <bruno@clisp.org>
87372
87373         * modules/utf8-ucs4: New file.
87374         * modules/utf16-ucs4: New file.
87375         * modules/ucs4-utf8: New file.
87376         * modules/ucs4-utf16: New file.
87377         * MODULES.html.sh (func_all_modules): Add them.
87378
87379 2003-04-03  Bruno Haible  <bruno@clisp.org>
87380
87381         * m4/utf-ucs4.m4: New file.
87382         * m4/ucs4-utf.m4: New file.
87383
87384 2003-04-03  Bruno Haible  <bruno@clisp.org>
87385
87386         * lib/utf8-ucs4.h: New file, from GNU gettext.
87387         * lib/utf16-ucs4.h: New file, from GNU gettext.
87388         * lib/ucs4-utf8.h: New file, from GNU gettext.
87389         * lib/ucs4-utf16.h: New file, from GNU gettext.
87390
87391 2003-04-02  Bruno Haible  <bruno@clisp.org>
87392
87393         * modules/binary-io: New file.
87394         * MODULES.html.sh (func_all_modules): Add it.
87395
87396 2003-04-02  Bruno Haible  <bruno@clisp.org>
87397
87398         * lib/binary-io.h: New file, from GNU gettext.
87399
87400 2003-04-01  Bruno Haible  <bruno@clisp.org>
87401
87402         * modules/pathname: New file.
87403         * MODULES.html.sh (func_all_modules): Add it.
87404
87405 2003-04-01  Bruno Haible  <bruno@clisp.org>
87406
87407         * lib/pathname.h: New file, from GNU gettext.
87408         * lib/concatpath.c: New file, from GNU gettext.
87409
87410 2003-03-30  Bruno Haible  <bruno@clisp.org>
87411
87412         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
87413
87414 2003-03-30  Bruno Haible  <bruno@clisp.org>
87415
87416         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
87417         function chown() doesn't exist.
87418
87419 2003-03-28  Bruno Haible  <bruno@clisp.org>
87420
87421         * modules/copy-file: New file.
87422         * MODULES.html.sh (func_all_modules): Add it.
87423
87424 2003-03-28  Bruno Haible  <bruno@clisp.org>
87425
87426         * m4/copy-file.m4: New file.
87427
87428 2003-03-28  Bruno Haible  <bruno@clisp.org>
87429
87430         * lib/copy-file.h: New file, from GNU gettext.
87431         * lib/copy-file.c: New file, from GNU gettext.
87432
87433 2003-03-18  Jim Meyering  <jim@meyering.net>
87434
87435         * lib/quote.c (quote_n): Fix typo in comment.
87436
87437 2003-03-18  Bruno Haible  <bruno@clisp.org>
87438
87439         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
87440         checking.
87441         * m4/onceonly_2_57.m4: Likewise.
87442
87443 2003-03-17  Bruno Haible  <bruno@clisp.org>
87444
87445         * m4/onceonly.m4: Require autoconf 2.54 or newer.
87446         (m4_quote): Remove macro.
87447         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
87448
87449 2003-03-14  Jim Meyering  <jim@meyering.net>
87450
87451         Merge changes from Coreutils.
87452         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
87453         to be const, in order to avoid warnings.
87454         (obstack_room): Likewise.
87455         (obstack_empty_p): Likewise.
87456
87457 2003-03-14  Bruno Haible  <bruno@clisp.org>
87458
87459         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
87460         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
87461
87462 2003-03-13  Paul Eggert  <eggert@twinsun.com>
87463
87464         Merge changes from Bison.
87465         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
87466         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
87467         when compiling Bison 1.875's `bitset bset = obstack_alloc
87468         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
87469         * lib/hash.c: Include <stdbool.h> unconditionally.
87470
87471 2003-03-13  Paul Eggert  <eggert@twinsun.com>
87472
87473         * m4/onceonly.m4 (m4_quote): New macro.
87474         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
87475         Quote AC_FOREACH variable-expansions properly.
87476
87477 2003-03-13  Paul Eggert  <eggert@twinsun.com>
87478
87479         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
87480
87481 2003-03-09  Paul Eggert  <eggert@twinsun.com>
87482
87483         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
87484         Reported by Bruce Becker; see:
87485         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
87486
87487 2003-03-03  Paul Eggert  <eggert@twinsun.com>
87488             Bruno Haible  <bruno@clisp.org>
87489
87490         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
87491         Reported by John Hughes, see
87492         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
87493
87494 2003-02-20  Bruno Haible  <bruno@clisp.org>
87495
87496         * MODULES.html.sh (func_all_modules): Add poll.
87497
87498 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
87499
87500         * modules/poll: New file.
87501
87502 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
87503
87504         * lib/poll_.h: New file.
87505         * lib/poll.c: New file.
87506
87507 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
87508
87509         * m4/poll.m4: New file.
87510
87511 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
87512
87513         * modules/mathl: New file.
87514
87515 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
87516
87517         * lib/mathl.h: New file.
87518         * lib/acosl.c: New file.
87519         * lib/asinl.c: New file.
87520         * lib/atanl.c: New file.
87521         * lib/ceill.c: New file.
87522         * lib/cosl.c: New file.
87523         * lib/expl.c: New file.
87524         * lib/floorl.c: New file.
87525         * lib/frexpl.c: New file.
87526         * lib/ldexpl.c: New file.
87527         * lib/logl.c: New file.
87528         * lib/sincosl.c: New file.
87529         * lib/sinl.c: New file.
87530         * lib/sqrtl.c: New file.
87531         * lib/tanl.c: New file.
87532         * lib/trigl.c: New file.
87533         * lib/trigl.h: New file.
87534
87535 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
87536
87537         * m4/mathl.m4: New file.
87538
87539 2003-02-18  Bruno Haible  <bruno@clisp.org>
87540
87541         * MODULES.html.sh (func_all_modules): Add mathl.
87542
87543 2003-02-17  Bruno Haible  <bruno@clisp.org>
87544
87545         * modules/mkdtemp: New module.
87546         * MODULES.html.sh (func_all_modules): Add it.
87547
87548 2003-02-17  Bruno Haible  <bruno@clisp.org>
87549
87550         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
87551
87552 2003-02-17  Bruno Haible  <bruno@clisp.org>
87553
87554         * lib/mkdtemp.h: New file, from GNU gettext.
87555         * lib/mkdtemp.c: New file, from GNU gettext.
87556
87557 2003-02-02  Jim Meyering  <jim@meyering.net>
87558
87559         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
87560         e.g. glibc-2.2.93.
87561
87562 2003-01-31  Bruno Haible  <bruno@clisp.org>
87563
87564         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
87565         'rpl_rename'.
87566         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
87567         'rpl_strnlen'.
87568         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
87569         'rpl_strtod'.
87570         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
87571         'rpl_utime'.
87572
87573 2003-01-31  Bruno Haible  <bruno@clisp.org>
87574
87575         * lib/rename.c: #undef rename before defining rpl_rename.
87576         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
87577
87578 2003-01-30  Bruno Haible  <bruno@clisp.org>
87579
87580         * modules/vasnprintf, modules/vasprintf: New modules.
87581         * MODULES.html.sh (func_all_modules): Add them.
87582
87583 2003-01-30  Bruno Haible  <bruno@clisp.org>
87584
87585         * m4/signed.m4: New file, from GNU gettext.
87586         * m4/longdouble.m4: New file, from GNU gettext.
87587         * m4/wchar_t.m4: New file, from GNU gettext.
87588         * m4/wint_t.m4: New file, from GNU gettext.
87589         * m4/vasnprintf.m4: New file.
87590         * m4/vasprintf.m4: New file.
87591
87592 2003-01-30  Bruno Haible  <bruno@clisp.org>
87593
87594         * lib/printf-args.h: New file, from GNU gettext.
87595         * lib/printf-args.c: New file, from GNU gettext.
87596         * lib/printf-parse.h: New file, from GNU gettext.
87597         * lib/printf-parse.c: New file, from GNU gettext.
87598         * lib/vasnprintf.h: New file, from GNU gettext.
87599         * lib/vasnprintf.c: New file, from GNU gettext.
87600         * lib/asnprintf.c: New file, from GNU gettext.
87601         * lib/vasprintf.h: New file, from GNU gettext with modifications.
87602         * lib/vasprintf.c: New file, from GNU gettext.
87603         * lib/asprintf.c: New file, from GNU gettext.
87604
87605 2003-01-29  Bruno Haible  <bruno@clisp.org>
87606
87607         * modules/stpncpy: New module.
87608         * MODULES.html.sh (func_all_modules): Add it.
87609
87610 2003-01-29  Bruno Haible  <bruno@clisp.org>
87611
87612         * m4/stpncpy.m4: New file.
87613
87614 2003-01-29  Bruno Haible  <bruno@clisp.org>
87615
87616         * lib/stpncpy.h: New file, from GNU gettext with modifications.
87617         * lib/stpncpy.c: New file, from GNU gettext with modifications.
87618
87619 2003-01-28  Bruno Haible  <bruno@clisp.org>
87620
87621         * modules/c-ctype: New module.
87622         * MODULES.html.sh (func_all_modules): Add it.
87623
87624 2003-01-28  Bruno Haible  <bruno@clisp.org>
87625
87626         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
87627         Paul Eggert.
87628         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
87629         Paul Eggert.
87630
87631 2003-01-27  Bruno Haible  <bruno@clisp.org>
87632
87633         * modules/xsetenv: New module.
87634         * MODULES.html.sh (func_all_modules): Add it.
87635
87636 2003-01-27  Bruno Haible  <bruno@clisp.org>
87637
87638         * lib/xsetenv.h: New file, from GNU gettext.
87639         * lib/xsetenv.c: New file, from GNU gettext.
87640
87641 2003-01-23  Jim Meyering  <jim@meyering.net>
87642
87643         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
87644         from working on systems without dirfd (at least Irix and OSF1/Tru64).
87645
87646 2003-01-23  Bruno Haible  <bruno@clisp.org>
87647
87648         * modules/minmax: New module.
87649         * MODULES.html.sh (func_all_modules): Add it.
87650
87651 2003-01-23  Bruno Haible  <bruno@clisp.org>
87652
87653         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
87654         Eggert.
87655
87656 2003-01-22  Bruno Haible  <bruno@clisp.org>
87657
87658         * modules/exit: New module.
87659         * MODULES.html.sh (func_all_modules): Add it.
87660
87661 2003-01-22  Bruno Haible  <bruno@clisp.org>
87662
87663         * lib/exit.h: New file, from GNU gettext.
87664
87665 2003-01-19  Bruno Haible  <bruno@clisp.org>
87666
87667         * gnulib-tool: Recognize option --extract-maintainer.
87668         (func_get_maintainer): New function.
87669         * modules/*: Add Maintainer entry.
87670
87671 2003-01-16  Jim Meyering  <jim@meyering.net>
87672
87673         * m4/regex.m4: The `regex' struct is both input and output.
87674         Initialize it before each use.  Patch by Tim Waugh.
87675
87676 2003-01-16  Bruno Haible  <bruno@clisp.org>
87677
87678         * MODULES.html.sh: Add a table of contents. Add the module name as
87679         leftmost column. Add hyperlinks.
87680
87681 2003-01-15  Bruno Haible  <bruno@clisp.org>
87682
87683         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
87684
87685 2003-01-15  Bruno Haible  <bruno@clisp.org>
87686
87687         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
87688         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
87689         suffix.
87690
87691 2003-01-15  Bruno Haible  <bruno@clisp.org>
87692
87693         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
87694
87695 2003-01-15  Bruno Haible  <bruno@clisp.org>
87696
87697         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
87698         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
87699
87700 2003-01-14  Jim Meyering  <jim@meyering.net>
87701
87702         * lib/same.c (same_name): Tweak a comment.
87703
87704 2003-01-14  Bruno Haible  <bruno@clisp.org>
87705
87706         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
87707         when a string comparison is sufficient.
87708
87709 2003-01-14  Bruno Haible  <bruno@clisp.org>
87710
87711         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
87712         'unsigned int'.
87713
87714 2003-01-14  Bruno Haible  <bruno@clisp.org>
87715
87716         * lib/hash-pjw.c: Add comment about low quality of this function.
87717
87718 2003-01-13  Bruno Haible  <bruno@clisp.org>
87719
87720         * modules/stpcpy: Distribute lib/stpcpy.h.
87721         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
87722
87723 2003-01-13  Bruno Haible  <bruno@clisp.org>
87724
87725         * modules/*: Add a description.
87726         * modules/strpbrk: Fix Makefile.am snippet.
87727         * modules/strtoimax: Fix dependencies.
87728         * modules/strtoumax: Likewise.
87729
87730 2003-01-13  Bruno Haible  <bruno@clisp.org>
87731
87732         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
87733         * modules/alloca (Makefile.am): All object files depend on alloca.h.
87734         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
87735
87736 2003-01-13  Bruno Haible  <bruno@clisp.org>
87737
87738         * gnulib-tool (func_create_testdir): Store config/* files in the main
87739         directory.
87740         * config.rpath: Move to ...
87741         * config/config.rpath: ... here.
87742         * modules/gettext: Contains config/config.rpath, not config.rpath.
87743         * modules/iconv: Likewise.
87744
87745 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87746
87747         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87748         to avoid collisions with libcurses and libreadline.
87749
87750         * m4/getstr.m4: Remove.
87751         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
87752
87753 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87754
87755         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87756         to avoid collisions with libcurses and libreadline.
87757
87758         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
87759         * lib/getstr.h, getstr.c: Remove.
87760         * lib/getline.c: Include "getline.h", to check interface.
87761         Move body of old getstr.c here: this defines MIN_CHUNK and
87762         declares getdelim2, which is renamed from getstr.
87763         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
87764
87765         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
87766         All uses changed.
87767         * lib/linebuffer.h: Likewise.
87768         (readline): Remove backward-compatibility macro.
87769
87770 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87771
87772         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87773         to avoid collisions with libcurses and libreadline.
87774         * getstr: Remove.
87775         * MODULES.html.sh: Remove getstr.
87776         * modules/getline: Depend on unlocked-io, not getstr.
87777
87778 2003-01-12  Jim Meyering  <jim@meyering.net>
87779
87780         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
87781
87782 2003-01-10  Bruno Haible  <bruno@clisp.org>
87783
87784         * modules/alloca: Change Makefile.am requirements. Simplify Include
87785         requirements. Add lib/alloca_.h to file list.
87786
87787 2003-01-10  Bruno Haible  <bruno@clisp.org>
87788
87789         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
87790
87791 2003-01-10  Bruno Haible  <bruno@clisp.org>
87792
87793         * lib/alloca_.h: New file.
87794         * lib/getdate.y: Unconditionally include alloca.h.
87795         * lib/makepath.c: Likewise.
87796         * lib/setenv.c: Likewise.
87797         * lib/userspec.c: Likewise.
87798
87799 2003-01-09  Karl Berry  <karl@gnu.org>
87800
87801         * MODULES.html.sh: include `dirname $0` in PATH, to find
87802         gnulib-tool.
87803
87804 2003-01-09  Bruno Haible  <bruno@clisp.org>
87805
87806         * modules/stdbool: Change configure.ac, Makefile.am requirements.
87807         Simplify Include requirements. Add lib/stdbool.h.in to file list.
87808
87809 2003-01-09  Bruno Haible  <bruno@clisp.org>
87810
87811         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
87812
87813 2003-01-09  Bruno Haible  <bruno@clisp.org>
87814
87815         * lib/stdbool.h.in: New file.
87816
87817 2003-01-09  Bruno Haible  <bruno@clisp.org>
87818
87819         * gnulib-tool (func_all_modules): Ignore files ending in ~.
87820         * MODULES.html.sh: Likewise.
87821
87822 2003-01-08  Jim Meyering  <jim@meyering.net>
87823
87824         * lib/full-write.c: Undefine and define-away `const' after inclusion
87825         of errno.h, not before.  Suggestion from Bruno Haible.
87826
87827 2003-01-08  Bruno Haible  <bruno@clisp.org>
87828
87829         * modules/full-read: Depend on full-write.
87830
87831 2003-01-08  Bruno Haible  <bruno@clisp.org>
87832
87833         * lib/safe-read.c: Include specification header first, to ensure its
87834         selfcontainedness.
87835         * lib/full-write.c: Likewise.
87836
87837 2003-01-07  Jim Meyering  <jim@meyering.net>
87838
87839         * lib/full-write.c: Rework so that it may serve to define full_read,
87840         too.
87841         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
87842
87843 2003-01-07  Bruno Haible  <bruno@clisp.org>
87844
87845         * lib/strtoimax.c: Include <stdint.h> as an alternative to
87846         <inttypes.h>.
87847         * lib/xstrtol.h: Likewise.
87848         * lib/xstrtoimax.c: Likewise.
87849         * lib/xstrtoumax.c: Likewise.
87850         * lib/human.h: Likewise.
87851
87852         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
87853         on systems that have <inttypes.h> but not <stdint.h>.
87854
87855 2003-01-07  Bruno Haible  <bruno@clisp.org>
87856
87857         * MODULES.html.sh: Add copyright notice.
87858         (missed_files): Omit CVS directory entries.
87859         (func_module): Make it work with sed-3.02.
87860         * MODULES.txt: Remove file.
87861
87862 2003-01-06  Jim Meyering  <jim@meyering.net>
87863
87864         * lib/version-etc.c: Update year in translatable copyright string.
87865
87866 2003-01-03  Karl Berry  <karl@gnu.org>
87867
87868         * config/config.{guess,sub}: update from prep.
87869
87870 2003-01-02  Karl Berry  <karl@gnu.org>
87871
87872         * doc/COPYING.DOC: belatedly updated to 1.2.
87873
87874 2003-01-01  Karl Berry  <karl@gnu.org>
87875
87876         * gnulib-tool (func_verify_module): report module name $module in
87877         error message, not $1.
87878         * gnulib-tool (create-testdir): don't complain if destdir couldn't
87879         be created, only if it doesn't exist.
87880         * gnulib-tool (last_checkin_date): don't expand the $Date here.
87881
87882 2002-12-31  Paul Eggert  <eggert@twinsun.com>
87883
87884         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
87885
87886 2002-12-31  Paul Eggert  <eggert@twinsun.com>
87887
87888         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
87889         memcmp if strcoll doesn't work.
87890
87891 2002-12-31  Bruno Haible  <bruno@clisp.org>
87892
87893         * lib/utime.c (utime_null): No need to call ftruncate if the file was
87894         nonempty.
87895
87896 2002-12-31  Bruno Haible  <bruno@clisp.org>
87897
87898         * lib/memcoll.c (STRCOLL): New macro.
87899         (memcoll): Use it.
87900
87901 2002-12-31  Bruno Haible  <bruno@clisp.org>
87902
87903         * lib/localcharset.h: New file.
87904         * lib/localcharset.c: Include it.
87905         * lib/unicodeio.c: Likewise.
87906
87907 2002-12-31  Bruno Haible  <bruno@clisp.org>
87908
87909         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
87910         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
87911
87912 2002-12-31  Bruno Haible  <bruno@clisp.org>
87913
87914         * lib/getline.h: Include <stddef.h>, for size_t.
87915
87916         * lib/unicodeio.h: Include <stddef.h>, for size_t.
87917         * lib/unicodeio.c: Don't include <stddef.h>.
87918
87919 2002-12-31  Bruno Haible  <bruno@clisp.org>
87920
87921         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
87922         HAVE_TM_ZONE.
87923
87924 2002-12-24  Karl Berry  <karl@gnu.org>
87925
87926         * config/config.guess: update from prep.
87927
87928 2002-12-24  Bruno Haible  <bruno@clisp.org>
87929
87930         General infrasructure.
87931         * m4/README: Rewritten.
87932         * m4/onceonly.m4: New file.
87933         * m4/onceonly_2_57.m4: New file.
87934
87935         Module atexit.
87936         * m4/atexit.m4: New file.
87937
87938         Module strtod.
87939         * m4/strtod.m4: New file.
87940
87941         Module strtol.
87942         * m4/strtol.m4: New file.
87943
87944         Module strtoul.
87945         * m4/strtoul.m4: New file.
87946
87947         Module memchr.
87948         * m4/memchr.m4: New file.
87949
87950         Module memcmp.
87951         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
87952         (jm_FUNC_MEMCMP): Invoke it.
87953
87954         Module memcpy.
87955         * m4/memcpy.m4: New file.
87956
87957         Module memmove.
87958         * m4/memmove.m4: New file.
87959
87960         Module memset.
87961         * m4/memset.m4: New file.
87962
87963         Module strcspn.
87964         * m4/strcspn.m4: New file.
87965
87966         Module strpbrk.
87967         * m4/strpbrk.m4: New file.
87968
87969         Module strstr.
87970         * m4/strstr.m4: New file.
87971
87972         Module strerror.
87973         * m4/strerror.m4: New file.
87974
87975         Module mktime.
87976         * m4/mktime.m4: Renamed from jm-mktime.m4.
87977         (gl_PREREQ_MKTIME): New macro.
87978         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
87979
87980         Module malloc.
87981         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
87982         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
87983         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
87984
87985         Module realloc.
87986         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
87987         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
87988         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
87989
87990         Module strftime.
87991         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
87992         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
87993         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
87994         gl_TM_GMTOFF.
87995         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
87996
87997         Module xalloc.
87998         * m4/xalloc.m4: New file.
87999
88000         Module alloca.
88001         * m4/alloca.m4: New file.
88002
88003         Module putenv.
88004         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
88005         (jm_FUNC_PUTENV): Invoke it.
88006
88007         Module setenv.
88008         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
88009         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
88010         when invoked twice.
88011         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
88012         gt_FUNC_SETENV.
88013
88014         Module memrchr.
88015         * m4/memrchr.m4: New file.
88016
88017         Module stpcpy.
88018         * m4/stpcpy.m4: New file.
88019
88020         Module strcase.
88021         * m4/strcase.m4: New file.
88022
88023         Module strdup.
88024         * m4/strdup.m4: New file.
88025
88026         Module strnlen.
88027         * m4/strnlen.m4: New file.
88028
88029         Module strndup.
88030         * m4/strndup.m4: New file.
88031
88032         Module xstrtod.
88033         * m4/xstrtod.m4: New file.
88034
88035         Module xstrtol.
88036         * m4/xstrtol.m4: New file.
88037
88038         Module getdate.
88039         * m4/getdate.m4: New file.
88040
88041         Module unlocked-io.
88042         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
88043         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
88044         * m4/jm-glibc-io.m4n: Remove file.
88045
88046         Module long-options.
88047         * m4/long-options.m4: New file.
88048
88049         Module md5.
88050         * m4/md5.m4: New file.
88051
88052         Module sha.
88053         * m4/sha.m4: New file.
88054
88055         Module getstr.
88056         * m4/getstr.m4: New file.
88057
88058         Module getline.
88059         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
88060         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
88061         <sys/types.h>, for size_t. Use the function name gnu_getline, not
88062         simply getline. Infoke gl_PREREQ_GETLINE.
88063
88064         Module obstack.
88065         * m4/obstack.m4: New file.
88066
88067         Module hash.
88068         * m4/hash.m4: New file.
88069
88070         Module readtokens.
88071         * m4/readtokens.m4: New file.
88072
88073         Module strverscmp.
88074         * m4/strverscmp.m4: New file.
88075
88076         Module stdbool.
88077         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
88078         OSF/1.
88079
88080         Module strtoll.
88081         * m4/strtoll.m4: New file.
88082
88083         Module strtoull.
88084         * m4/strtoull.m4: New file.
88085
88086         Module strtoimax.
88087         * m4/strtoimax.m4: New file.
88088
88089         Module strtoumax.
88090         * m4/strtoumax.m4: New file.
88091
88092         Module xstrtoimax.
88093         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
88094         jm_AC_PREREQ_XSTRTOIMAX.
88095         Moved the strtol prerequisites to strtol.m4.
88096         Moved the strtoll prerequisites to strtoll.m4.
88097         Moved the strtoimax prerequisites to strtoimax.m4.
88098
88099         Module xstrtoumax.
88100         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
88101         jm_AC_PREREQ_XSTRTOUMAX.
88102         Moved the strtoul prerequisites to strtoul.m4.
88103         Moved the strtoull prerequisites to strtoull.m4.
88104         Moved the strtoumax prerequisites to strtoumax.m4.
88105
88106         Module chown.
88107         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
88108         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
88109
88110         Module dup2.
88111         * m4/dup2.m4: New file.
88112
88113         Module ftruncate.
88114         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
88115         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
88116
88117         Module getgroups.
88118         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
88119         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
88120
88121         Module gettimeofday.
88122         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
88123         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
88124         gl_PREREQ_GETTIMEOFDAY.
88125
88126         Module mkdir.
88127         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
88128         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
88129
88130         Module mkstemp.
88131         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
88132         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
88133         jm_AC_TYPE_UINTMAX_T.
88134         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
88135
88136         Module stat.
88137         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
88138         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
88139
88140         Module lstat.
88141         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
88142         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
88143
88144         Module timespec.
88145         * m4/timespec.m4 (gl_TIMESPEC): New macro.
88146         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
88147         * m4/st_mtim.m4: Indentation.
88148
88149         Module nanosleep.
88150         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
88151         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
88152         gl_PREREQ_NANOSLEEP.
88153
88154         Module regex.
88155         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
88156         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
88157         (gl_REGEX): New macro.
88158
88159         Module rename.
88160         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
88161         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
88162
88163         Module rmdir.
88164         * m4/rmdir.m4: New file.
88165
88166         Module utime.
88167         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
88168         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
88169         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
88170
88171         Module dirname.
88172         * m4/dirname.m4: New file.
88173
88174         Module getopt.
88175         * m4/getopt.m4: New file.
88176
88177         Module unistd-safer.
88178         * m4/unistd-safer.m4: New file.
88179
88180         Module fnmatch.
88181         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
88182         declaration.
88183         (gl_PREREQ_FNMATCH_EXTRA): New macro.
88184         (gl_FUNC_FNMATCH_POSIX): New macro.
88185         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
88186         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
88187         simply fnmatch.
88188
88189         Module exclude.
88190         * m4/exclude.m4: New file.
88191
88192         Module human.
88193         * m4/human.m4: New file.
88194
88195         Module acl.
88196         * m4/acl.m4: Nop.
88197
88198         Module backupfile.
88199         * m4/backupfile.m4: New file.
88200         * m4/d-ino.m4: Indentation.
88201
88202         Module fsusage.
88203         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
88204         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
88205         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
88206
88207         Module dirfd.
88208         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
88209         requirements.
88210
88211         Module euidaccess.
88212         * m4/euidaccess.m4: New file.
88213
88214         Module file-type.
88215         * m4/file-type.m4: New file.
88216
88217         Module fileblocks.
88218         * m4/fileblocks.m4: New file.
88219
88220         Module filemode.
88221         * m4/filemode.m4: New file.
88222
88223         Module isdir.
88224         * m4/isdir.m4: New file.
88225
88226         Module lchown.
88227         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
88228         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
88229
88230         Module makepath.
88231         * m4/makepath.m4: New file.
88232
88233         Module modechange.
88234         * m4/modechange.m4: New file.
88235
88236         Module mountlist.
88237         * m4/mountlist.m4: New file.
88238         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
88239         Indentation.
88240
88241         Module path-concat.
88242         * m4/path-concat.m4: New file.
88243
88244         Module pathmax.
88245         * m4/pathmax.m4: New file.
88246
88247         Module same.
88248         * m4/same.m4: New file.
88249
88250         Module save-cwd.
88251         * m4/save-cwd.m4: New file.
88252
88253         Module savedir.
88254         * m4/savedir.m4: New file.
88255
88256         Module xgetcwd.
88257         * m4/xgetcwd.m4: New file.
88258         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
88259
88260         Module xreadlink.
88261         * m4/xreadlink.m4: New file.
88262
88263         Module safe-read.
88264         * m4/safe-read.m4: New file.
88265
88266         Module safe-write.
88267         * m4/safe-write.m4: New file.
88268
88269         Module closeout.
88270         * m4/closeout.m4: New file.
88271
88272         Module stdio-safer.
88273         * m4/stdio-safer.m4: New file.
88274
88275         Module getpass.
88276         * m4/getpass.m4: New file.
88277
88278         Module getugroups.
88279         * m4/getugroups.m4: New file.
88280
88281         Module group-member.
88282         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
88283         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
88284
88285         Module idcache.
88286         * m4/idcache.m4: New file.
88287
88288         Module userspec.
88289         * m4/userspec.m4: New file.
88290
88291         Module gettime.
88292         * m4/clock_time.m4: New file.
88293         * m4/gettime.m4: New file.
88294
88295         Module settime.
88296         * m4/settime.m4: New file.
88297
88298         Module posixtm.
88299         * m4/posixtm.m4: New file.
88300
88301         Module gethostname.
88302         * m4/gethostname.m4: New file.
88303
88304         Module canon-host.
88305         * m4/canon-host.m4: New file.
88306
88307         Module gettext.
88308         * m4/codeset.m4: New file, from gettext-0.11.5.
88309         * m4/gettext.m4: New file, from gettext-0.11.5.
88310         * m4/glibc21.m4: New file, from gettext-0.11.5.
88311         * m4/iconv.m4: New file, from gettext-0.11.5.
88312         * m4/intdiv0.m4: New file, from gettext-0.11.5.
88313         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
88314         * m4/inttypes.m4: New file, from gettext-0.11.5.
88315         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
88316         * m4/isc-posix.m4: New file, from gettext-0.11.5.
88317         * m4/lcmessage.m4: New file, from gettext-0.11.5.
88318         * m4/lib-ld.m4: New file, from gettext-0.11.5.
88319         * m4/lib-link.m4: New file, from gettext-0.11.5.
88320         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
88321         * m4/progtest.m4: New file, from gettext-0.11.5.
88322         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
88323         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
88324         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
88325
88326         Module localcharset.
88327         * m4/localcharset.m4: New file.
88328
88329         Module hard-locale.
88330         * m4/hard-locale.m4: New file.
88331
88332         Module mbswidth.
88333         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
88334         onceonly macros.
88335         * m4/mbrtowc.m4: Add comment.
88336
88337         Module memcasecmp.
88338         * m4/memcasecmp.m4: New file.
88339
88340         Module memcoll.
88341         * m4/memcoll.m4: New file.
88342
88343         Module unicodeio.
88344         * m4/unicodeio.m4: New file.
88345
88346         Module rpmatch.
88347         * m4/rpmatch.m4: New file.
88348
88349         Module yesno.
88350         * m4/yesno.m4: New file.
88351
88352         Module exitfail.
88353         * m4/exitfail.m4: New file.
88354
88355         Module c-stack.
88356         * m4/c-stack.m4 (gl_C_STACK): New macro.
88357         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
88358
88359         Module error.
88360         * m4/error.m4 (gl_ERROR): New macro.
88361         (jm_PREREQ_ERROR): Use onceonly macros.
88362
88363         Module fatal.
88364         * m4/fatal.m4: New file.
88365
88366         Module getloadavg.
88367         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
88368         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
88369
88370         Module getpagesize.
88371         * m4/getpagesize.m4: New file.
88372
88373         Module getusershell.
88374         * m4/getusershell.m4: New file.
88375
88376         Module physmem.
88377         * m4/physmem.m4: New file.
88378
88379         Module posixver.
88380         * m4/posixver.m4: New file.
88381
88382         Module quotearg.
88383         * m4/quotearg.m4: New file.
88384
88385         Module quote.
88386         * m4/quote.m4: New file.
88387
88388         Module readutmp.
88389         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
88390
88391         Module sig2str.
88392         * m4/sig2str.m4: New file.
88393
88394         Other.
88395         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
88396         ulonglong.m4.
88397         * m4/intmax_t.m4: New file.
88398         * m4/d-type.m4: Indentation.
88399         * m4/jm-macros.m4: Update.
88400         * m4/prereq.m4 (jm_PREREQ): Update.
88401         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
88402         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
88403         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
88404         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
88405         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
88406         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
88407         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
88408         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
88409         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
88410         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
88411         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
88412         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
88413         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
88414         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
88415         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
88416         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
88417         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
88418         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
88419         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
88420
88421 2002-12-24  Bruno Haible  <bruno@clisp.org>
88422
88423         * MODULES.txt: Update according to m4/ changes.
88424
88425         Module gettext.
88426         * config.rpath: New file, from gettext-0.11.5.
88427
88428         * modules/*: New module descriptions.
88429         * gnulib-tool: New file.
88430         * MODULES.html.sh: New file.
88431
88432 2002-12-21  Karl Berry  <karl@gnu.org>
88433
88434         * doc/fdl.texi: update to version 1.2.
88435
88436 2002-12-19  Karl Berry  <karl@gnu.org>
88437
88438         * config/config.guess: update from prep.
88439
88440 2002-12-18  Bruno Haible  <bruno@clisp.org>
88441
88442         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
88443         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
88444
88445 2002-12-17  Bruno Haible  <bruno@clisp.org>
88446
88447         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
88448         stdlib.h, string.h.
88449
88450 2002-12-17  Bruno Haible  <bruno@clisp.org>
88451
88452         * lib/canon-host.c (strdup): Remove unused declaration.
88453
88454         * lib/fsusage.c: Include full_read.h.
88455         (get_fs_usage): Use full_read instead of safe_read.
88456
88457         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
88458
88459 2002-12-12  Karl Berry  <karl@gnu.org>
88460
88461         * config/config.guess: update from prep.
88462
88463 2002-12-11  Bruno Haible  <bruno@clisp.org>
88464
88465         * m4/setenv.m4: New file, from gettext-0.11.5.
88466
88467 2002-12-11  Bruno Haible  <bruno@clisp.org>
88468
88469         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
88470         not unsetenv().
88471         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
88472         modifications:
88473
88474         2002-12-11  Bruno Haible  <bruno@clisp.org>
88475
88476                 * setenv.c (alloca): Fall back to malloc.
88477                 (freea): New macro.
88478                 (setenv): Use freea() to free memory allocated with alloca().
88479
88480         2002-11-13  Bruno Haible  <bruno@clisp.org>
88481
88482                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
88483                 function declarations.
88484                 * unsetenv.c (unsetenv): Likewise.
88485
88486         2002-03-04  Bruno Haible  <bruno@clisp.org>
88487
88488                 Portability to AIX 4.3.3.
88489                 * unsetenv.c: New file, extracted from setenv.c.
88490                 * setenv.c: Move the unsetenv() function to unsetenv.c.
88491
88492         2001-12-20  Bruno Haible  <bruno@clisp.org>
88493
88494                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
88495                 use malloc instead. For SunOS 4.
88496
88497         2001-12-11  Bruno Haible  <bruno@clisp.org>
88498
88499                 * setenv.c: Declare alloca.
88500                 (compar_fn_t): New typedef.
88501                 (KNOWN_VALUE, STORE_VALUE): Use it.
88502
88503         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
88504         setenv.h.
88505
88506 2002-12-10  Paul Eggert  <eggert@twinsun.com>
88507
88508         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
88509         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
88510         Choose values that are less likely to collide with system fnmatch
88511         options.
88512         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
88513         defined (e.g., a pure POSIX system).
88514         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
88515         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
88516
88517 2002-12-06  Paul Eggert  <eggert@twinsun.com>
88518
88519         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
88520         a pain in practice to deal with generated m4 files.  This change
88521         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
88522
88523         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
88524         and jm-glibc-io.m4, as they are no longer a special case.
88525         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
88526         kludge and the auto-generation stuff.  Check only whether the
88527         functions are declared, not whether they exist, since older hosts
88528         that don't declare the functions can't use the optimization anyway.
88529
88530 2002-12-06  Jim Meyering  <jim@meyering.net>
88531
88532         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
88533
88534         Merge in changes from libc's misc/error.c, in preparation
88535         for the merge of gnulib's changes back into libc.
88536
88537         * lib/error.c (_): Define only if not already defined.
88538         Move definition to follow all #include directives.
88539         Include unlocked-io.h only if !_LIBC.
88540         [_LIBC]: Include <libio/libioP.h>.
88541         [USE_IN_LIBIO]: Include <libio/iolibio.h>
88542         (fflush): Tweak definition to use INTUSE.
88543         (putc): Define.
88544
88545 2002-12-05  Paul Eggert  <eggert@twinsun.com>
88546
88547         * lib/alloca.c [defined emacs]: Include "lisp.h".
88548         (xalloc_die) [defined emacs]: New macro.
88549         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
88550         [! defined emacs]: Include <xalloc.h>.
88551         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
88552         (pointer): Typedef to POINTER_TYPE *.
88553         (malloc): Remove decl; we now always use xmalloc.
88554         (alloca): Use old-style definition, since Emacs needs this.
88555         Check for arithmetic overflow when computing combined size.
88556
88557 2002-12-04  Paul Eggert  <eggert@twinsun.com>
88558
88559         Do not generate unlocked-io.h automatically, since it's easier to
88560         maintain it by hand.
88561
88562         * lib/unlocked-io.h: New file, from GNU diffutils,
88563         but with proper copyright notice and attribution.
88564         * lib/gen-uio: Remove.
88565         * lib/Makefile.am: Add copyright notice.
88566         (libfetish_a_SOURCES): Add unlocked-io.h.
88567         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
88568         (DISTCLEANFILES, io_functions): Remove macros.
88569         (EXTRA_DIST): Remove gen_uio.
88570         (unlocked-io.h): Remove rule.
88571
88572 2002-12-04  Jim Meyering  <jim@meyering.net>
88573
88574         Reflect the fact that stat.c and lstat.c are no longer generated.
88575         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
88576         (DISTCLEANFILES): Likewise.
88577         (EXTRA_DIST): Likewise.
88578         (all_local): Don't depend on stat.c or lstat.c.
88579         (stat.c, lstat.c): Remove rules.
88580         (EXTRA_DIST): Remove xstat.in.
88581
88582         * lib/xstat.in: Remove file.  Contents moved into stat.c.
88583         * lib/stat.c: New file.  Contents mostly from xstat.in.
88584         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
88585         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
88586
88587         * lib/safe-read.c: Rework so that it may serve to define safe_write,
88588         too.
88589         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
88590
88591 2002-12-03  Jim Meyering  <jim@meyering.net>
88592
88593         * lib/safe-read.c, safe-write.c: Change variable names and comments,
88594         but not semantics, to minimize the differences between these two files.
88595         (safe_read): Change comment to mention SAFE_READ_ERROR.
88596
88597         * lib/safe-read.c (IS_EINTR): Define.
88598         (safe_read): Use IS_EINTR in place of in-function cpp directives.
88599
88600 2002-12-02  Jim Meyering  <jim@meyering.net>
88601
88602         * lib/safe-read.c (EINTR): Define.
88603         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
88604         (INT_MAX): Provide fallback.
88605         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
88606
88607         * lib/safe-read.h (SAFE_READ_ERROR): Define.
88608
88609 2002-12-02  Bruno Haible  <bruno@clisp.org>
88610
88611         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
88612         Define, taken from safe-read.c.
88613         (INT_MAX): Provide fallback.
88614         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
88615         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
88616
88617         * lib/safe-read.c (EINTR): Remove definition.
88618         (safe_read): Don't use EINTR if it is absent.
88619
88620 2002-12-01  Jim Meyering  <jim@meyering.net>
88621
88622         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
88623         zero.
88624         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
88625
88626 2002-11-27  Paul Eggert  <eggert@twinsun.com>
88627
88628         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
88629         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
88630         with `if (! (value < limit)) abort ();', for readability.
88631
88632 2002-11-26  Karl Berry  <karl@gnu.org>
88633
88634         * lib/strdup.c: copy from libc again, with jim's ok.
88635         * lib/.cppi-disable: re-add strdup.c
88636
88637 2002-11-25  Karl Berry  <karl@gnu.org>
88638
88639         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
88640         instead of "strtol.c".
88641
88642 2002-11-25  Karl Berry  <karl@gnu.org>
88643
88644         * config/install-sh: update from automake for variable quoting, $0 in
88645         error msgs, etc.
88646
88647         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
88648         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
88649         entry.
88650
88651 2002-11-25  Jim Meyering  <jim@meyering.net>
88652
88653         * lib/mktime.c: Sync from libc, now that it has the latest fix.
88654
88655 2002-11-24  Karl Berry  <karl@gnu.org>
88656
88657         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
88658         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
88659
88660 2002-11-24  Jim Meyering  <jim@meyering.net>
88661
88662         Update from coreutils:
88663
88664         * lib/mktime.c: Merge in changes from libc.
88665
88666         Avoid a link-time failure on some Linux systems.
88667         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
88668         (otherwise).
88669         (__mon_yday): Declare with the STATIC attribute.
88670         (__mktime_internal): Likewise.
88671         Based on a report from Greg Schafer.
88672
88673 2002-11-23  Jim Meyering  <jim@meyering.net>
88674
88675         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
88676         Use `unsigned', not `int', as type of index.
88677
88678         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
88679
88680         * lib/fsusage.c: Remove unneeded parentheses around operands of
88681         `defined'.
88682
88683 2002-11-22  Paul Eggert  <eggert@twinsun.com>
88684
88685         * lib/quotearg.h: Allow multiple inclusion by surrounding with
88686         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
88687         so that we can be included first.
88688         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
88689         * lib/quotearg.c: Include quotearg.h immediately after config.h.
88690         No need to include stddef.h or sys/types.h any more.
88691         Surround local include files with "", not "<>".
88692         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
88693         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
88694         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
88695         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
88696         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
88697         (ISPRINT): Remove; no longer needed now that we assume C89.
88698
88699         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
88700         Preserve errno.
88701
88702         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
88703         quotearg_char): Use SIZE_MAX rather than
88704         (size_t) -1 when we are talking about "infinity".
88705
88706         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
88707
88708 2002-11-22  Paul Eggert  <eggert@twinsun.com>
88709
88710         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
88711         hint that one should use `if (! x) abort ();' rather than `assert
88712         (x);', and anyway it's one less thing to worry about configuring.
88713         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
88714         hash_rehash, hash_insert): Use abort rather than assert.
88715
88716 2002-11-22  Bruno Haible  <bruno@clisp.org>
88717
88718         * lib/safe-read.h: Assume C89. Add comments.
88719         (safe_read): Change return type to size_t.
88720         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
88721         byte counts > SSIZE_MAX correctly.
88722         * lib/safe-write.h: New file.
88723         * lib/safe-write.c: New file.
88724         * lib/full-read.h: New file.
88725         * lib/full-read.c: New file.
88726         * lib/full-write.h: Assume C89. Add comments.
88727         * lib/full-write.c: Include safe-write.h.
88728         (full_write): Rewritten to use safe_write.
88729         Suggested by Jim Meyering and Paul Eggert.
88730
88731 2002-11-21  Jim Meyering  <jim@meyering.net>
88732
88733         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
88734
88735         Merge in changes from the coreutils.
88736
88737         2002-09-25  Paul Eggert  <eggert@twinsun.com>
88738         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
88739         <stdint.h>.
88740         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
88741         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
88742         int.  Work more efficiently if X is the same width as uintmax_t.
88743         Do not compare X to -1, to avoid bogus compiler warning.
88744         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
88745         Don't assume that f_frsize and f_bsize are the same type.
88746
88747         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
88748         warning on FreeBSD.
88749
88750         * lib/makepath.c (make_path): Restore umask *before* creating the final
88751         component.
88752         (make_path): Minor reformatting.
88753
88754         * lib/xmalloc.c: Adjust to work with new autoconf macros,
88755         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
88756         HAVE_MALLOC/HAVE_REALLOC.
88757
88758         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
88759         dummy ones.  At least on GNU/Linux systems, `auto' means something
88760         else.
88761         From Michael Stone.
88762
88763 2002-11-21  Bruno Haible  <bruno@clisp.org>
88764
88765         Remove case insensitive option matching.
88766         * lib/argmatch.h (argcasematch): Remove declaration.
88767         (ARGCASEMATCH): Remove macro.
88768         (__xargmatch_internal): Remove case_sensitive argument.
88769         (XARGMATCH): Update.
88770         (XARGCASEMATCH): Remove macro.
88771         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
88772         case_sensitive argument.
88773         (argcasematch): Remove function.
88774         (__xargmatch_internal): Remove case_sensitive argument.
88775         (main): Use XARGMATCH instead of XARGCASEMATCH.
88776
88777         * lib/xmalloc.c: Change compile-time error message. Add comment about
88778         required autoconf version.
88779
88780 2002-11-20  Paul Eggert  <eggert@twinsun.com>
88781
88782         Merge argmatch cleanups from Bison.  Assume C89.
88783
88784         * lib/argmatch.c: Include config.h here, not in argmatch.h.
88785         Include stdlib.h, for EXIT_FAILURE.
88786         Always include <string.h>, since we assume C89.
88787         (EXIT_FAILURE): Remove pre-C89 bug workaround.
88788         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
88789         Include <stddef.h> instead, since it's all we need for size_t.
88790         (PARAMS): Remove.  All uses removed.
88791         (ARRAY_CARDINALITY): Do not bother to #undef.
88792         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
88793         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
88794         Remove unnecessary parentheses.
88795         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
88796         Insert necessary parentheses.
88797         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
88798         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
88799
88800 2002-11-19  Bruno Haible  <bruno@clisp.org>
88801
88802         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
88803         * lib/mbswidth.h: Include <stddef.h>, for size_t.
88804
88805         * lib/mbswidth.h (PARAMS): Remove macro.
88806         (mbswidth, mbsnwidth): Use ANSI C function declarations.
88807         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
88808
88809         * lib/gcd.h (PARAMS): Remove macro.
88810         (gcd): Use ANSI C function declarations.
88811         * lib/gcd.c (gcd): Likewise.
88812
88813 2002-11-15  Bruno Haible  <bruno@clisp.org>
88814
88815         * lib/strcspn.c: Include <stddef.h>.
88816         (strcspn): Use ANSI C function declaration. Change return type to
88817         size_t. Use NULL.
88818         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
88819         (strpbrk): Use NULL.
88820         * lib/strpbrk.h (PARAMS): Remove macro.
88821         (strpbrk): Use ANSI C function declaration.
88822         * lib/strstr.c: Don't include <sys/types.h>.
88823         * lib/strstr.h (PARAMS): Remove macro.
88824         (strstr): Use ANSI C function declarations.
88825
88826 2002-11-14  Karl Berry  <karl@gnu.org>
88827
88828         * config/mkinstalldirs: `do' on separate line, instead of
88829         `for var; do'.
88830
88831 2002-11-06  Bruno Haible  <bruno@clisp.org>
88832
88833         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
88834         * lib/gcd.c (gcd): Likewise.
88835
88836 2002-11-05  Bruno Haible  <bruno@clisp.org>
88837
88838         * lib/gcd.h: New file, from gettext-0.11.5.
88839         * lib/gcd.c: New file, from gettext-0.11.5.
88840
88841 2002-11-05  Bruno Haible  <bruno@clisp.org>
88842
88843         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88844         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88845         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88846         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88847
88848         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
88849         <libintl.h>.
88850         * lib/makepath.c: Include gettext.h instead of <locale.h> and
88851         <libintl.h>.
88852
88853         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
88854         * lib/human.c: Include gettext.h instead of <libintl.h>.
88855         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
88856         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
88857         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
88858         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
88859         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
88860         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
88861         (textdomain): Remove definition.
88862         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
88863
88864         * lib/long-options.c: Remove include of <libintl.h> and definition of
88865         _.
88866         * lib/same.c: Remove include of <libintl.h> and definition of _.
88867
88868 2002-11-04  Owen Taylor  <otaylor@redhat.com>
88869
88870         * lib/config.charset: A few additions for Solaris.
88871
88872 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
88873
88874         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
88875         * lib/localcharset.c (locale_charset): Declare as extern "C".
88876
88877 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
88878
88879         * lib/config.charset: msdos in uk_UA uses CP1125.
88880
88881 2002-11-04  Bruno Haible  <bruno@clisp.org>
88882
88883         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
88884         * lib/strcase.h: New file, from GNU gettext-0.11.5.
88885         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
88886         * lib/strstr.h: New file, from GNU gettext-0.11.5.
88887         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
88888
88889 2002-11-04  Bruno Haible  <bruno@clisp.org>
88890
88891         * lib/localcharset.c (locale_charset): Don't return an empty string.
88892
88893 2002-11-04  Bruno Haible  <bruno@clisp.org>
88894
88895         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
88896         aliases.
88897
88898 2002-11-04  Bruno Haible  <bruno@clisp.org>
88899
88900         * lib/config.charset: Update for newest glibc. Add canonical names
88901         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
88902
88903 2002-11-04  Bruno Haible  <bruno@clisp.org>
88904
88905         * lib/config.charset: Add support for NetBSD.
88906
88907 2002-11-04  Bruno Haible  <bruno@clisp.org>
88908
88909         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
88910
88911 2002-11-01  Bruno Haible  <bruno@clisp.org>
88912
88913         * configure.in: Add AC_CONFIG_AUX_DIR call.
88914         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
88915         test/Makefile.
88916         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
88917
88918 2002-09-28  Karl Berry  <karl@gnu.org>
88919
88920         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
88921         installed automake until the next release, since changes have been
88922         made.
88923
88924 2002-09-25  Karl Berry  <karl@gnu.org>
88925
88926         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
88927         * lib/getopt*: copy from libc/posix.
88928         * lib/gettext.h: copy from gettext.
88929         * lib/.cppi-disable: add strdup.c, gettext.h.
88930
88931 2002-09-25  Karl Berry  <karl@gnu.org>
88932
88933         * config/srclist.txt: enable gettext.h check.
88934         * config/config.{guess,sub}: update from prep.
88935         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
88936                 from automake 1.6.3.
88937         See srclist*.
88938
88939 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
88940
88941         * regex.c (PATFETCH): Remove the translating fetch.
88942         (PATFETCH_RAW): Rename to PATFETCH.
88943         (set_image_of_range): New fun.
88944         (SET_RANGE_TABLE_WORK_AREA): Use it.
88945         (regex_compile): Don't translate the pattern chars so eagerly.
88946         Only do it when inserting an `exactn' bytecode or when handling
88947         a char-range.
88948         (mutually_exclusive_p): Avoid empty statement.
88949
88950 2002-07-06  Jim Meyering  <meyering@lucent.com>
88951
88952         * m4/README: Don't mention Makefile.am.in.
88953         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
88954
88955 2002-07-01  Jim Meyering  <meyering@lucent.com>
88956
88957         * lib/c-stack.c: Include sys/time.h.
88958         From Volker Borchert.
88959
88960 2002-06-26  Paul Eggert  <eggert@twinsun.com>
88961
88962         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
88963
88964 2002-06-26  Paul Eggert  <eggert@twinsun.com>
88965
88966         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
88967         New macro.  Use it uniformly instead of
88968         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
88969         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
88970         reported by Vin Shelton.
88971
88972 2002-06-22  Paul Eggert  <eggert@twinsun.com>
88973
88974         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
88975         Do not assume SA_SIGINFO behavior.
88976         Bug reported by Jim Meyering on NetBSD 1.5.2.
88977
88978 2002-06-22  Jim Meyering  <meyering@lucent.com>
88979
88980         * m4/c-stack.m4: New file, from diffutils-2.8.2.
88981         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
88982
88983         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
88984         now that configure.ac uses AC_GNU_SOURCE.
88985         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
88986         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
88987
88988         Update to latest tools.  Suggestions from Paul Eggert.
88989         * m4/stdbool.m4: New file, from diffutils-2.8.2.
88990         * m4/gnu-source.m4: Update from diffutils-2.8.2.
88991         * m4/fnmatch.m4: Likewise.
88992         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
88993         to AC_HEADER_STDBOOL
88994
88995 2002-06-22  Jim Meyering  <meyering@lucent.com>
88996
88997         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
88998         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
88999
89000 2002-06-22  Jim Meyering  <meyering@lucent.com>
89001
89002         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
89003
89004         * lib/exitfail.c, exitfail.h: Likewise.
89005         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
89006
89007         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
89008         of fnmatch.h.
89009         (EXTRA_DIST): Add fnmatch_loop.c.
89010         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
89011
89012         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
89013         * lib/fnmatch.c: Update from diffutils-2.8.2.
89014         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
89015         * lib/fnmatch.h: Remove file.
89016
89017 2002-06-21  Jim Meyering  <meyering@lucent.com>
89018
89019         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
89020         * m4/mbrtowc.m4: Likewise.
89021
89022         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
89023         * m4/mbswidth.m4: Reflect name change:
89024         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
89025         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
89026
89027         * m4/lib-link.m4: Update from gettext-0.11.2.
89028         * m4/gettext.m4: Likewise.
89029
89030         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
89031         From Alfred M. Szmidt.
89032
89033 2002-06-18  Paul Eggert  <eggert@twinsun.com>
89034
89035         * lib/file-type.h: Report an error if neither S_ISREG nor
89036         S_IFREG is defined, instead of using a test specific to glibc
89037         2.2.  This should be safe, since POSIX requires S_ISREG and
89038         Unix Version 7 had S_IFREG.  We don't need to check for
89039         <sys/types.h> since we don't use any symbols that it defines.
89040
89041 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
89042
89043         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
89044         $@-t, so that each temporary file name is unique and valid in the first
89045         8 characters, for operation under DOS.
89046
89047 2002-06-15  Paul Eggert  <eggert@twinsun.com>
89048
89049         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
89050
89051 2002-06-15  Jim Meyering  <meyering@lucent.com>
89052
89053         Work even with DJGPP 2.03, which lacks support for symlinks.
89054         From Richard Dawe.
89055         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
89056         is defined.
89057         * lib/lchown.c (S_ISLNK): Likewise.
89058
89059 2002-06-15  Jim Meyering  <meyering@lucent.com>
89060
89061         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
89062         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
89063         have been included before this file.
89064
89065 2002-06-14  Jim Meyering  <meyering@lucent.com>
89066
89067         * lib/file-type.h: Use the version from diffutils-2.8.2.
89068         * lib/file-type.c: Likewise.
89069
89070 2002-06-07  Jim Meyering  <meyering@lucent.com>
89071
89072         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
89073         They're needed at least for NetBSD 1.5.2.
89074         ($statxfs_includes): Include those same headers.
89075         ($statxfs_includes): Include sys/vfs.h if available.
89076         ($statxfs_includes): Likewise for sys/statvfs.h.
89077         Check for the following members in both structs statfs and statvfs:
89078         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
89079
89080 2002-06-01  Jim Meyering  <meyering@lucent.com>
89081
89082         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
89083         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
89084
89085 2002-05-28  Jim Meyering  <meyering@lucent.com>
89086
89087         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
89088         Reported by Volker Borchert.
89089
89090 2002-05-27  Jim Meyering  <meyering@lucent.com>
89091
89092         Fix a problem seen only on nonconforming systems whereby ls.c's
89093         use of localtime, and then of gettimeofday would cause trouble:
89094         the localtime call used to initialize rpl_gettimeofday's save
89095         mechanism would clobber ls's current local time information so
89096         that in any long listing the first file would always be listed
89097         with date 1970-01-01.  Analysis by Volker Borchert.
89098
89099         * lib/gettimeofday.c (localtime): Undefine.
89100         (rpl_localtime): New function.
89101
89102 2002-05-27  Jim Meyering  <meyering@lucent.com>
89103
89104         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
89105         localtime.
89106
89107         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
89108         use the replacement function; it wouldn't resolve at link time.
89109         Reported by Volker Borchert.
89110
89111 2002-05-22  Jim Meyering  <meyering@lucent.com>
89112
89113         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
89114         file-type.h.
89115         * lib/file-type.h: New file.
89116         * lib/file-type.c (file_type): New file/function.  Extracted from
89117         diffutils.
89118
89119 2002-04-30  Jim Meyering  <meyering@lucent.com>
89120
89121         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
89122
89123 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89124
89125         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
89126
89127 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89128
89129         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
89130         Do not check for alloca.h (no longer used) or stdbool.h (was never
89131         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
89132
89133 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89134
89135         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
89136
89137 2002-04-29  Jim Meyering  <meyering@lucent.com>
89138
89139         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
89140         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
89141         Use AC_FUNC_STRNLEN here instead.
89142
89143         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
89144         With autoconf-2.53a, it's part of AC_PROG_CC.
89145
89146 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89147
89148         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
89149         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
89150
89151 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89152
89153         * lib/sig2str.h, lib/sig2str.c: New files.
89154         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
89155
89156 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89157
89158         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
89159         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
89160         of 127, since 64 is the largest conceivable number for ancient
89161         nonstandard hosts.
89162         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
89163
89164 2002-04-28  Jim Meyering  <meyering@lucent.com>
89165
89166         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
89167
89168 2002-04-24  Jim Meyering  <meyering@lucent.com>
89169
89170         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
89171         (jm_PREREQ): Use it.
89172
89173         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
89174         mach/mach.h fcntl.h.
89175         Check for this function: setlocale.
89176
89177 2002-04-24  Jim Meyering  <meyering@lucent.com>
89178
89179         * lib/gettext.h: New file, from Gettext.
89180         * lib/Makefile.am (INCLUDES): Remove -I../intl.
89181         (libfetish_a_SOURCES): Add gettext.h.
89182
89183 2002-04-16  Jim Meyering  <meyering@lucent.com>
89184
89185         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
89186         ut_pid, ut_id, ut_exit.
89187
89188 2002-04-16  Jim Meyering  <meyering@lucent.com>
89189
89190         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
89191         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
89192         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
89193
89194 2002-04-12  Jim Meyering  <meyering@lucent.com>
89195
89196         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
89197         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
89198         existence of the getmntinfo function.  Needed for Darwin 5.3.
89199
89200         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
89201         This is necessary at least on Darwin 5.3.
89202
89203         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
89204         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
89205         strnlen.o in the library, and that makes some versions of ranlib
89206         object.
89207
89208 2002-04-12  Jim Meyering  <meyering@lucent.com>
89209
89210         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
89211
89212 2002-04-09  Jim Meyering  <meyering@lucent.com>
89213
89214         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
89215         to be more precise.  Rather than saying we're checking whether the
89216         function `works', say what we're testing.
89217         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
89218         Reported by Bruno Haible.
89219
89220 2002-03-10  Jim Meyering  <meyering@lucent.com>
89221
89222         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
89223         Suggestion from Santiago Vila.
89224
89225 2002-03-08  Jim Meyering  <meyering@lucent.com>
89226
89227         * lib/rename.c: Mention that this wrapper is needed also on
89228         mips-dec-ultrix4.4 systems.
89229
89230 2002-03-02  Jim Meyering  <meyering@lucent.com>
89231
89232         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
89233         not HAVE_CLOCK_SETTIME.
89234
89235 2002-02-27  Paul Eggert  <eggert@twinsun.com>
89236
89237         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
89238         Check for clock_settime.
89239
89240 2002-02-27  Paul Eggert  <eggert@twinsun.com>
89241
89242         * lib/nanosleep.h: Rename to....
89243         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
89244
89245         * lib/gettime.c: New file.
89246         * lib/settime.c: New file.
89247         * lib/stime.c: Remove.
89248
89249         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
89250         timespec.h.  Remove nanosleep.h.
89251
89252 2002-02-25  Paul Eggert  <eggert@twinsun.com>
89253
89254         * m4/acl.m4: New file.
89255         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
89256         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
89257
89258 2002-02-25  Paul Eggert  <eggert@twinsun.com>
89259
89260         * lib/acl.c, lib/acl.h: New files.
89261         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
89262
89263 2002-02-24  Jim Meyering  <meyering@lucent.com>
89264
89265         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
89266         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
89267         cause trouble.  Reported by Nelson Beebe.
89268
89269 2002-02-23  Paul Eggert  <eggert@twinsun.com>
89270
89271         * lib/path-concat.c (xpath_concat): Reorder code to pacify
89272         compilers that don't know that xalloc_die never returns.
89273
89274 2002-02-20  Jim Meyering  <meyering@lucent.com>
89275
89276         * lib/getdate.c: Regenerate using bison-1.33.
89277
89278 2002-02-17  Jim Meyering  <meyering@lucent.com>
89279
89280         * config/config.guess (main): Don't use `head -1'; it's no longer
89281         portable. Use `sed 1q' instead.
89282
89283 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
89284
89285         * m4/codeset.m4: Upgrade to gettext-0.11.
89286         * m4/gettext.m4: Upgrade to gettext-0.11.
89287         * m4/glibc21.m4: Upgrade to gettext-0.11.
89288         * m4/iconv.m4: Upgrade to gettext-0.11.
89289         * m4/isc-posix.m4: Upgrade to gettext-0.11.
89290         * m4/lcmessage.m4: Upgrade to gettext-0.11.
89291         * m4/lib-ld.m4: New file, from gettext-0.11.
89292         * m4/lib-link.m4: New file, from gettext-0.11.
89293         * m4/lib-prefix.m4: New file, from gettext-0.11.
89294         * m4/progtest.m4: Upgrade to gettext-0.11.
89295
89296 2002-02-15  Paul Eggert  <eggert@twinsun.com>
89297
89298         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
89299         (jm_PREREQ): Use it.
89300
89301 2002-02-15  Paul Eggert  <eggert@twinsun.com>
89302
89303         * lib/posixver.c, lib/posixver.h: New files.
89304         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
89305
89306 2002-02-02  Paul Eggert  <eggert@twinsun.com>
89307             Bruno Haible  <bruno@clisp.org>
89308
89309         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
89310         (fwrite_success_callback): New declaration.
89311         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
89312         print_unicode_char. Call failure callback instead of error.
89313         (fwrite_success_callback): New function.
89314         (exit_failure_callback): New function.
89315         (fallback_failure_callback): New function.
89316         (print_unicode_char): Call unicode_to_mb.
89317
89318 2002-01-26  Jim Meyering  <meyering@lucent.com>
89319
89320         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
89321         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
89322
89323 2002-01-26  Jim Meyering  <meyering@lucent.com>
89324
89325         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
89326
89327 2002-01-22  Paul Eggert  <eggert@twinsun.com>
89328
89329         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
89330
89331 2002-01-22  Jim Meyering  <meyering@lucent.com>
89332
89333         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
89334         Otherwise, some versions of automake would omit the rule that makes
89335         Makefile from Makefile.in.
89336
89337 2002-01-21  Paul Eggert  <eggert@twinsun.com>
89338
89339         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
89340         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
89341         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
89342         (memcoll): Set errno to zero if there is no error.
89343
89344         * lib/quotearg.c (quotearg_buffer_restyled):
89345         Fix bug with quoting buffers containing NUL when backslashing escapes.
89346         This bug was exposed by the other changes in this patch.
89347         (quotearg_n_options): New arg ARGSIZE.
89348         All callers changed.
89349         (quoting_options_from_style): New function.
89350         (quotearg_n_style): Use it.
89351         (quotearg_n_style_mem): New function.
89352
89353         * lib/quotearg.h (quotearg_n_style_mem): New function.
89354
89355 2002-01-19  Jim Meyering  <meyering@lucent.com>
89356
89357         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
89358         Remove useless quotes: DF_PROG="df".
89359         * m4/strnlen.m4: New file.
89360
89361 2002-01-16  Paul Eggert  <eggert@twinsun.com>
89362
89363         * lib/backupfile.c (ISDIGIT): Comment fix.
89364         * lib/getdate.y (ISDIGIT): Likewise.
89365         * lib/posixtm.c (ISDIGIT, year): Likewise.
89366         * lib/strverscmp.c (ISDIGIT): Likewise.
89367         * lib/userspec.c (ISDIGIT): Likewise.
89368
89369 2002-01-16  Jim Meyering  <meyering@lucent.com>
89370
89371         * lib/getdate.y: Add three semicolons, each just before a closing
89372         brace. Bison (as of version 1.31) no longer papers over that mistake.
89373
89374 2002-01-05  Jim Meyering  <meyering@lucent.com>
89375
89376         * lib/version-etc.c (version_etc_copyright): Update copyright year.
89377
89378 2001-12-19  Paul Eggert  <eggert@twinsun.com>
89379
89380         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
89381         not silently exit merely because the output buffer happens to
89382         have nothing pending.
89383
89384 2001-12-18  Paul Eggert  <eggert@twinsun.com>
89385
89386         See the big note in ../ChangeLog.
89387         * lib/human.c (suffixes): Prefer K to k for 1024.
89388         (generate_suffix_backwards): New function.
89389         (human_readable_inexact): Use it.
89390         * lib/xstrtol.c (__xstrtol): If there is no number but there
89391         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
89392         Accept 'K' as well as 'k'.
89393
89394 2001-12-15  Jim Meyering  <meyering@lucent.com>
89395
89396         * lib/regex.h (__restrict_arr): Update from libc.
89397
89398         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
89399         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
89400         (STREQ): Define.
89401
89402 2001-12-14  Jim Meyering  <meyering@lucent.com>
89403
89404         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
89405         Suggestion from Bruno Haible.
89406
89407 2001-12-10  Jim Meyering  <meyering@lucent.com>
89408
89409         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
89410         xrealloc, Instead, include "xalloc.h".
89411         (initbuffer): Don't cast xmalloc return value to char*.
89412         (readline): Reword comment.
89413         Don't cast xrealloc return value to char*
89414         Return NULL, not 0.
89415
89416 2001-12-09  Jim Meyering  <meyering@lucent.com>
89417
89418         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
89419         about `signed and unsigned type in conditional expression'.
89420         * lib/posixtm.c (posix_time_parse): Likewise.
89421
89422         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
89423
89424         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
89425         to avoid a pedantic warning.
89426
89427         * lib/getstr.c: Don't include assert.h.
89428         (getstr): Remove warning-evoking assertions.
89429         Return -1 if offset parameter is out of bounds.
89430         Change the type of a local from int to size_t.
89431
89432         * lib/strftime.c (my_strftime_localtime_r): Include this function
89433         definition in the `#if ! HAVE_TM_GMTOFF' block.
89434
89435         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
89436         Include xalloc.h instead.
89437
89438 2001-12-02  Jim Meyering  <meyering@lucent.com>
89439
89440         * lib/tempname.c: Don't declare getenv, thus reverting the change of
89441         2001-11-18.  It's no longer necessary, now that stdlib.h is always
89442         included.
89443
89444         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
89445         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
89446
89447 2001-11-30  Akim Demaille  <akim@epita.fr>
89448
89449         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
89450         before being defined.
89451
89452 2001-11-27  Paul Eggert  <eggert@twinsun.com>
89453
89454         * lib/quotearg.h (quotearg_n, quotearg_n_style):
89455         First arg is int, not unsigned.
89456         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
89457         (SIZE_MAX, UINT_MAX): New macros.
89458         (quotearg_n_options): Abort if N is negative.
89459         Avoid overflow check on hosts where size_t is 64 bits and int
89460         is 32 bits, as overflow is impossible there.
89461         Fix off-by-one typo that caused unnecessary reallocation.
89462
89463 2001-11-27  Jim Meyering  <meyering@lucent.com>
89464
89465         * lib/tempname.c: Merge with version from libc.
89466         * lib/regex.c: Likewise.
89467
89468         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
89469         systems for which STDC_HEADERS is 0, it was not included, resulting in
89470         a warning about an integer-to-pointer conversion problem with getenv.
89471         Reported by Volker Borchert.
89472
89473 2001-11-26  Jim Meyering  <meyering@lucent.com>
89474
89475         * lib/gtod.h: Remove file.
89476         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
89477         * lib/gettimeofday.c: Don't include gtod.h.
89478         (GTOD_init): Remove function.
89479         (rpl_gettimeofday): Do its job here instead, rather than aborting.
89480         Suggestion from Volker Borchert.
89481
89482 2001-11-23  Jim Meyering  <meyering@lucent.com>
89483
89484         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
89485         it.
89486         * lib/hash.c (struct hash_table): Define it here instead.
89487
89488 2001-11-22  Jim Meyering  <meyering@lucent.com>
89489
89490         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
89491
89492 2001-11-20  Jim Meyering  <meyering@lucent.com>
89493
89494         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
89495         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
89496
89497 2001-11-19  Jim Meyering  <meyering@lucent.com>
89498
89499         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
89500         directory.  Use "conftestXXXXXX" as the template.
89501         Suggestion from Paul Eggert.
89502
89503         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
89504         immediately, so the test doesn't mistakenly hit the max-open-files
89505         limit.
89506
89507 2001-11-18  Paul Eggert  <eggert@twinsun.com>
89508
89509         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
89510         (TEMPORARIES): New macro.
89511         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
89512         removes an artificial limitation (e.g. HP-UX 10.20, where
89513         TMP_MAX is 17576).
89514
89515 2001-11-18  Jim Meyering  <meyering@lucent.com>
89516
89517         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
89518
89519 2001-11-18  Jim Meyering  <meyering@lucent.com>
89520
89521         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
89522         on SunOS 4.
89523
89524         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
89525         files will be created before anything else.
89526
89527 2001-11-17  Paul Eggert  <eggert@twinsun.com>
89528
89529         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
89530         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
89531
89532 2001-11-17  Jim Meyering  <meyering@lucent.com>
89533
89534         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
89535         Prompted by a report from Bob Proulx.
89536
89537         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
89538         Instead, require UTILS_FUNC_MKSTEMP.
89539
89540 2001-11-17  Jim Meyering  <meyering@lucent.com>
89541
89542         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
89543         Now, that's done as part of AC_FUNC_STRTOD.
89544
89545 2001-11-17  Jim Meyering  <meyering@lucent.com>
89546
89547         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
89548         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
89549         rather than group writable.  Patch by Juan F. Codagnone.
89550
89551         * lib/readtokens.c: Remove explicit declarations of xmalloc and
89552         xrealloc, Instead, include "xalloc.h".
89553
89554         * lib/mountlist.c: Include unlocked-io.h after all system headers.
89555         Remove explicit declarations of xmalloc, xrealloc,
89556         and xstrdup.  Instead, include "xalloc.h".
89557
89558         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
89559         unlocked-io.h.
89560         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
89561         Likewise.
89562         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
89563
89564         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
89565         Reported by Padraig Brady.
89566
89567         * lib/mkstemp.c: #undef mkstemp.
89568         Include config.h.
89569         (rpl_mkstemp): Rename from mkstemp.
89570         Protoize.
89571
89572 2001-11-16  Jim Meyering  <meyering@lucent.com>
89573
89574         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
89575         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
89576         determine the amount of total physical memory, use pstat_getstatic.
89577         HPUX-11 doesn't define _SC_PHYS_PAGES.
89578         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
89579         If sysconf couldn't be used to determine the amount of available
89580         physical memory, use both pstat_getstatic and pstat_getdynamic.
89581         Based on a patch from Bob Proulx.
89582
89583 2001-11-10  Jim Meyering  <meyering@lucent.com>
89584
89585         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
89586         (jm_PREREQ): Use it.
89587
89588 2001-11-09  Jim Meyering  <meyering@lucent.com>
89589
89590         * m4/jm-macros.m4: Require autoconf-2.52f.
89591         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
89592         Use these AC_-prefixed names, not the AM_-prefixed ones.
89593
89594         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
89595
89596 2001-11-05  Jim Meyering  <meyering@lucent.com>
89597
89598         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
89599
89600 2001-11-04  Jim Meyering  <meyering@lucent.com>
89601
89602         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
89603         $DEFS.
89604
89605 2001-11-03  Jim Meyering  <meyering@lucent.com>
89606
89607         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
89608         of AC_DEFUN.
89609
89610         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
89611         know the name of the variable in the macro definition.
89612
89613 2001-11-03  Jim Meyering  <meyering@lucent.com>
89614
89615         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
89616         in argmatch_to_argument call.
89617
89618         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
89619         argument.
89620
89621         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
89622         e.g., a fault due to an attempt to free a NULL pointer.
89623
89624 2001-11-01  Jim Meyering  <meyering@lucent.com>
89625
89626         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
89627         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
89628
89629 2001-11-01  Jim Meyering  <meyering@lucent.com>
89630
89631         * lib/dirfd.c, lib/dirfd.h: New files.
89632         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
89633
89634         * lib/hash.c (hash_print) [TESTING]: Clean up.
89635
89636 2001-10-22  Paul Eggert  <eggert@twinsun.com>
89637
89638         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
89639         to avoid a warning if -Wall.
89640
89641 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
89642
89643         * README: New file
89644         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
89645         (per RMS's instructions, this is now the canonical source)
89646         * lgpl/, gpl/: New directories.
89647
89648 2001-10-21  Paul Eggert  <eggert@twinsun.com>
89649
89650         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
89651
89652 2001-10-21  Jim Meyering  <meyering@lucent.com>
89653
89654         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
89655         this code would end up calling gettext even in packages built
89656         with --disable-nls.
89657         * lib/getopt.c (_): Likewise.
89658         * lib/regex.c (_): Likewise.
89659
89660 2001-10-20  Paul Eggert  <eggert@twinsun.com>
89661
89662         * m4/error.m4 (jm_PREREQ_ERROR):
89663         Do not invoke AC_CHECK_FUNCS with strerror_r, as
89664         AC_FUNC_STRERROR_R does that.
89665         Check for strerror declaration.
89666
89667         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
89668         are supposed to have them these days.
89669         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
89670         Merge changes from latest Autoconf CVS.
89671         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
89672         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
89673         POSIX decided to standardize on the int flavor of strerror_r.
89674
89675 2001-10-20  Paul Eggert  <eggert@twinsun.com>
89676
89677         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
89678         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
89679         Use strerror_r that is only a macro, even if it is not a function.
89680         (strerror): Check for HAVE_DECL_STRERROR before declaring.
89681         (private_strerror): Use prototypes, not old-style function definition.
89682         (print_errno_message): New function.
89683         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
89684         char*-flavored one.
89685         (error_tail, error, error_at_line): Use it.
89686
89687 2001-10-11  Jim Meyering  <meyering@lucent.com>
89688
89689         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
89690         and quote_n (1, ... to avoid clobbering a buffer.
89691
89692 2001-10-05  Jim Meyering  <meyering@lucent.com>
89693
89694         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
89695         hash-pjw.h.
89696         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
89697         * lib/hash-pjw.h: New file.
89698
89699 2001-09-30  Jim Meyering  <meyering@lucent.com>
89700
89701         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
89702         `struct fsstat' has the `f_fstypename' member.
89703         Use that to define FS_TYPE, which is now used to make
89704         the getfsstat link test tighter.
89705
89706 2001-09-30  Jim Meyering  <meyering@lucent.com>
89707
89708         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
89709         Include <sys/ucred.h>, for Apple Darwin.
89710         Include sys/mount.h and sys/fs_types.h only if available.
89711         (FS_TYPE): Define.
89712         (read_filesystem_list): Use FS_TYPE.
89713
89714 2001-09-29  Paul Eggert  <eggert@twinsun.com>
89715
89716         * lib/exclude.c (excluded_filename): 0 -> false, since it's
89717         a boolean context.
89718
89719 2001-09-29  Jim Meyering  <meyering@lucent.com>
89720
89721         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
89722         [one-argument getmntent function]): Include stdio.h before mntent.h.
89723         SunOS 4.1.x needs it for the declaration of `FILE'.
89724         Patch by Volker Borchert.
89725
89726         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
89727         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
89728         sys/fs_types.h, and make the link-test for getfsstat guard #include
89729         directives with appropriate #if HAVE_*_H tests so that we can
89730         detect getfsstat on Apple Darwin1.3.7 systems.
89731         Reported by Nelson Beebe.
89732         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
89733
89734 2001-09-28  Paul Eggert  <eggert@twinsun.com>
89735
89736         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
89737         #defines strtoimax.  Also treat the other strto* functions
89738         like strtoimax.
89739
89740         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
89741         Check for strtoul and strtoumax,
89742         as those declarations are made even in the signed case.
89743         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
89744         Likewise, for strtol and strtoimax.
89745
89746 2001-09-28  Paul Eggert  <eggert@twinsun.com>
89747
89748         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
89749         #defines strtoimax.  Also treat the other strto* functions
89750         like strtoimax.
89751
89752         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
89753         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
89754         (strtoimax, strtoumax): Do not declare if already defined as a macro.
89755
89756 2001-09-26  Jim Meyering  <meyering@lucent.com>
89757
89758         Most macros in unlocked-io.h had the wrong number of arguments.
89759         * lib/gen-uio: New script.
89760         (USE_UNLOCKED_IO): Define to 1 if not already defined.
89761         * lib/unlocked-io.hin: Remove file.
89762         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
89763         rather than trying to embed it here.
89764         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
89765         Reported by Padraig Brady.
89766
89767 2001-09-25  Volker Borchert  <bt@teknon.de>
89768
89769         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
89770         `result'.
89771
89772 2001-09-24  Jim Meyering  <meyering@lucent.com>
89773
89774         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
89775
89776 2001-09-23  Jim Meyering  <meyering@lucent.com>
89777
89778         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
89779         instead of the mere test for existence of mntent.h.  The latter
89780         would get a false-positive on AIX 3.4 systems.
89781         In the outer getmntent if-block, don't die if neither of the getmntent
89782         tests succeeds.  Instead, just fall through and continue with the
89783         remaining tests.
89784
89785 2001-09-23  Jim Meyering  <meyering@lucent.com>
89786
89787         * lib/mountlist.c: Remove useless parentheses in #if directives.
89788         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
89789         the deprecated MOUNTED symbol is no longer defined in mntent.h.
89790
89791 2001-09-22  Jim Meyering  <meyering@lucent.com>
89792
89793         * m4/gettext.m4: New file.  From gettext.
89794         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
89795         * m4/progtest.m4: Likewise
89796         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
89797         * m4/glibc21.m4: Likewise.
89798
89799         * m4/libintl.m4: Remove.  No longer used.
89800
89801 2001-09-22  Jim Meyering  <meyering@lucent.com>
89802
89803         * lib/localcharset.c: Update from latest gettext.
89804         * lib/config.charset: Likewise.
89805
89806 2001-09-20  Jim Meyering  <meyering@lucent.com>
89807
89808         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
89809         strtoimax.
89810         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
89811         strtoumax.
89812
89813 2001-09-20  Jim Meyering  <meyering@lucent.com>
89814
89815         * lib/xstrtol.c (strtoimax): Guard declaration with
89816         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
89817         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
89818         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
89819         (strtoumax): Likewise, for completeness (it wasn't necessary).
89820
89821 2001-09-17  Paul Eggert  <eggert@twinsun.com>
89822
89823         * lib/strtoimax.c (HAVE_LONG_LONG):
89824         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
89825         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
89826         to work around bug in IBM C compiler.
89827
89828 2001-09-17  Jim Meyering  <meyering@lucent.com>
89829
89830         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
89831         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
89832         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
89833         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
89834         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
89835         whenever the right hand side need not be expanded by the shell.
89836
89837 2001-09-16  Paul Eggert  <eggert@twinsun.com>
89838
89839         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
89840         library.  It's not correct, as some older glibcs are buggy.
89841         fnmatch wasn't fixed until glibc 2.2.
89842
89843         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
89844         special shell magic here.
89845
89846 2001-09-16  Jim Meyering  <meyering@lucent.com>
89847
89848         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
89849         * m4/jm-macros.m4: Require it.
89850
89851 2001-09-16  Jim Meyering  <meyering@lucent.com>
89852
89853         * lib/mkdir.c: New file.
89854
89855 2001-09-15  Jim Meyering  <meyering@lucent.com>
89856
89857         * m4/jm-macros.m4: Check for help2man.
89858
89859 2001-09-11  Jim Meyering  <meyering@lucent.com>
89860
89861         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
89862         The body, by Paul Eggert, was moved here from configure.in.
89863         * m4/jm-macros.m4: Require UTILS_HOST_OS.
89864
89865 2001-09-04  Paul Eggert  <eggert@twinsun.com>
89866
89867         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
89868         (jm_PREREQ): Use it.
89869
89870 2001-09-04  Paul Eggert  <eggert@twinsun.com>
89871
89872         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
89873         Use ssize_t, not int, to store result of readlink.
89874         Check for ssize_t overflow as well as size_t overflow,
89875         as POSIX says the result of readlink is implementation-defined
89876         when ssize_t overflows.
89877         Remove unnecessary cast to char*.
89878         Use free+malloc instead of realloc, as the storage doesn't need
89879         to be preserved and it's clearer and can be more efficient that way.
89880         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
89881         * lib/xreadlink.h (xreadlink): Update prototype.
89882
89883 2001-09-04  Paul Eggert  <eggert@twinsun.com>
89884
89885         * lib/xgetcwd.c: Revert some of the previous change; intead,
89886         fix the HAVE_GETCWD_NULL code to behave more like the
89887         !HAVE_GETCWD_NULL code used to.
89888
89889         Include "xalloc.h".
89890         (xgetcwd): Do not return NULL when memory is exhausted; instead,
89891         invoke xalloc_die.
89892
89893 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89894
89895         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
89896         sys/param.h, as pathmax.h includes them.
89897
89898 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89899
89900         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
89901         (jm_PREREQ_XGETCWD): New macro.
89902
89903         * m4/getcwd.m4: New file.
89904
89905 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89906
89907         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
89908         like the HAVE_GETCWD_NULL code.
89909         Include pathmax.h if not HAVE_GETCWD.
89910         Do not include xalloc.h.
89911         (INITIAL_BUFFER_SIZE): New symbol.
89912         Do not use xmalloc / xrealloc, since the caller is responsible for
89913         handling errors.  Preserve errno around `free' during failure.
89914         Do not overrun buffer when using getwd.
89915
89916 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89917
89918         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
89919         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
89920         getcwd (NULL, 0).
89921
89922 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89923
89924         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
89925         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
89926         spotted by Jim Meyering.
89927
89928 2001-09-03  Jim Meyering  <meyering@lucent.com>
89929
89930         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
89931         failure.
89932
89933 2001-09-02  Jim Meyering  <meyering@lucent.com>
89934
89935         * lib/error.c: Update from GNU libc.
89936
89937 2001-09-01  Jim Meyering  <meyering@lucent.com>
89938
89939         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
89940         Used by df.
89941
89942 2001-09-01  Jim Meyering  <meyering@lucent.com>
89943
89944         * lib/xreadlink.c: New file.
89945         * lib/xreadlink.h: New file.
89946         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
89947         xreadlink.h.
89948
89949         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
89950         doesn't conflict with sparc Solaris 7's definition in
89951         /usr/include/sys/int_types.h.
89952
89953         * lib/exclude.c: Use `""', not `<>' to #include non-system header
89954         files.
89955         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
89956         and strncasecmp as r-values.  Unixware didn't have declarations.
89957
89958 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89959
89960         * lib/xstrtol.h: Add copyright notice.
89961         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
89962         LONGINT_INVALID_SUFFIX_CHAR.
89963
89964 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89965
89966         * lib/xstrtol.c (strtoimax): New decl.
89967
89968 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89969
89970         * lib/xgetcwd.c: Don't include pathmax.h.
89971         Include stdlib.h and unistd.h if available.
89972         Include xalloc.h.
89973         (xmalloc, xstrdup, free): Remove decls.
89974         (xgetcwd): Don't assume sizes fit in unsigned.
89975         Check for overflow when computing sizes.
89976         Simplify reallocation code.
89977
89978 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89979
89980         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
89981         a directory's st_size can have an arbitrary value, so the old
89982         usage could waste an arbitrary amount of memory.  All uses
89983         changed.
89984         * lib/savedir.h: Update prototype.
89985
89986 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89987
89988         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
89989
89990         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
89991         old strtoimax.c.
89992
89993         Also, make the following further changes to make this file's
89994         configuration more similar to that of strtol.c:
89995         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
89996         (strtoumax, uintmax_t, strtoull, strtol): Remove.
89997         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
89998         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
89999         changed to signed values.
90000
90001         And make the following changes as well:
90002         Fix copyright notice, as 1999 was missing.
90003         (verify): New macro.
90004         (strtoimax): Check sizes at compile-time, not run-time.
90005         Prefer strtol to strtoll if both work.
90006         (main): Remove; it was not that useful and was a pain to maintain.
90007
90008         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
90009
90010 2001-08-31  Jim Meyering  <meyering@lucent.com>
90011
90012         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
90013         Use an initial, malloc'd, buffer of length 128 rather than
90014         a statically allocated one of length 1024.
90015
90016 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90017
90018         Simplify code, partly by assuming autoconf 2.52 semantics.
90019
90020         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
90021
90022         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
90023         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
90024         All uses removed.
90025         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
90026         Move AC_REQUIRE to next-to-top level, to avoid confusion.
90027         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
90028         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
90029         jm_AC_HEADER_INTTYPES_H.
90030         * m4/jm-macros.m4 (jm_MACROS): Likewise.
90031
90032         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
90033
90034         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90035         Quote first arg of AC_DEFUN.
90036         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
90037         since they are needed to parse the include file even if we need
90038         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
90039         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
90040         but with opposite signedness.
90041
90042 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90043
90044         Merge 'exclude' changes from tar 1.13.22.
90045         This fixes one or two unlikely storage allocation overflow bugs,
90046         but doesn't change user-visible behavior otherwise.
90047
90048 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90049
90050         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
90051         (jm_PREREQ_EXCLUDE): New macro.
90052
90053 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90054
90055         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
90056         tm to be declared.
90057
90058 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90059
90060         * lib/hash.c: Remove '2001' from copyright notice.
90061
90062 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90063
90064         * lib/full-write.h: New file.
90065         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
90066         * lib/full-write.c: Correct credits, as cccp.c no longer
90067         exists and anyway it was so heavily changed from the old cccp
90068         code as to be unrecognizable.  Include full-write.h.
90069         (full_write): Return size_t, with short writes meaning failure.
90070         All callers changed.  This fixes a bug with large buffers
90071         on 64-bit hosts.
90072         * lib/utime.c: Include full-write.h.
90073
90074 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90075
90076         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
90077         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
90078         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
90079         Include if available.
90080         (<xalloc.h>): Include
90081         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
90082         (verify): New macro.  Use it to verify that EXCLUDE macros do not
90083         collide with FNM macros.
90084         (struct patopts): New struct.
90085         (struct exclude): Use it, as exclude patterns now come with options.
90086         (new_exclude): Support above changes.
90087         (new_exclude, add_exclude_file):
90088         Initial size must now be a power of two to simplify overflow checking.
90089         (free_exclude, fnmatch_no_wildcards): New function.
90090         (excluded_filename): No longer requires options arg, as the options
90091         are determined by add_exclude.  Now returns bool, not int.
90092         (excluded_filename, add_exclude):
90093         Add support for the fancy new exclusion options.
90094         (add_exclude, add_exclude_file): Now takes int options arg.
90095         Check for arithmetic overflow when computing sizes.
90096         (add_exclude_file): xrealloc might modify errno, so don't
90097         realloc until after errno might be used.
90098
90099         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
90100         New macros.
90101         (free_exclude): New decl.
90102         (add_exclude, add_exclude_file): Now takes int options arg.
90103         (excluded_filename): No longer requires options arg, as the options
90104         are determined by add_exclude.  Now returns bool, not int.
90105
90106 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90107
90108         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
90109
90110 2001-08-27  Jim Meyering  <meyering@lucent.com>
90111
90112         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
90113
90114         * lib/version-etc.c (N_): Remove definition.
90115         Revert most of last change.
90116         Instead, simply don't mark the `Copyright...' string for translation.
90117         Based on advice from Paul Eggert.
90118
90119         * lib/strtoxmax.c: Tweak comment.
90120
90121 2001-08-26  Jim Meyering  <meyering@lucent.com>
90122
90123         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
90124
90125         * m4/xstrtoimax.m4: New file.
90126         * m4/xstrtoumax.m4: Add comments explaining why we
90127         AC_REPLACE_FUNCS(strtol).
90128
90129 2001-08-26  Jim Meyering  <meyering@lucent.com>
90130
90131         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
90132         of copyright with `%s' so translators don't get an untranslated
90133         message in 2002.
90134         (COPYRIGHT_YEAR): Define.
90135         (version_etc): Use fprintf rather than fputs.
90136         Suggestion from Ulrich Drepper.
90137
90138         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
90139
90140         * lib/strtoll.c: New file, from GNU libc.
90141         * lib/xstrtoimax.c: New file.
90142
90143         * lib/xstrtol.h: Add xstrtoimax.
90144         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
90145         * lib/strtoimax.c: New file.  Likewise, but first define
90146         STRTOUXMAX_SIGNED.
90147
90148         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
90149         ...
90150         * lib/strtoxmax.c: ... then renamed to this.
90151
90152 2001-08-18  Paul Eggert  <eggert@twinsun.com>
90153
90154         * m4/inttypes.m4: Add AC_PREREQ(2.13).
90155         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
90156         (jm_AC_TYPE_INTMAX_T): New macro.
90157         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
90158
90159         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
90160
90161         * m4/longlong.m4: Renamed from ulonglong.m4.
90162         * m4/inttypes.m4: Renamed from inttypes_h.m4.
90163         * m4/uintmax_t.m4: Removed.
90164
90165 2001-08-13  Paul Eggert  <eggert@twinsun.com>
90166
90167         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
90168         Port to Solaris 8, where 'sed' requires a space after the 'r'
90169         command, and where sh dislikes "$/".  Clean up the spacing a bit.
90170         Redirect output to $tmp just once.
90171
90172 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
90173
90174         * lib/addext.c (<errno.h>): Include.
90175         (errno): Declare if not defined.
90176         (addext): Work correctly when pathconf returns -1 and leaves
90177         errno alone because there is no limit.  Also, work even if
90178         pathconf returns a value greater than SIZE_MAX.
90179
90180 2001-08-12  Jim Meyering  <meyering@lucent.com>
90181
90182         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
90183         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
90184         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
90185         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
90186         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
90187         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
90188         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
90189         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
90190         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
90191         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
90192         utime.m4, utimes.m4, xstrtoumax.m4:
90193         Quote the first argument in each use of AC_DEFUN.
90194
90195 2001-08-12  Jim Meyering  <meyering@lucent.com>
90196
90197         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
90198         Simply `return getcwd (NULL, 0);'.
90199         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
90200         Use 1300 as initial value for length, not PATH_MAX.
90201
90202         * lib/pathmax.h: Clean up cpp syntax.
90203
90204 2001-08-12  Jim Meyering  <meyering@lucent.com>
90205
90206         * lib/gettimeofday.c: New file.
90207         * lib/gtod.h: New file.
90208         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
90209
90210 2001-08-05  Jim Meyering  <meyering@lucent.com>
90211
90212         * m4/jm-macros.m4: Require autoconf-2.52.
90213
90214 2001-08-04  Jim Meyering  <meyering@lucent.com>
90215
90216         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
90217         stmt, to get in sync with glibc.
90218
90219 2001-08-03  Paul Eggert  <eggert@twinsun.com>
90220
90221         The following changes are from gettext 0.10.39 as maintained by
90222         Bruno Haible.
90223
90224         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
90225         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
90226         with inverted sense.  All uses changed.
90227
90228         * lib/mbswidth.c: Don't include <limits.h>.
90229         Include <stdlib.h> and <string.h> unconditionally.
90230         (iswcntrl, mbsinit, ISCNTRL): New macros.
90231         (mbsnwidth): Use K&R style function declarations.
90232         Don't bother checking for MB_LEN_MAX == 1, since the compiler
90233         can optimize it when MB_CUR_MAX == 1.
90234         The width of control characters is zero, not 1.
90235
90236 2001-08-03  Paul Eggert  <eggert@twinsun.com>
90237
90238         The following changes are from gettext 0.10.39 as maintained by
90239         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
90240
90241         * m4/codeset.m4: Upgrade to serial AM1.
90242         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
90243         all uses changed.  Quote first arg of AC_DEFUN.
90244         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
90245
90246         * m4/iconv.m4: Upgrade to serial AM2.
90247         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
90248         Add --with-libconv-prefix.
90249         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
90250         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
90251         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
90252         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
90253         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
90254
90255         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
90256         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
90257         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
90258         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
90259         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
90260         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
90261         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
90262         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
90263         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
90264
90265         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
90266         string.h any more.
90267
90268         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
90269         not the default value.
90270
90271         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
90272         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
90273         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
90274         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
90275         Also check for iswcntrl, used for wcwidth fallback.
90276         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
90277         to Autoconf 2.13.
90278
90279 2001-08-03  Jim Meyering  <meyering@lucent.com>
90280
90281         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
90282         as it was in the original.  Reported by Paul Eggert.
90283
90284 2001-07-16  Jim Meyering  <meyering@lucent.com>
90285
90286         * m4/gettimeofday.m4: New file.
90287         Prompted by a report from Bernhard Baehr.
90288
90289 2001-07-15  Jim Meyering  <meyering@lucent.com>
90290
90291         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
90292         stuff. Now it's in ../Makefile.cfg.
90293
90294 2001-07-15  Jim Meyering  <meyering@lucent.com>
90295
90296         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
90297         (BUILT_SOURCES): Add unlocked-io.h.
90298         (io_functions): Define.
90299         (unlocked-io.h): New rule.
90300         (DISTCLEANFILES): Add unlocked-io.h.
90301         (all-local): Depend on unlocked-io.h, to ensure it is created.
90302
90303         * lib/unlocked-io.hin: New file
90304
90305         * lib/regex.c: Update from glibc.
90306
90307 2001-07-05  Jim Meyering  <meyering@lucent.com>
90308
90309         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
90310         recommendation.
90311         (libfetish_a_SOURCES): Put all .h files here instead.
90312         Remove a thus-exposed (better checks in automake) duplicate and
90313         two unnecessary .h files.
90314
90315 2001-07-04  Jim Meyering  <meyering@lucent.com>
90316
90317         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
90318         that generates jm-glibc-io.m4 so that it doesn't trigger any make
90319         distcheck failure.
90320
90321 2001-07-02  Jim Meyering  <meyering@lucent.com>
90322
90323         The following changes were prompted by suggestions from Bruno Haible.
90324
90325         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
90326         is now generated.
90327         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
90328         definition of EXTRA_DIST.
90329         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
90330         ensure that the generated file is created/updated whenever the list
90331         of $(unlocked_functions) is changed.
90332         (jm-glibc-io.m4): New rule.
90333         (unlocked-io.h): New rule -- currently unused.
90334
90335 2001-06-24  Jim Meyering  <meyering@lucent.com>
90336
90337         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
90338         unmatched right bracket, rather than kludging it with an extra,
90339         falsely-matching quote in a comment.  Patch by Akim Demaille.
90340
90341 2001-06-11  Jim Meyering  <meyering@lucent.com>
90342
90343         * lib/regex.c: Update from GNU libc.
90344
90345 2001-05-27  Jim Meyering  <meyering@lucent.com>
90346
90347         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
90348         Check for ut_type in struct utmp.
90349
90350 2001-05-27  Jim Meyering  <meyering@lucent.com>
90351
90352         * lib/readutmp.h (UT_TYPE): Define.
90353
90354 2001-05-24  Jim Meyering  <meyering@lucent.com>
90355
90356         * lib/argmatch.c: Include "quote.h".
90357         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
90358         quote function.  Reported by Göran Uddeborg.
90359
90360 2001-05-22  Jim Meyering  <meyering@lucent.com>
90361
90362         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
90363         now that we use the package-supplied version unconditionally.
90364         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
90365
90366 2001-05-21  Jim Meyering  <meyering@lucent.com>
90367
90368         * m4/regex.m4: Change a couple backticks to single quotes to avoid
90369         shell syntax errors.
90370
90371 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
90372
90373         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
90374
90375 2001-05-20  Paul Eggert  <eggert@twinsun.com>
90376
90377         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
90378         Don't bother to check library strftime, since
90379         we'll be using our own my_strftime function anyway.
90380         Define my_strftime instead of strftime.
90381
90382 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
90383
90384         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
90385         which is not yet declared.
90386
90387 2001-05-15  Jim Meyering  <meyering@lucent.com>
90388
90389         * m4/regex.m4: Use proper quoting so brackets appear in the test
90390         program.
90391         Reported by, and with help from, Bruno Haible.
90392
90393 2001-05-13  Jim Meyering  <meyering@lucent.com>
90394
90395         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
90396         undefined.
90397
90398 2001-05-11  Paul Eggert  <eggert@twinsun.com>
90399
90400         dirname code cleanup.  base_name now behaves more compatibly
90401         with POSIX basename when given file names that have trailing
90402         slashes, and similarly for dir_name.  Add new primitives
90403         base_len and dir_len.  Put the directory-name-related decls
90404         into dirname.h.
90405
90406         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
90407         * lib/backupfile.c (base_name): Likewise.
90408         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
90409         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
90410         * lib/makepath.c (strip_trailing_slashes): Likewise.
90411         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
90412         ISSLASH): Likewise.
90413         * lib/rename.c (strip_trailing_slashes): Likewise.
90414         * lib/same.c (base_name): Likewise.
90415         * lib/stripslash.c (ISSLASH): Likewise.
90416
90417         * lib/addext.c: Include <dirname.h> after size_t is defined.
90418         * lib/backupfile.c: Likewise.
90419
90420         * lib/addext.c (addext): Use base_len to trim redundant
90421         trailing slashes instead of doing it ourselves.
90422         But do not trim the last slash if it is not redundant.
90423
90424         * lib/backupfile.c (find_backup_file_name,
90425         max_backup_version): Use base_len instead of rolling it ourselves.
90426         Handle the case of "" and (on DOS) "C:" correctly.
90427
90428         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
90429         needed. Include <string.h>, <dirname.h>.
90430         (base_name): Allow file names ending in slashes, other than names
90431         that are all slashes.  In this case, return the basename followed
90432         by the slashes.  This is more general, and can be used in places
90433         where the original base_name purposely had an assertion failure.
90434         (base_len): New function.
90435
90436         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
90437         Do not include <assert.h>; no longer needed.
90438         Include xalloc.h.
90439         (memrchr): Remove decl.
90440         (dir_name_r): Remove.
90441         (dir_len): Renamed from dirlen.  All callers changed.
90442         Rewrite in terms of base_name, for simplicity and consistency.
90443         (dir_name): Never return NULL.  All callers changed.
90444         Do not include <stdlib.h> in test program; no longer needed.
90445         return 0; is fine for test program.
90446
90447         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
90448         New macros.
90449         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
90450
90451         * lib/path-concat.c (path_concat): Use base_len to compute
90452         base length, not strlen; this means we cannot rely on memcpy
90453         to null-terminate.
90454
90455         * lib/same.c (STREQ): Remove.
90456         (same_name): Handle the case where the basename ends in trailing '/'.
90457
90458         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
90459         a slash was stripped.  Do not strip the last slash after a
90460         file system prefix.
90461
90462 2001-05-11  Paul Eggert  <eggert@twinsun.com>
90463
90464         * lib/Makefile.am (libfetish_a_SOURCES):
90465         Add strftime.c, since we now compile it on all hosts.
90466
90467         * lib/strftime.c (my_strftime):
90468         Define to nstrftime if emacs, but only if my_strftime is not defined.
90469         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
90470         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
90471         Add one more extra argument: a nanoseconds value.
90472         All uses changed.
90473         (ns): New macro.
90474         (my_strftime function): Add %N format.
90475         (emacs_strftimeu): Renamed from emacs_strftime,
90476         with extra ut argument.
90477
90478 2001-05-09  Paul Eggert  <eggert@twinsun.com>
90479
90480         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
90481
90482 2001-04-21  Jim Meyering  <meyering@lucent.com>
90483
90484         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
90485         doesn't interfere.
90486
90487 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
90488
90489         * m4/ftruncate.m4: Check for chsize.
90490         Link with ftruncate.o unconditionally if ftruncate is missing.
90491         This was required when cross-compiling to i586-mingw32msvc.
90492
90493 2001-04-08  Jim Meyering  <meyering@lucent.com>
90494
90495         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
90496         recomputed; that's necessary when the offset spans a DST transition.
90497         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
90498
90499 2001-04-02  Jim Meyering  <meyering@lucent.com>
90500
90501         * lib/regex.h, regex.c: Update from GNU libc.
90502
90503 2001-03-24  Jim Meyering  <meyering@lucent.com>
90504
90505         * m4/jm-macros.m4: Require autoconf-2.49d.
90506
90507 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
90508
90509         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
90510
90511 2001-03-19  Paul Eggert  <eggert@twinsun.com>
90512
90513         * lib/version-etc.c (version_etc_copyright): Update to 2001.
90514
90515 2001-03-17  Jim Meyering  <meyering@lucent.com>
90516
90517         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
90518         now that the version in autoconf is equivalent.
90519         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
90520
90521         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
90522         Suggestion from Akim Demaille.
90523
90524         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
90525         (jm_PREREQ_TEMPNAME): New function.
90526
90527 2001-03-16  Paul Eggert  <eggert@twinsun.com>
90528
90529         * lib/tempname.c (uint64_t): Define to uintmax_t if
90530         not defined, and if UINT64_MAX is not defined.
90531         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
90532         Reported by John David Anglin.
90533
90534 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
90535
90536         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
90537         resolve alias if codeset is empty.
90538         * lib/config.charset (BeOS): Use wildcard syntax.
90539
90540 2001-03-13  Jim Meyering  <meyering@lucent.com>
90541
90542         * lib/path-concat.c (path_concat)
90543         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
90544         concatenating e.g., `C:' and `foo'.
90545         From Bruno Haible.
90546
90547 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
90548
90549         * lib/localcharset.c (locale_charset): Don't use
90550         setlocale(LC_CTYPE,NULL). Don't return NULL.
90551         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
90552
90553 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
90554
90555         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
90556         support for DOS/DJGPP.
90557
90558 2001-03-01  Paul Eggert  <eggert@twinsun.com>
90559
90560         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
90561         lacks mkstemp.  Compile our own tempname.c if we compile our own
90562         mkstemp.c, as mkstemp relies on tempname.
90563
90564 2001-03-01  Jim Meyering  <meyering@lucent.com>
90565
90566         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
90567         AH_VERBATIM really does output its argument verbatim.
90568
90569 2001-02-28  Paul Eggert  <eggert@twinsun.com>
90570
90571         * lib/Makefile.am (libfetish_a_SOURCES):
90572         Add dup-safer.c, fopen-safer.c.
90573         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
90574
90575         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
90576         * lib/unistd-safer.h: New files.
90577
90578 2001-02-25  Paul Eggert  <eggert@twinsun.com>
90579
90580         The mkstemp replacement is taken from glibc 2.2.2, with some
90581         portability fixes for use outside glibc, as follows:
90582
90583         * lib/tempname.c (struct_stat64): New macro.
90584         (direxists, __gen_tempname): Use it.
90585         This avoids a portability problem with Solaris 8.
90586
90587         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
90588         (<stddef.h>, <stdint.h>, <string.h>):
90589         Include only if STDC_HEADERS || _LIBC.
90590         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
90591         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
90592         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
90593         (__set_errno): Define this macro if <errno.h> doesn't.
90594         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
90595         Define these macros if <stdio.h> doesn't.
90596         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
90597         Define these macros if <sys/stat.h>
90598         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
90599         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
90600         __xstat64): Define if not _LIBC.
90601         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
90602         (__gen_tempname): Invoke gettimeofday only if
90603         HAVE_GETTIMEOFDAY || _LIBC;
90604         otherwise, fall back on plain "time".
90605         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
90606
90607         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
90608
90609         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
90610
90611 2001-02-18  Paul Eggert  <eggert@twinsun.com>
90612
90613         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
90614
90615 2001-02-17  Paul Eggert  <eggert@twinsun.com>
90616
90617         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
90618         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
90619         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
90620         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
90621
90622 2001-02-17  Paul Eggert  <eggert@twinsun.com>
90623
90624         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
90625         Remove workaround macros for hosts that have mbrtowc but not
90626         mbstate_t, as we now insist on proper declarations for both
90627         before using mbrtowc.
90628
90629 2001-02-17  Jim Meyering  <meyering@lucent.com>
90630
90631         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
90632         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
90633         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
90634         UnixWare 7.1.1.
90635
90636         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
90637         rather than AC_CACHE_VAL.
90638
90639 2001-02-17  Jim Meyering  <meyering@lucent.com>
90640
90641         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
90642         around included file name.
90643
90644         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
90645
90646         * lib/strftime.c: Update from GNU libc (the only changes were to
90647         comments).
90648
90649 2001-02-17  Jim Meyering  <meyering@lucent.com>
90650
90651         * lib/regex.c: Update from libc.
90652
90653 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
90654
90655         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
90656         clash.
90657
90658 2001-02-16  Paul Eggert  <eggert@twinsun.com>
90659
90660         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
90661         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
90662         Reported by Mark Hounschell via Paul Eggert.
90663
90664 2001-02-07  Jim Meyering  <meyering@lucent.com>
90665
90666         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
90667
90668 2001-02-05  Jim Meyering  <meyering@lucent.com>
90669
90670         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
90671         it includes the patch required for `large file' support with at least
90672         HP-UX's 10.20 /bin/cc.
90673
90674 2001-02-03  Jim Meyering  <meyering@lucent.com>
90675
90676         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
90677         AS_IF, now that it works once again (mysteriously).
90678         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
90679
90680 2001-01-30  Jim Meyering  <meyering@lucent.com>
90681
90682         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
90683         * m4/chown.m4: Rename conftestchown to conftest.chown.
90684         * m4/rename.m4: s/conftestdir/conftest.d1/ and
90685         s/conftestdir2/conftest.d2/.
90686         * m4/utimes.m4: s/conftestdata/conftest.data/
90687         Inspired by Pavel Roskin's change in autoconf.
90688
90689 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
90690
90691         * lib/config.charset: Update for FreeBSD 4.2.
90692
90693 2001-01-27  Jim Meyering  <meyering@lucent.com>
90694
90695         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
90696         a use of AS_IF.
90697         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
90698
90699 2001-01-26  Jim Meyering  <meyering@lucent.com>
90700
90701         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
90702         quotearg.c includes it.
90703
90704 2001-01-26  Jim Meyering  <meyering@lucent.com>
90705
90706         * lib/quotearg.c: Include stddef.h.
90707         * lib/quote.c: Include stddef.h.
90708         Reported by Axel Kittenberger.
90709
90710         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
90711         line in double quotes so that it evokes a better diagnostic.
90712         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
90713         Reported by Axel Kittenberger.
90714
90715 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
90716
90717         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
90718         as if it was a `charset'.
90719
90720 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
90721
90722         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
90723         has const.
90724
90725 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
90726
90727         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
90728         to avoid a warning.  Add back 'const' to inptr.
90729
90730 2001-01-20  Jim Meyering  <meyering@lucent.com>
90731
90732         Be sure that headers are checked before used in code compiled
90733         for the type checks.
90734         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
90735         In place of that, invoke jm_CHECK_ALL_TYPES.
90736         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
90737         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
90738         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
90739         The check for ssize_t was mistakenly run before the test for unistd.h.
90740
90741         The configure-time check for stdbool.h was missing.
90742         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
90743         (jm_PREREQ_HASH): New function.
90744
90745 2001-01-17  Jim Meyering  <meyering@lucent.com>
90746
90747         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
90748         for autoconf-2.49c.
90749         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
90750
90751 2001-01-16  Jim Meyering  <meyering@lucent.com>
90752
90753         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
90754         From Bruno Haible.
90755
90756 2001-01-14  Jim Meyering  <meyering@lucent.com>
90757
90758         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
90759         foo and bar.  Create conftestdir/ in the script, not in the C code.
90760         Remove directories in the script, not in the C code.
90761         Remove conftestdir{,2} before trying to create the directory.
90762         Make the entire configure script fail if the mkdir fails.
90763
90764 2001-01-14  Jim Meyering  <meyering@lucent.com>
90765
90766         * lib/rename.c: New file.  From Volker Borchert.
90767         Include stdlib.h, string.h or strings.h, and xalloc.h.
90768         Use strip_trailing_slashes rather than open-coding it.
90769
90770 2001-01-03  Paul Eggert  <eggert@twinsun.com>
90771
90772         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
90773
90774 2001-01-03  Jim Meyering  <meyering@lucent.com>
90775
90776         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
90777         of local `inptr' to avoid warning with some system declarations of
90778         iconv.
90779
90780 2001-01-02  Volker Borchert  <bt@teknon.de>
90781
90782         * m4/rename.m4: New file.
90783         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
90784
90785 2001-01-01  Jim Meyering  <meyering@lucent.com>
90786
90787         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
90788         even on systems with utmpx.h.  It's necessary for the declaration of
90789         utmp's ut_user member.  Reported by Andreas Jaeger.
90790
90791         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
90792         available. They are required for the declarations of getgrgid and
90793         getpwuid resp.
90794         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
90795         Reported by Andreas Jaeger.
90796
90797 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
90798
90799         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
90800         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
90801         so `make install' also works in VPATH builds.
90802
90803 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
90804
90805         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
90806         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
90807         can be used in subdirectories.
90808
90809 2000-12-29  Paul Eggert  <eggert@twinsun.com>
90810
90811         * lib/modechange.c: Do not assume that mode_t uses the
90812         traditional octal encoding.  E.g. "chmod 1 FOO" should set
90813         the other-execute bit of FOO even if S_IXOTH != 1.
90814
90815         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
90816         WOTH, XOTH, ALLM): New macros.
90817         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
90818          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
90819         Use them.
90820         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
90821         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
90822         (mode_compile):
90823         No need to use uintmax_t; unsigned long is long enough.
90824         Don't bother to get suffix since we don't use it.
90825
90826 2000-12-26  Jim Meyering  <meyering@lucent.com>
90827
90828         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
90829         better with autoheader.
90830
90831 2000-12-24  Jim Meyering  <meyering@lucent.com>
90832
90833         * lib/hash.c (is_prime): Return explicit boolean values.
90834         (hash_get_first): Return NULL to appease Irix5.6's 89.
90835         Reported by Nelson Beebe.
90836
90837 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
90838
90839         * lib/localcharset.c (locale_charset): Add support for Win32.
90840
90841 2000-12-18  Paul Eggert  <eggert@twinsun.com>
90842
90843         * lib/physmem.h, lib/physmem.c: New files.
90844
90845         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
90846         (noinst_HEADERS): Add physmem.h.
90847
90848         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
90849         't' for compatibility with Solaris 8 sort.
90850
90851 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
90852
90853         * lib/config.charset: Add support for BeOS.
90854
90855 2000-12-17  Jim Meyering  <meyering@lucent.com>
90856
90857         * m4/dos.m4 (jm_AC_DOS): New file and macro.
90858         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
90859
90860 2000-12-16  Jim Meyering  <meyering@lucent.com>
90861
90862         This bug had a serious impact on chown: `chown N:M FILE' (for integer
90863         N and M) would have treated it like `chown N:N FILE'.
90864
90865         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
90866
90867 2000-12-16  Jim Meyering  <meyering@lucent.com>
90868
90869         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
90870         SHELLS_FILE to a file name that's useful on djgpp systems.
90871         Include stdlib.h.
90872         (ADDITIONAL_DEFAULT_SHELLS): Define.
90873         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
90874         Based mostly on a patch from Prashant TR.
90875
90876 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
90877
90878         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
90879         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
90880         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
90881
90882 2000-12-08  Andreas Schwab  <schwab@suse.de>
90883
90884         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
90885         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
90886
90887 2000-12-07  Jim Meyering  <meyering@lucent.com>
90888
90889         * lib/stripslash.c (ISSLASH): Define.
90890         (strip_trailing_slashes): Use ISSLASH rather than comparing against
90891         `/'.
90892         From Prashant TR.
90893
90894         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
90895         (dir_name_r): Declare this function as static.
90896         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
90897         manifest itself on a name containing a mix of slashes and
90898         backslashes.
90899         Make this function work with names starting with a DOS-style
90900         drive letter and colon prefix.
90901         (dir_name): Append `.' if necessary.
90902         Based mostly on patches from Prashant TR and Eli Zaretskii.
90903
90904         * lib/dirname.h (dir_name_r): Remove prototype.
90905
90906 2000-12-06  Paul Eggert  <eggert@twinsun.com>
90907
90908         * m4/off_t-format.m4: Remove this file.
90909         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
90910
90911 2000-12-06  Jim Meyering  <meyering@lucent.com>
90912
90913         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
90914         replacement strtoull, we may well need the replacement strtoul, too.
90915         Check for declarations of strtoul and strtoull.
90916         Check for strtol.  Mainly as a cue to cause automake to include
90917         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
90918         Check for limits.h -- strtol.c needs it.
90919
90920 2000-12-05  Jim Meyering  <meyering@lucent.com>
90921
90922         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
90923
90924 2000-12-04  Jim Meyering  <meyering@lucent.com>
90925
90926         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
90927         Also include memory.h, stdlib.h, unistd.h if appropriate.
90928         Reported by Andreas Jaeger (conflicting declaration of malloc).
90929
90930 2000-12-02  Jim Meyering  <meyering@lucent.com>
90931
90932         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
90933         * m4/jm-macros.m4 (jm_MACROS): require it.
90934
90935 2000-12-02  Jim Meyering  <meyering@lucent.com>
90936
90937         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
90938
90939 2000-12-01  Paul Eggert  <eggert@twinsun.com>
90940
90941         * lib/memrchr.c: Include <config.h> before any system include file.
90942
90943 2000-11-30  Jim Meyering  <meyering@lucent.com>
90944
90945         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
90946
90947 2000-11-30  Jim Meyering  <meyering@lucent.com>
90948
90949         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
90950
90951 2000-11-29  Paul Eggert  <eggert@twinsun.com>
90952
90953         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
90954
90955 2000-11-26  Jim Meyering  <meyering@lucent.com>
90956
90957         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
90958
90959 2000-11-22  Paul Eggert  <eggert@twinsun.com>
90960
90961         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
90962         size of (size_t) -1; it's not portable.
90963
90964 2000-11-17  Jim Meyering  <meyering@lucent.com>
90965
90966         * lib/strstr.c: Update from GNU libc.
90967
90968 2000-11-17  Akim Demaille  <akim@epita.fr>
90969
90970         * lib/obstack.h: Formatting changes.
90971         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
90972         prevent type checking.
90973         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
90974         cast the value to (void *): assigning a `foo *' to a `void *'
90975         variable is valid.
90976         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
90977
90978 2000-11-16  Jim Meyering  <meyering@lucent.com>
90979
90980         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
90981
90982 2000-11-11  Jim Meyering  <meyering@lucent.com>
90983
90984         * lib/error.c: Add a couple #includes, merging from GNU libc version.
90985
90986 2000-11-10  Jim Meyering  <meyering@lucent.com>
90987
90988         * lib/obstack.h: Update from GNU libc.
90989         * lib/obstack.c: Likewise.
90990
90991 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
90992
90993         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
90994
90995 2000-11-06  Paul Eggert  <eggert@twinsun.com>
90996
90997         * lib/getusershell.c (setusershell): Use rewind rather than
90998         fseek/fseeko, to avoid configuration hassles with fseeko.
90999         Don't bother opening SHELLS_FILE if shellstream is NULL;
91000         it's not necessary.
91001
91002 2000-11-05  Jim Meyering  <meyering@lucent.com>
91003
91004         * lib/makepath.h (make_dir): Declare.
91005         * lib/makepath.c (make_dir): Remove `static' attribute.
91006         Tweak a comment.
91007
91008 2000-11-04  Jim Meyering  <meyering@lucent.com>
91009
91010         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
91011
91012 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
91013
91014         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
91015         last one in a bucket, advance to the next bucket.
91016
91017 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
91018
91019         * lib/fnmatch.c: Do not comment out all the code if we are using
91020         the GNU C library, because in some cases we are replacing buggy
91021         code in the GNU C library itself.
91022
91023 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
91024
91025         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
91026         (regex_compile): Catch bogus \(\1\).
91027
91028 2000-10-30  Paul Eggert  <eggert@twinsun.com>
91029
91030         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
91031         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
91032         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
91033
91034 2000-10-30  Paul Eggert  <eggert@twinsun.com>
91035
91036         * lib/error.h, getline.h, modechange.h:
91037         Remove "2000" from Copyright line, as the file hasn't been
91038         changed this year other than in the copyright notice.
91039
91040         * lib/xalloc.h: Add "2000" to Copyright line, as this file
91041         was changed this year.
91042
91043 2000-10-29  Jim Meyering  <meyering@lucent.com>
91044
91045         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
91046         renaming.
91047         * m4/ls-mntd-fs.m4: Likewise
91048
91049 2000-10-29  Jim Meyering  <meyering@lucent.com>
91050
91051         * lib/xstat.in: Fix grammar in comment.
91052
91053 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
91054
91055         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
91056         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
91057         doesn't define __restrict_arr.
91058
91059 2000-10-28  Jim Meyering  <meyering@lucent.com>
91060
91061         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
91062         (jm_PREREQ_MEMCHR): New function.
91063
91064 2000-10-28  Jim Meyering  <meyering@lucent.com>
91065
91066         * lib/memchr.c: Update from libc.
91067         Adjust for portability:
91068         [HAVE_STDLIB_H]: Include stdlib.h.
91069         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
91070         Undef __memchr, too.
91071         [!weak_alias]: Define __memchr to memchr.
91072
91073         * lib/regex.c: Update from libc.
91074         * lib/regex.h: Likewise.
91075         * lib/getopt1.c: Likewise.
91076         * lib/memcmp.c: Likewise.
91077
91078         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
91079         Avoid using fseek, when possible -- it's broken by design.
91080         Patch by Ulrich Drepper.
91081
91082 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
91083
91084         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
91085         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
91086         Giving in to popular pressure to shut up the compiler with casts.
91087
91088 2000-10-26  Jim Meyering  <meyering@lucent.com>
91089
91090         * lib/strftime.c: Update from libc.
91091
91092 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
91093
91094         * regex.c: More `unsigned char' -> `re_char' changes.
91095         Also change several `int' into `re_wchar_t'.
91096         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
91097         (PUSH_FAILURE_POINTER): Don't cast any more.
91098         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
91099         We want GCC to complain, since this piece of code makes
91100         re_match non-reentrant, which *should* be fixed.
91101         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
91102         (EXTEND_BUFFER): Use RETALLOC.
91103         (SET_LIST_BIT): Don't cast.
91104         (re_wchar_t): New type.
91105         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
91106         that those two functions will always properly return.
91107         (IMMEDIATE_QUIT_CHECK): Cast to void.
91108         (analyse_first): Use recursion rather than an explicit stack.
91109         (re_compile_fastmap): Can't fail anymore.
91110         (re_search_2): Don't check re_compile_fastmap for failure.
91111         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
91112         Now also sets the new value (passed in a new argument).
91113         (re_match_2_internal): Use it.
91114         Also, use a new var `reg' of type size_t when looping through regs
91115         rather than reuse the inappropriate `mcnt'.
91116
91117 2000-10-25  Jim Meyering  <meyering@lucent.com>
91118
91119         * lib/obstack.c: Update from libc.
91120
91121 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
91122
91123         * regex.c (regex_compile): Change the way of handling a range from
91124         a char less than 256 to a char not less than 256.
91125
91126 2000-10-24  Andrew Innes  <andrewi@gnu.org>
91127
91128         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
91129         NT-Emacs only.
91130         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
91131         so that re_search functions only quit when callers expect them to.
91132
91133 2000-10-23  Jim Meyering  <meyering@lucent.com>
91134
91135         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
91136         wrong.  That set_locale call must not have any side effects.
91137         From Paul Eggert.
91138
91139 2000-10-22  Jim Meyering  <meyering@lucent.com>
91140
91141         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
91142         [CYCLIC]: Remove now-unused definition.
91143
91144         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
91145         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
91146         Suggestion from Ulrich Drepper.
91147
91148 2000-10-21  Jim Meyering  <meyering@lucent.com>
91149
91150         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
91151         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
91152         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
91153
91154 2000-10-21  Jim Meyering  <meyering@lucent.com>
91155
91156         * lib/dirname.c (memrchr): Declare if necessary.
91157         (dir_name): Remove the restriction that there be no
91158         trailing slashes.  Now, this code skips past them, effectively
91159         ignoring them.
91160         [TEST_DIRNAME] (main): New unit tests.
91161
91162         * lib/memrchr.c: New file from GNU libc.
91163         Undef __memrchr, too.
91164         [!weak_alias]: Define __memrchr to memrchr.
91165         Guard weak_alias use with `#ifdef weak_alias'.
91166
91167 2000-10-21  Jim Meyering  <meyering@lucent.com>
91168
91169         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
91170         (dir_name): Use dir_name_r.
91171         * lib/dirname.h (dir_name_r): Declare it.
91172
91173 2000-10-17  Jim Meyering  <meyering@lucent.com>
91174
91175         * lib/quote.h (PARAMS): Define and use.
91176         Reported by Akim Demaille.
91177
91178         * lib/getopt.c: Update from libc.
91179
91180 2000-10-16  Jim Meyering  <meyering@lucent.com>
91181
91182         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
91183         setlocale.
91184         From Jan Fedak.
91185
91186 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
91187
91188         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
91189
91190 2000-09-25  Jim Meyering  <meyering@lucent.com>
91191
91192         * lib/md5.h (rol): Define (from GnuPG).
91193
91194         * lib/sha.c: Give credit (GnuPG) where due.
91195         (M): Use rol rather than open-coding it.
91196         Add a FIXME comment.
91197
91198 2000-09-21  Jim Meyering  <meyering@lucent.com>
91199
91200         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
91201         Reported by Michael Stone.
91202
91203 2000-09-20  Jim Meyering  <meyering@lucent.com>
91204
91205         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
91206         (noinst_HEADERS): Add sha.h.
91207         Based on code from Scott G. Miller and from GnuPG.
91208
91209 2000-09-18  Jim Meyering  <meyering@lucent.com>
91210
91211         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
91212         LIBS. Otherwise, everyone ends up linking with -lelf for some
91213         configurations.
91214         Reported by Mike Stone.
91215
91216 2000-09-15  Jim Meyering  <meyering@lucent.com>
91217
91218         * lib/regex.c: Update from libc.
91219
91220 2000-09-10  Jim Meyering  <meyering@lucent.com>
91221
91222         * lib/getopt.c (_getopt_internal): Update from glibc.
91223
91224 2000-09-09  Jim Meyering  <meyering@lucent.com>
91225
91226         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
91227         think it should be used as a general replacement for isascii.
91228         * lib/fnmatch.c: Likewise.
91229         * lib/mbswidth.c: Likewise
91230         * lib/regex.c: Likewise.
91231
91232         Don't use atoi.
91233         * lib/userspec.c: Include sys/param.h and limits.h.
91234         Include xstrtol.h.
91235         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
91236         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
91237         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
91238         UID, GID.  Check range.
91239
91240 2000-09-06  Jim Meyering  <meyering@lucent.com>
91241
91242         * lib/getopt.c (_getopt_internal): Update from glibc.
91243
91244 2000-08-30  Jim Meyering  <meyering@lucent.com>
91245
91246         * lib/strftime.c: Merge in changes from GNU libc.
91247
91248 2000-08-26  Jim Meyering  <meyering@lucent.com>
91249
91250         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
91251         * m4/fpending.m4: New file.
91252
91253 2000-08-26  Jim Meyering  <meyering@lucent.com>
91254
91255         * lib/closeout.c: Include "__fpending.h".
91256         (close_stdout_status): Return right away if there's nothing to flush.
91257
91258         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
91259         * lib/__fpending.c: New file.
91260         * lib/__fpending.h: New file.
91261
91262 2000-08-20  Jim Meyering  <meyering@lucent.com>
91263
91264         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
91265         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
91266         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
91267
91268 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
91269
91270         Improve fileutils installation on systems where running
91271         programs (like install) can't be unlinked.
91272         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
91273         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
91274
91275 2000-08-07  Paul Eggert  <eggert@twinsun.com>
91276
91277         Standardize on "memory exhausted" instead of "Memory exhausted"
91278         or "virtual memory exhausted".
91279         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
91280         "virtual memory exhausted".
91281         * lib/same.c (same_name): Invoke xalloc_die instead of printing
91282         our own message.
91283         * lib/userspec.c (parse_user_spec): Likewise.
91284         * lib/bumpalloc.h: comment fix
91285         * lib/same.c, userspec.c: Include xalloc.h.
91286
91287         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
91288         not char *const and pointing to a constant array.
91289         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
91290         (xrealloc): Comment fix.
91291
91292         * lib/userspec.c (parse_user_spec):
91293         Don't translate a message until just before returning,
91294         to avoid unnecessary translation.
91295
91296 2000-08-07  Jim Meyering  <meyering@lucent.com>
91297
91298         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
91299         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
91300         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
91301         getgroups.c, gethostname.c, getopt.h, group-member.c,
91302         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
91303         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
91304         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
91305         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
91306         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
91307         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
91308         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
91309         yesno.c: Back out Copyright date changes for each file with no change
91310         this year.  This eases coordination with other programs using the same
91311         source code modules.  From Paul Eggert.
91312
91313 2000-08-06  Paul Eggert  <eggert@twinsun.com>
91314
91315         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
91316         not char, for compatibility with glibc 2.1.3 strftime.c.
91317
91318 2000-08-03  Greg McGary  <greg@mcgary.org>
91319
91320         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
91321         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
91322         (EXTEND_BUFFER): Use them.
91323
91324 2000-08-01  Jim Meyering  <meyering@lucent.com>
91325
91326         * lib/dirname.c (ISSLASH): Define.
91327         (BACKSLASH_IS_PATH_SEPARATOR): Define.
91328         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
91329         both `\' and `/' may be use as path separators.
91330         Based on a patch from Prashant TR.
91331
91332 2000-07-31  Paul Eggert  <eggert@twinsun.com>
91333
91334         * lib/quotearg.c (quotearg_n_options): Don't make the initial
91335         slot vector a constant, since it might get modified.
91336
91337 2000-07-31  Jim Meyering  <meyering@lucent.com>
91338
91339         * lib/xmalloc.c: Use `virtual memory exhausted', not
91340         `Memory exhausted'.
91341         * lib/obstack.c (print_and_abort): Likewise.
91342
91343 2000-07-30  Paul Eggert  <eggert@twinsun.com>
91344
91345         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
91346         buffer, so that the caller can always quote one small
91347         component of a "memory exhausted" message in slot 0.
91348         From a suggestion by Jim Meyering.
91349
91350 2000-07-30  Jim Meyering  <meyering@lucent.com>
91351
91352         * lib/makepath.c (make_path): Quote the other instance, too.
91353
91354         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
91355         (STATIC_BUF_SIZE): Define.
91356         (quotearg_n_options): Use only statically allocated storage when
91357         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
91358         than STATIC_BUF_SIZE.
91359
91360 2000-07-29  Jim Meyering  <meyering@lucent.com>
91361
91362         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
91363         * lib/dirname.c (dir_name): Likewise.
91364
91365         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
91366         `/'.
91367
91368         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
91369         (dir_name): Assert that there are no trailing slashes.
91370
91371 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
91372
91373         * lib/mbswidth.h (mbswidth): Add a flags argument.
91374         (mbswidth): New declaration.
91375         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
91376         * lib/mbswidth.c (mbswidth): Add a flags argument.
91377         (mbsnwidth): New function.
91378
91379 2000-07-24  Jim Meyering  <meyering@lucent.com>
91380
91381         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
91382
91383 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91384
91385         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
91386
91387 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91388
91389         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
91390         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
91391         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
91392         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
91393         invoke multibyte primitives.
91394
91395 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91396
91397         * lib/quotearg.c:
91398         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
91399         so that mbstate_t is always defined.
91400
91401         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
91402         be 1 in at least one GCC installation, and this configuration
91403         error is likely to be common.  Ignoring MB_LEN_MAX hurts
91404         performance on hosts that have mbrtowc but have only unibyte
91405         locales, but I assume these hosts are rare.
91406
91407 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91408
91409         * lib/mbswidth.c (_XOPEN_SOURCE):
91410         Don't define; this causes problems on Solaris 7.
91411         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
91412
91413 2000-07-23  Jim Meyering  <meyering@lucent.com>
91414
91415         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
91416         too: getgrgid, getpwuid, getuid.
91417
91418 2000-07-23  Jim Meyering  <meyering@lucent.com>
91419
91420         * lib/basename.c (base_name): Add an assertion.
91421
91422 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
91423
91424         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
91425         shadow its mbsinit function.
91426
91427 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
91428
91429         * lib/mbswidth.h: New file.
91430         * lib/mbswidth.c: New file.
91431         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
91432         (noinst_HEADERS): Add mbswidth.h.
91433
91434 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
91435
91436         * lib/config.charset: Add support for FreeBSD. Improve support for
91437         HP-UX and IRIX 6.
91438
91439 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
91440
91441         * m4/mbswidth.m4: New file.
91442         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
91443
91444 2000-07-15  Jim Meyering  <meyering@lucent.com>
91445
91446         * lib/makepath.c: Include quote.h.
91447         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
91448         corresponding argument in a `quote (...)' call.
91449         Give better diagnostics.
91450
91451         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
91452         (noinst_HEADERS): Add quote.h.
91453
91454         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
91455         from tar's src/misc.c.
91456         * lib/quote.h: New file.  Prototypes for same.
91457
91458 2000-07-14  Paul Eggert  <eggert@twinsun.com>
91459
91460         From a suggestion by Bruno Haible.
91461         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
91462         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
91463         to decide whether to define the BeOS workaround macro;
91464         this adjusts to the change to AC_MBSTATE_T.
91465
91466 2000-07-14  Jim Meyering  <meyering@lucent.com>
91467
91468         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
91469         jm_AC_TYPE_UINTMAX_T.
91470
91471 2000-07-13  Paul Eggert  <eggert@twinsun.com>
91472
91473         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
91474
91475         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
91476         quotearg_buffer_restyled): Add support for
91477         clocale_quoting_style.  Undo previous change to
91478         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
91479         and "{RIGHT QUOTATION MARK}" msgids.
91480
91481 2000-07-10  Paul Eggert  <eggert@twinsun.com>
91482
91483         From a suggestion by Bruno Haible.
91484         * m4/mbstate_t.m4 (AC_MBSTATE_T):
91485         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
91486         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
91487         and mbstate_t, to a single-part test that simply defines mbstate_t.
91488         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
91489         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
91490
91491 2000-07-10  Jim Meyering  <meyering@lucent.com>
91492
91493         * m4/strerror_r.m4: Mirror the correction made in autoconf.
91494
91495         * m4/gnu-source.m4: Output to confdefs.h directly.
91496         Suggestion from Akim Demaille.
91497
91498 2000-07-09  Paul Eggert  <eggert@twinsun.com>
91499
91500         The old behavior of quoting `like this' doesn't look good with
91501         newer, ISO-style fonts.  See:
91502         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
91503
91504         Instead, quote "like this" by default.  Let the translator
91505         tailor the locale-specific quoting behavior by providing
91506         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
91507
91508         * lib/quotearg.c (N_): New macro.
91509         (gettext_default): New function.
91510         (quotearg_buffer_restyled): Use
91511         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
91512         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
91513
91514 2000-07-09  Jim Meyering  <meyering@lucent.com>
91515
91516         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
91517         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
91518
91519         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
91520         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
91521
91522 2000-07-09  Jim Meyering  <meyering@lucent.com>
91523
91524         * lib/Most files: Update copyright dates to include 2000.
91525
91526 2000-07-08  Jim Meyering  <meyering@lucent.com>
91527
91528         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
91529         if not defined.
91530         (xgethostname): Remove now-unnecessary #ifdef.
91531         Move declaration of `err' into loop where it's used.
91532
91533 2000-07-05  Paul Eggert  <eggert@twinsun.com>
91534         and Bruno Haible  <haible@clisp.cons.org>
91535
91536         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
91537         only if the test for an object-type mbstate_t fails.  This
91538         prevents us from mistakenly reporting that mbstate_t is a
91539         system object type after we "#define mbstate_t int" to work
91540         around its lack.
91541
91542 2000-07-05  Paul Eggert  <eggert@twinsun.com>
91543         and Bruno Haible  <haible@clisp.cons.org>
91544
91545         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
91546
91547 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
91548
91549         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
91550         to strerror_r.
91551         Include <ctype.h> for use of isalpha.
91552
91553 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
91554
91555         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
91556         by allocating a larger buffer. Test the gethostname return value for
91557         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
91558         returns an error and ENAMETOOLONG isn't defined.
91559
91560 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
91561
91562         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
91563         dimension.
91564
91565 2000-07-04  Jim Meyering  <meyering@lucent.com>
91566
91567         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
91568         of the deprecated AC_CHECKING.
91569
91570 2000-07-04  Jim Meyering  <meyering@lucent.com>
91571
91572         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
91573         Reported by Bruno Haible.
91574
91575 2000-07-04  Jim Meyering  <meyering@lucent.com>
91576
91577         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
91578         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
91579         lacks mbrtowc.
91580
91581 2000-07-03  Paul Eggert  <eggert@twinsun.com>
91582
91583         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
91584         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
91585
91586 2000-07-03  Paul Eggert  <eggert@twinsun.com>
91587         and Bruno Haible  <haible@clisp.cons.org>
91588
91589         * lib/quotearg.c (mbrtowc):
91590         Assign to *pwc, and return 1 only if result is nonzero.
91591         (iswprint): Use ISPRINT when substituting our own mbrtowc.
91592
91593 2000-07-03  Jim Meyering  <meyering@lucent.com>
91594
91595         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
91596
91597 2000-07-03  Jim Meyering  <meyering@lucent.com>
91598
91599         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
91600         This is necessary to get a definition of e.g., UTMP_FILE on
91601         HP-UX 10.20.
91602         From Bob Proulx.
91603
91604 2000-07-02  Jim Meyering  <meyering@lucent.com>
91605
91606         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
91607
91608         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
91609         AC_LIBOBJ(function_name).
91610         * m4/chown.m4: Likewise.
91611         * m4/fnmatch.m4: Likewise.
91612         * m4/ftruncate.m4: Likewise.
91613         * m4/getgroups.m4: Likewise.
91614         * m4/getline.m4: Likewise.
91615         * m4/group-member.m4: Likewise.
91616         * m4/jm-macros.m4: Likewise.
91617         * m4/lstat.m4: Likewise.
91618         * m4/malloc.m4: Likewise.
91619         * m4/memcmp.m4: Likewise.
91620         * m4/nanosleep.m4: Likewise.
91621         * m4/putenv.m4: Likewise.
91622         * m4/realloc.m4: Likewise.
91623         * m4/regex.m4: Likewise.
91624         * m4/stat.m4: Likewise.
91625         * m4/strftime.m4: Likewise.
91626
91627 2000-07-02  Jim Meyering  <meyering@lucent.com>
91628
91629         * lib/quotearg.c (mbstate_t): Don't define here.
91630
91631 2000-07-02  Jim Meyering  <meyering@lucent.com>
91632
91633         * lib/nanosleep.c (SIGCONT): Define if not already defined.
91634
91635 2000-07-01  Jim Meyering  <meyering@lucent.com>
91636
91637         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
91638
91639 2000-07-01  Jim Meyering  <meyering@lucent.com>
91640
91641         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
91642         problem.
91643
91644 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
91645
91646         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
91647         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
91648
91649 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
91650
91651         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
91652         per change in ../m4/ls-mntd-fs.m4.
91653         (read_filesystem_list): Ignore symbolic links.
91654
91655 2000-06-29  Jim Meyering  <meyering@lucent.com>
91656
91657         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
91658         for declaration of strcmp.
91659
91660         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
91661
91662         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
91663         Avoid warning by casting result to `char *' to remove `const'.
91664
91665 2000-06-28  Jim Meyering  <meyering@lucent.com>
91666
91667         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
91668         included by quotearg.c, for which we perform this test.  From
91669         Bruno Haible.
91670
91671 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
91672
91673         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
91674         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
91675         <utmpx.h> exists, put readutmp.o into LIBOBJS.
91676
91677 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
91678
91679         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
91680
91681 2000-06-26  Paul Eggert  <eggert@twinsun.com>
91682
91683         savedir now sets errno on failure and invokes xmalloc to get memory.
91684         Fix a couple of other minor bugs while we're at it.
91685
91686         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
91687         (NAMLEN): Remove macro.
91688         (malloc, realloc): Remove decls.
91689         (stpcpy): Likewise.
91690         ("xalloc.h"): Include.
91691         (NAME_SIZE_DEFAULT): New macro.
91692         (savedir): Use xmalloc / xrealloc to allocate memory.
91693         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
91694         Skip "" directory entries.
91695         Use strlen to calculate directory entry length, since the old method
91696         is rarely used these days and isn't worth supporting.
91697         Don't use a pointer after freeing it.
91698         Check for integer overflow when calculating allocation size.
91699         Use memcpy to copy entries, instead of stpcpy.
91700         Set errno properly when returning NULL.
91701         Check for readdir error.
91702
91703 2000-06-26  Jim Meyering  <meyering@lucent.com>
91704
91705         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
91706
91707 2000-06-25  Jim Meyering  <meyering@lucent.com>
91708
91709         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
91710         Linux header bug when _XOPEN_SOURCE is defined to 500.
91711
91712 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
91713
91714         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
91715         deficiency.
91716
91717 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
91718
91719         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
91720         Include xalloc.h.
91721         Don't include <stdlib.h>.  Don't declare malloc, realloc.
91722
91723 2000-06-24  Jim Meyering  <meyering@lucent.com>
91724
91725         * m4/strerror_r.m4: Revive this file -- to try out an experimental
91726         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
91727         for which strerror does return char*, but which lacks a conveniently
91728         accessible declaration of the function.  If the compile-test says
91729         strerror_r doesn't work, then resort to a `run'-test that works on
91730         BeOS and segfaults on DEC Unix.
91731
91732 2000-06-24  Jim Meyering  <meyering@lucent.com>
91733
91734         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
91735
91736 2000-06-23  Paul Eggert  <eggert@twinsun.com>
91737
91738         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
91739         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
91740
91741 2000-06-23  Paul Eggert  <eggert@twinsun.com>
91742
91743         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
91744         (mbrtowc, mbstate_t): Define substitutes if
91745         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
91746         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
91747         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
91748
91749 2000-06-23  Jim Meyering  <meyering@lucent.com>
91750
91751         * m4/afs.m4: Add missing AC_MSG_RESULT.
91752         Reported by Bruno Haible.
91753
91754         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
91755         Suggestion from Bruno Haible.
91756
91757 2000-06-23  Jim Meyering  <meyering@lucent.com>
91758
91759         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
91760
91761 2000-06-21  Jim Meyering  <meyering@lucent.com>
91762
91763         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
91764
91765 2000-06-21  Jim Meyering  <meyering@lucent.com>
91766
91767         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
91768         (noinst_HEADERS): Add getstr.h.
91769
91770         * lib/getline.c (getstr): Move into a separate file.
91771         * lib/getstr.c (getstr): New file, extracted from getline.c, with
91772         the following changes: new parameter, delim2; both delim[12]
91773         parameters have type `int', not `char'.  The latter would lose
91774         with 8-bit delimiters.
91775         * lib/getstr.h: New file.
91776
91777 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91778
91779         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
91780         than 1024, return a memory chunk of least possible size, instead
91781         of size PATH_MAX + 2. In the loop, increment the size proportionally.
91782         Use free/xmalloc instead of xrealloc to avoid copying for very long
91783         paths.
91784
91785 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91786
91787         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
91788         the empty string.
91789
91790 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91791
91792         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
91793         address, not strdup.  Include <stdlib.h> and don't declare free().
91794
91795 2000-06-19  Jim Meyering  <meyering@lucent.com>
91796
91797         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
91798
91799 2000-06-18  Jim Meyering  <meyering@lucent.com>
91800
91801         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
91802
91803         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
91804         `checking whether...' message to be consistent with that of the
91805         lstat test.
91806
91807 2000-06-18  Jim Meyering  <meyering@lucent.com>
91808
91809         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
91810         Besides, these days every porting target provides a mkdir function.
91811
91812         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
91813         needed. (this snippet comes from src/system.h).
91814
91815 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
91816
91817         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
91818
91819 2000-06-15  Paul Eggert  <eggert@twinsun.com>
91820
91821         * lib/human.c (adjust_value): New function.
91822         (human_readable_inexact): Apply rounding style even when
91823         printing approximate values.
91824
91825 2000-06-14  Paul Eggert  <eggert@twinsun.com>
91826
91827         * lib/human.c (human_readable_inexact): Allow an input block
91828         size that is not a multiple of the output block size, and vice versa.
91829         Reported by Piergiorgio Sartor.
91830
91831 2000-06-14  Paul Eggert  <eggert@twinsun.com>
91832
91833         * lib/getdate.y (get_date): Apply relative times after time
91834         zone indicator, not before.  Reported by Todd A. Jacobs.
91835
91836 2000-06-13  Jim Meyering  <meyering@lucent.com>
91837
91838         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
91839
91840         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
91841
91842 2000-06-12  Paul Eggert  <eggert@twinsun.com>
91843
91844         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
91845
91846 2000-06-12  Jim Meyering  <meyering@lucent.com>
91847
91848         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
91849         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
91850         optional argument.
91851         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
91852         the optional argument, `lib'.
91853
91854 2000-06-08  Jim Meyering  <meyering@lucent.com>
91855
91856         * m4/largefile.m4: Remove file (now that it's part of autoconf).
91857
91858 2000-06-04  Paul Eggert  <eggert@twinsun.com>
91859
91860         Rewrite largefile configuration so that we don't need to run
91861         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
91862         AC_CANONICAL_HOST in configure.in -- jmm]
91863
91864         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
91865         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
91866         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
91867         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
91868         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
91869         All uses changed.
91870         Instead of inspecting the output of getconf, try to compile the
91871         test program without and with the macro definition.
91872         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
91873         for getconf.  Instead, check for the needed flags by compiling
91874         test programs.
91875
91876 2000-06-04  Paul Eggert  <eggert@twinsun.com>
91877
91878         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
91879
91880 2000-06-04  Jim Meyering  <meyering@lucent.com>
91881
91882         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
91883         SunOS 4.1.4 for which gid_t is an unsigned type.
91884
91885 2000-06-03  Jim Meyering  <meyering@lucent.com>
91886
91887         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
91888         now that autoconf requires that.
91889
91890         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
91891         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
91892         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
91893
91894 2000-06-03  Jim Meyering  <meyering@lucent.com>
91895
91896         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
91897
91898 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
91899
91900         * m4/glibc21.m4: New file.
91901         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
91902
91903 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
91904
91905         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
91906         newer, don't install charset.alias.
91907         * lib/config.charset: Change the Linux/glibc rules so they become empty
91908         on glibc-2.1 or newer.
91909
91910 2000-06-02  Jim Meyering  <meyering@lucent.com>
91911
91912         * lib/mountlist.c: Back out last change.  Instead, do this...
91913         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
91914         me_dummy member using the same `ignore'-testing code.
91915         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
91916         fs_type strings.
91917         From Mark D. Roth.
91918
91919 2000-05-29  Jim Meyering  <meyering@lucent.com>
91920
91921         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
91922         mounts with the `ignore' attribute.  Based on a patch from
91923         Mark D. Roth.
91924
91925 2000-05-28  Jim Meyering  <meyering@lucent.com>
91926
91927         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
91928         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
91929         * m4/stat.m4: Likewise.
91930         * m4/lstat.m4: Likewise.
91931         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
91932
91933         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
91934         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
91935
91936 2000-05-26  Jim Meyering  <meyering@lucent.com>
91937
91938         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
91939
91940 2000-05-24  Jim Meyering  <meyering@lucent.com>
91941
91942         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
91943         autoconf requires that.
91944         * m4/lib-check.m4: Likewise.
91945         * m4/jm-macros.m4: Likewise.
91946         * m4/strftime.m4: Likewise.
91947
91948         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
91949         AC_CHECK_DECLS, now that autoconf requires that.
91950
91951 2000-05-22  Jim Meyering  <meyering@lucent.com>
91952
91953         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
91954         * m4/lstat.m4: Likewise.
91955
91956 2000-05-22  Jim Meyering  <meyering@lucent.com>
91957
91958         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
91959
91960 2000-05-20  Jim Meyering  <meyering@lucent.com>
91961
91962         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
91963         (jm_PREREQ): Use it.
91964
91965 2000-05-18  Jim Meyering  <meyering@lucent.com>
91966
91967         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
91968         back, too, since it may have been modified by allocate_entry.
91969         (hash_delete): Rewrite to use neither the assignment operator
91970         nor the comma operator in an if-expression.
91971
91972 2000-05-15  Paul Eggert  <eggert@twinsun.com>
91973
91974         * lib/closeout.c:
91975         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
91976         Remove; no longer needed.
91977         "quotearg.h": Add include.
91978         (file_name): Do not bother to explicitly initialize to NULL; it's less
91979         efficient on some hosts.
91980         (close_stdout_status): Remove test as to whether stdout was already
91981         closed; it breaks for the case "echo x | sort >&-".
91982         Quote file name colons.
91983         Do not assume that _("write error") lacks format strings.
91984
91985 2000-05-15  Jim Meyering  <meyering@lucent.com>
91986
91987         * lib/version-etc.c (version_etc_copyright): Update the copyright
91988         string used in all --version output.
91989
91990 2000-05-14  Jim Meyering  <meyering@lucent.com>
91991
91992         * lib/closeout.c (close_stdout_set_file_name): New function.
91993         (close_stdout_status): Use new file-scoped global.
91994         Return right away if fstat says the stdout file descriptor is invalid.
91995         * lib/closeout.h (close_stdout_set_file_name): Declare.
91996
91997 2000-05-10  Jim Meyering  <meyering@lucent.com>
91998
91999         * lib/closeout.c [default_exit_status]: New file-scoped variable.
92000         (close_stdout_set_status): New function.
92001         * lib/closeout.h (close_stdout_set_status): Declare.
92002
92003 2000-05-09  Jim Meyering  <meyering@lucent.com>
92004
92005         * m4/gettext.m4: Rename this...
92006         * m4/libintl.m4: ...to this.
92007
92008 2000-05-08  Jim Meyering  <meyering@lucent.com>
92009
92010         * lib/long-options.c: Don't include closeout.h.
92011         (parse_long_options): Don't call close_stdout for --version.
92012
92013 2000-05-06  Paul Eggert  <eggert@twinsun.com>
92014
92015         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
92016         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
92017         2.1.3 bug.  This avoids a clash when files like regex.c define
92018         _GNU_SOURCE.
92019
92020 2000-05-06  Jim Meyering  <meyering@lucent.com>
92021
92022         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
92023         (AC_REPLACE_FUNCS): Add strnlen.
92024
92025         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
92026         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
92027
92028         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
92029         AC_SEARCH_LIBS call for nanosleep.
92030         (LIB_NANOSLEEP): Set and AC_SUBST.
92031
92032 2000-05-06  Jim Meyering  <meyering@lucent.com>
92033
92034         * lib/strnlen.c: Undefine __strnlen and strnlen.
92035         [!weak_alias]: Define __strnlen to strnlen.
92036
92037         * lib/atexit.c: New file, from libiberty.
92038
92039 2000-05-06  Jim Meyering  <meyering@lucent.com>
92040
92041         * lib/closeout.c (close_stdout_status): Also check for errors on the
92042         stderr stream.
92043
92044 2000-05-05  Jim Meyering  <meyering@lucent.com>
92045
92046         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
92047         AC_SEARCH_LIBS call for clock_gettime.
92048         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
92049
92050         * m4/search-libs.m4: Update from autoconf.
92051
92052         su doesn't work on Solaris 2.6.
92053         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
92054         <shadow.h>.  Reported by Dragos Harabor.
92055
92056 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
92057
92058         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
92059         memcpy instead of xmalloc, xrealloc, path_concat.
92060         (locale_charset): Treat empty environment variables as absent.
92061         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
92062
92063 2000-05-04  Jim Meyering  <meyering@lucent.com>
92064
92065         * lib/getopt.c: Update from glibc.
92066         * lib/obstack.c: Likewise.
92067         * lib/obstack.h: Likewise.
92068         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
92069         file
92070
92071         * lib/regex.h: Likewise.
92072         * lib/strndup.c: Likewise.
92073         * lib/strnlen.c: New file, from glibc.
92074
92075 2000-05-03  Jim Meyering  <meyering@lucent.com>
92076
92077         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
92078
92079 2000-05-02  Paul Eggert  <eggert@twinsun.com>
92080
92081         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
92082         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
92083         compile-time test, rather than inspecting host and OS, to
92084         decide whether to define _LARGEFILE_SOURCE.
92085
92086 2000-05-01  Jim Meyering  <meyering@lucent.com>
92087
92088         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
92089
92090         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
92091         Based on a patch from Bruno Haible.
92092
92093 2000-05-01  Jim Meyering  <meyering@lucent.com>
92094
92095         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
92096
92097 2000-04-29  Jim Meyering  <meyering@lucent.com>
92098
92099         * lib/path-concat.c: Declare strdup only if it's not defined.
92100         * lib/canon-host.c: Likewise.
92101
92102 2000-04-28  Jim Meyering  <meyering@lucent.com>
92103
92104         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
92105         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
92106         is included first, then limits.h is included by locale.h by libintl.h.
92107         From John David Anglin.
92108
92109 2000-04-25  Jim Meyering  <meyering@lucent.com>
92110
92111         * lib/makepath.c (S_IRWXUGO): Define.
92112         (make_path): Always perform explicit chmod if MODE specifies any
92113         of the `special' permission bits.  Prompted by a bug report against
92114         install from Mate Wierdl and Joost van Baal.
92115
92116 2000-04-18  Jim Meyering  <meyering@lucent.com>
92117
92118         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
92119         (jm_PREREQ): Use it.
92120
92121 2000-04-18  Jim Meyering  <meyering@lucent.com>
92122
92123         * lib/README: New file.
92124
92125         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
92126         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
92127
92128 2000-04-17  Jim Meyering  <meyering@lucent.com>
92129
92130         Get it right :-)
92131         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
92132         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
92133         Suggestion from Akim Demaille.
92134
92135 2000-04-17  Jim Meyering  <meyering@lucent.com>
92136
92137         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
92138         the definition of it to rpl_strftime also defined-away the system's
92139         declaration.
92140
92141 2000-04-15  Jim Meyering  <meyering@lucent.com>
92142
92143         Use `C' to denote so-called `contiguous' files, the same way
92144         that tar does.
92145         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
92146         (ftypelet): Use S_ISCTG.
92147         From Michael Deutschmann.
92148
92149 2000-04-14  Jim Meyering  <meyering@lucent.com>
92150
92151         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
92152         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
92153         clobbered.
92154
92155 2000-04-14  Jim Meyering  <meyering@lucent.com>
92156
92157         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
92158
92159 2000-04-13  Jim Meyering  <meyering@lucent.com>
92160
92161         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
92162         AH_VERBATIM to insert required #ifndef into config.h.in.
92163         Suggestion from Akim Demaille.
92164
92165 2000-04-12  Jim Meyering  <meyering@lucent.com>
92166
92167         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
92168         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
92169         Christian Krackowizer.
92170
92171         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
92172         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
92173         (AC_SYS_LARGEFILE): Require.
92174         (AM_C_PROTOTYPES): Require.
92175
92176 2000-04-08  Jim Meyering  <meyering@lucent.com>
92177
92178         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
92179         names don't conflict.  Reported by Eli Zaretskii.
92180
92181 2000-04-07  Jim Meyering  <meyering@lucent.com>
92182
92183         * lib/putenv.c: Move inclusion of errno.h so it follows that of
92184         sys/types.h, to work around system header problems on AIX 3.2.5.
92185         From Bruno Haible.
92186
92187 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
92188
92189         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
92190         bug.  Deal with the different error behavior of Irix iconv.
92191
92192 2000-04-05  Paul Eggert  <eggert@twinsun.com>
92193
92194         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
92195         IRIX if the installer said otherwise.
92196
92197 2000-04-05  Jim Meyering  <meyering@lucent.com>
92198
92199         Portability tweaks required for ultrix4.3.
92200         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
92201         (jm_CHECK_DECLS): Add getutent to the list of functions.
92202         (_jm_DECL_HEADERS): Add utmpx.h.
92203         From John David Anglin.
92204
92205         * m4/strftime.m4: Back out the 2000-04-02 change.
92206         Instead of that change, simply undefine putenv in the test program.
92207
92208 2000-04-05  Jim Meyering  <meyering@lucent.com>
92209
92210         Portability tweaks required for ultrix4.3.
92211         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
92212         getutent.
92213         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
92214         * lib/canon-host.c: Declare strdup.
92215         * lib/path-concat.c: Likewise.
92216         From John David Anglin.
92217
92218 2000-04-04  Jim Meyering  <meyering@lucent.com>
92219
92220         Be more DOS 8.3-friendly.
92221         * lib/ref-add.sin: Renamed from ref-add.sed.in.
92222         * lib/ref-del.sin: Renamed from ref-del.sed.in.
92223         * lib/Makefile.am: Reflect renaming.
92224         Reported by Eli Zaretskii.
92225
92226         Use a temporary file name that won't clash with `charset.alias'
92227         in the DOS 8.3 name space.
92228         * lib/Makefile.am (charset_tmp): Define.
92229         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
92230         (uninstall-local): Likewise.
92231         Reported by Eli Zaretskii.
92232
92233 2000-04-03  Jim Meyering  <meyering@lucent.com>
92234
92235         * m4/gettext.m4: Fix typo in comment.
92236
92237         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
92238         textutils/configure.in).  Suggestion from Paul Eggert.
92239         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
92240
92241 2000-04-02  Paul Eggert  <eggert@twinsun.com>
92242
92243         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
92244         variable in the shell rather than using putenv, which isn't
92245         portable.  This avoids the configure-time inter-test dependency
92246         on the potentially-renamed putenv function.
92247
92248 2000-03-30  Paul Eggert  <eggert@twinsun.com>
92249
92250         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
92251         before checking struct stat.st_blksize, so that
92252         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
92253
92254 2000-03-29  Paul Eggert  <eggert@twinsun.com>
92255
92256         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
92257         since strftime.c uses HAVE_STRFTIME to decide whether to use
92258         the underlying strftime.
92259
92260 2000-03-29  Paul Eggert  <eggert@twinsun.com>
92261
92262         * lib/time/strftime.c (my_strftime): Make sure we call the system
92263         strftime, not ourselves, when invoking the underlying strftime.
92264
92265 2000-03-24  Jim Meyering  <meyering@lucent.com>
92266
92267         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
92268         (charset_alias): Define.
92269         (install-exec-local): Factor out common code.
92270         (uninstall-local): Split lines longer than 80.
92271         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
92272         (SUFFIXES): Define.
92273         (.sed.in.sed): New rule.  Don't redirect directly to $@.
92274         (CLEANFILES): Add ref-add.sed and ref-del.sed.
92275
92276 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
92277
92278         * lib/config.charset: Output a line containing "Packages using this
92279         file".
92280         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
92281         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
92282         ref-del.sed): New rules.
92283
92284 2000-03-17  Jim Meyering  <meyering@lucent.com>
92285
92286         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
92287         Otherwise, include <strings.h>
92288
92289 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
92290
92291         * lib/unicodeio.c (utf8_wctomb): New function.
92292         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
92293         format instead of in UCS-4 with platform dependent endianness.
92294
92295 2000-03-10  Jim Meyering  <meyering@lucent.com>
92296
92297         * m4/lib-check.m4: Look for getspnam in -lgen, too.
92298         From Marco Franzen.
92299
92300 2000-03-07  Paul Eggert  <eggert@twinsun.com>
92301
92302         * lib/savedir.c (savedir): Work even if directory size is
92303         negative; this can happen with some screwy NFS configurations.
92304
92305 2000-03-06  Jim Meyering  <meyering@lucent.com>
92306
92307         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
92308         if it's NULL (because we ran out of memory).  From Bruno Haible.
92309
92310 2000-03-05  Jim Meyering  <meyering@lucent.com>
92311
92312         * lib/localcharset.c ("path-concat.h"): Include.
92313         (get_charset_aliases): Use path_concat instead of ANSI string
92314         concatenation.
92315
92316         * lib/unicodeio.h (PARAMS): Define.
92317         Use it to guard prototype.
92318
92319 2000-03-04  Jim Meyering  <meyering@lucent.com>
92320
92321         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
92322         for lib/localcharset.c.
92323
92324 2000-03-04  Jim Meyering  <meyering@lucent.com>
92325
92326         * lib/Makefile.am (install-exec-local): Create $(libdir) before
92327         installing into it.
92328         (uninstall-local): Uncomment this rule so `make distcheck' works
92329         once again.
92330
92331         * lib/unicodeio.c (<errno.h>): Include it.
92332         (errno): Declare if not defined.
92333
92334         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
92335
92336         * lib/config.charset: New version, incorporating remarks from a linux
92337         i18n mailing list.  From Bruno Haible.
92338
92339 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
92340
92341         * m4/codeset.m4: New file.
92342         * m4/iconv.m4: New file.
92343         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
92344
92345 2000-03-03  Jim Meyering  <meyering@lucent.com>
92346
92347         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
92348
92349 2000-03-02  Jim Meyering  <meyering@lucent.com>
92350
92351         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
92352         the messages come out on separate lines.
92353
92354         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
92355         rather than jm_CHECK_DECLARATIONS.
92356         * m4/decl.m4: Remove now-unused file.
92357
92358         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
92359         geteuid.
92360
92361 2000-03-02  Jim Meyering  <meyering@lucent.com>
92362
92363         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
92364
92365 2000-03-01  Jim Meyering  <meyering@lucent.com>
92366
92367         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
92368         * lib/unicodeio.c: Likewise.
92369
92370 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
92371
92372         * lib/config.charset: New file.
92373         * lib/localcharset.c: New file.
92374         * lib/unicodeio.h, lib/unicodeio.c: New files.
92375         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
92376         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
92377         (noinst_HEADERS): Add unicodeio.h.
92378         (all-local, install-exec-local, charset.alias): New targets.
92379
92380 2000-02-28  Paul Eggert  <eggert@twinsun.com>
92381
92382         * lib/quotearg.c (ALERT_CHAR): New macro.
92383         (quotearg_buffer_restyled): Use it.
92384
92385 2000-02-27  Jim Meyering  <meyering@lucent.com>
92386
92387         * m4/check-decl.m4: Add getenv to the list.
92388
92389 2000-02-27  Jim Meyering  <meyering@lucent.com>
92390
92391         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
92392         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
92393
92394         * lib/backupfile.c: Guard inclusion of stdlib.h with
92395         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
92396         Declare malloc if needed.
92397
92398         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
92399         `#ifndef HAVE_DECL..'
92400         now that autoconf always defines the HAVE_DECL_ symbols.
92401         * lib/human.c: Likewise.
92402         * lib/same.c: Likewise.
92403         * lib/strtoumax.c: Likewise.
92404
92405         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
92406         declaration check was not run.
92407         * lib/hash.c: Likewise.
92408         * lib/human.c: Likewise.
92409         * lib/same.c: Likewise.
92410         * lib/strtoumax.c: Likewise.
92411
92412         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
92413         `.', then first look up the entire `.'-containing string as a login
92414         name.
92415
92416 2000-02-23  Jim Meyering  <meyering@lucent.com>
92417
92418         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
92419         in place of my hack.
92420
92421 2000-02-18  Paul Eggert  <eggert@twinsun.com>
92422
92423         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
92424         (textint): New typedef.
92425         (parser_control): Member year changed from int to textint.
92426         All uses changed.
92427         (YYSTYPE): Removed; replaced by %union with int and textint members.
92428         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
92429         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
92430         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
92431         (tSNUMBER, tUNUMBER): Now of type <textintval>.
92432         (date, number, to_year): Use width of number in digits, not its value,
92433         to determine whether it's a 2-digit year, or a 2-digit time.
92434         (yylex): Store number of digits of numeric tokens.
92435         Reported by John Kendall.
92436
92437         (parser_control): Changed from struct parser_control to typedef (for
92438         consistency).  All uses changed.
92439
92440         (tID): Removed; not used.
92441         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
92442
92443 2000-02-14  Paul Eggert  <eggert@twinsun.com>
92444
92445         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
92446         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
92447
92448 2000-02-12  Jim Meyering  <meyering@lucent.com>
92449
92450         * lib/userspec.c (ISDIGIT): Define it.
92451         (isdigit): Remove definition.
92452         (is_number): Use ISDIGIT, not isdigit.
92453         <libintl.h>: Include.
92454         (_ and N_): Define.
92455         (parse_user_spec): Mark translatable strings.
92456
92457 2000-02-10  Jim Meyering  <meyering@lucent.com>
92458
92459         With these changes, nanosleep.[ch] are finally enough like the other
92460         lib/* replacement files to compile on a few more losing systems.
92461
92462         * lib/nanosleep.h: Don't include config.h.
92463         Remove prototype from declaration of nanosleep.
92464         (PARAMS): Remove now-unneeded definition.
92465         * lib/nanosleep.c: #undef nanosleep.
92466         (rpl_nanosleep): Rename from nanosleep.
92467
92468 2000-02-10  Jim Meyering  <meyering@lucent.com>
92469
92470         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
92471         gnu_nanosleep to rpl_nanosleep.
92472
92473 2000-02-09  Jim Meyering  <meyering@lucent.com>
92474
92475         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
92476         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
92477
92478 2000-02-08  Akim Demaille  <akim@epita.fr>
92479
92480         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
92481         `[' and `]' and remove uses of `changequote'.
92482         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
92483         (AC_SYS_LARGEFILE): Likewise.
92484         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
92485         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
92486         of changequote.
92487         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
92488         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
92489         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
92490         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
92491
92492 2000-02-05  Jim Meyering  <meyering@lucent.com>
92493
92494         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
92495         Remove explicit use of AC_HEADER_TIME.  It is required by
92496         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
92497         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
92498         in autoconf whereby the expansion of the latter ended up preceding
92499         the expansion of its prerequisite, AC_HEADER_TIME.
92500         Reported by Volker Borchert.
92501
92502 2000-02-03  Jim Meyering  <meyering@lucent.com>
92503
92504         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
92505
92506 2000-02-03  Jim Meyering  <meyering@lucent.com>
92507
92508         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
92509         rather than with `#if HAVE_UTMPNAME'.
92510
92511 2000-02-02  Jim Meyering  <meyering@lucent.com>
92512
92513         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
92514         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
92515         Reported by Eli Zaretskii.
92516
92517 2000-02-01  Jim Meyering  <meyering@lucent.com>
92518
92519         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
92520
92521 2000-01-31  Jim Meyering  <meyering@lucent.com>
92522
92523         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
92524         functions.  Add the time.h and sys/time.h headers along with the
92525         AC_REQUIRE'ment of AC_HEADER_TIME.
92526
92527 2000-01-31  Jim Meyering  <meyering@lucent.com>
92528
92529         * lib/nanosleep.h (nanosleep): Guard declaration with
92530         `#if ! HAVE_DECL_NANOSLEEP'.
92531         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
92532         the declaration in that vendor's sys/timers.h.
92533         Reported by Christian Krackowizer.
92534
92535         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
92536         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
92537         (ISPRINT): Likewise.
92538         Reported by Tom Tromey.
92539
92540 2000-01-30  Jim Meyering  <meyering@lucent.com>
92541
92542         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
92543
92544         * m4/prereq.m4 (utmp_includes): Define.
92545         Check for ut_user and ut_name members in both struct utmpx
92546         and struct utmp.
92547
92548 2000-01-30  Jim Meyering  <meyering@lucent.com>
92549
92550         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
92551         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
92552         header files where only utmpx.ut_user is declared.
92553
92554         * lib/readutmp.h (UT_USER): Define.
92555
92556 2000-01-29  Jim Meyering  <meyering@lucent.com>
92557
92558         * m4/lib-check.m4: New file containing library-related checks from
92559         fileutils and sh-utils (textutils had none).
92560
92561 2000-01-28  Jim Meyering  <meyering@lucent.com>
92562
92563         * m4/perl.m4: Change format of warning message to look more like that
92564         from the missing script.  Suggestion from François Pinard.
92565
92566 2000-01-25  Jim Meyering  <meyering@lucent.com>
92567
92568         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
92569         well as time.h in the compile check.
92570         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
92571         Fix typo in cross-compiling case: s/yes/no/.
92572
92573 2000-01-23  Jim Meyering  <meyering@lucent.com>
92574
92575         * m4/jm-macros.m4: Move df-related tests here from
92576         fileutils/configure.in
92577
92578         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
92579         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
92580
92581         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
92582         s/space/ac_fsusage_space/.
92583         (jm_FILE_SYSTEM_USAGE): Take two parameters.
92584
92585         * m4/ftruncate.m4: New file (derived from part of
92586         fileutils/configure.in).
92587         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
92588         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
92589
92590         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
92591         AC_SUBST these here, rather than just in sh-util/configure.in, so
92592         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
92593         all the same.
92594         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
92595         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
92596         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
92597         (AC_SUBST(POW_LIBM)): Likewise.
92598         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
92599
92600 2000-01-23  Jim Meyering  <meyering@lucent.com>
92601
92602         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
92603         obstack.c.
92604
92605 2000-01-22  Jim Meyering  <meyering@lucent.com>
92606
92607         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
92608
92609         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
92610
92611         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
92612         configure.in
92613         (AC_CHECK_HEADERS): Likewise for sh-utils.
92614         (AC_CHECK_HEADERS): Likewise for textutils.
92615         Merge the three lists of headers.
92616
92617         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
92618         from fileutils' configure.in.
92619
92620         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
92621         code. Moved tests into their own function (_jm_DECL_HEADERS) in
92622         check-decl.m4.
92623
92624         * m4/check-decl.m4: Use #if rather than #ifdef.
92625         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
92626         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
92627         (_jm_DECL_HEADERS): Define new function.
92628         (jm_CHECK_DECLARATIONS): Require it.
92629
92630 2000-01-22  Jim Meyering  <meyering@lucent.com>
92631
92632         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
92633         [! HAVE_DECL_STRTOULL]: Declare strtoull.
92634         Required for some AIX systems.  Reported by Christian Krackowizer.
92635         [TESTING] (main): New function.
92636
92637         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
92638         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
92639         letters.
92640
92641         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
92642         iswprint.
92643
92644         * lib/strverscmp.c (ISDIGIT): Define.
92645         (strverscmp): Use ISDIGIT, not isdigit.
92646
92647 2000-01-19  Jim Meyering  <meyering@lucent.com>
92648
92649         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
92650         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
92651         defines `struct timespec' in <sys/time.h>
92652
92653         * m4/c-bs-a.m4: Remove uses of changequote altogether.
92654         Thanks to Akim for explaining.
92655
92656 2000-01-17  Paul Eggert  <eggert@twinsun.com>
92657
92658         * lib/nanosleep.c (nanosleep):
92659         Don't use SA_INTERRUPT to decide whether to call sigaction, as
92660         POSIX.1 doesn't require SA_INTERRUPT and some systems
92661         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
92662         it's been part of POSIX.1 since day 1 (in 1988).
92663
92664 2000-01-17  Jim Meyering  <meyering@lucent.com>
92665
92666         * lib/interlock: Remove unused file.  Reported by François Pinard.
92667
92668 2000-01-16  Paul Eggert  <eggert@twinsun.com>
92669
92670         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
92671         alert, backslash, formfeed, and vertical tab unnecessarily in
92672         shell quoting style.
92673
92674 2000-01-16  Jim Meyering  <meyering@lucent.com>
92675
92676         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
92677         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
92678         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
92679         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
92680
92681 2000-01-16  Jim Meyering  <meyering@lucent.com>
92682
92683         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
92684         because the latter didn't work.
92685
92686 2000-01-15  Jim Meyering  <meyering@lucent.com>
92687
92688         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
92689         (AC_REPLACE_FUNCS): Add memcpy and memset.
92690         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
92691         Add strpbrk.
92692         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
92693
92694 2000-01-12  Jim Meyering  <meyering@lucent.com>
92695
92696         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
92697         (jm_PREREQ): Use it.
92698         (jm_PREREQ_READUTMP): New macro.
92699         (jm_PREREQ): Use it.
92700
92701 2000-01-11  Paul Eggert  <eggert@twinsun.com>
92702
92703         Quote multibyte characters correctly.
92704         * m4/c-bs-a.m4: New file.
92705         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
92706         (jm_PREREQ): Use it.
92707
92708 2000-01-11  Paul Eggert  <eggert@twinsun.com>
92709
92710         * m4/uintmax_t.m4: Port to autoconf 2.13.
92711
92712 2000-01-08  Jim Meyering  <meyering@ascend.com>
92713
92714         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
92715         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
92716
92717 2000-01-04  Jim Meyering  <meyering@ascend.com>
92718
92719         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
92720         jm_STRUCT_DIRENT_D_TYPE.
92721         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
92722         jm_STRUCT_DIRENT_D_INO.
92723         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
92724         jm_STRUCT_UTIMBUF.
92725         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
92726         renamings.
92727         * m4/utime.m4: Likewise.
92728
92729         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
92730         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
92731
92732 2000-01-03  Paul Eggert  <eggert@twinsun.com>
92733
92734         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
92735         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
92736
92737 2000-01-02  Jim Meyering  <meyering@ascend.com>
92738
92739         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
92740         remember if this is necessary.
92741
92742 1999-12-26  Jim Meyering  <meyering@ascend.com>
92743
92744         * m4/jm-macros.m4: Use it here.
92745         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
92746
92747 1999-12-23  Jim Meyering  <meyering@ascend.com>
92748
92749         * m4/jm-macros.m4: Check for clock_gettime (moved from
92750         fileutils/configure.in)
92751         Check for gettimeofday.
92752
92753 1999-12-20  Jim Meyering  <meyering@ascend.com>
92754
92755         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
92756         autoconf-2.14a-1999-12-20.
92757
92758 1999-12-19  Jim Meyering  <meyering@ascend.com>
92759
92760         * m4/lstat-slash.m4: New file.
92761         * m4/jm-macros.m4: Use the new macro:
92762         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92763
92764 1999-12-07  Jim Meyering  <meyering@ascend.com>
92765
92766         * m4/perl.m4: Require that File::Compare be available, too.
92767         Too many systems seem to lack it.
92768
92769         * m4/strftime.m4: Add checks for most of the cpp macros tested in
92770         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
92771
92772 1999-11-18  Paul Eggert  <eggert@twinsun.com>
92773
92774         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
92775         problem with the QNX 4.25 shell, which doesn't propagate exit
92776         status of failed commands inside shell assignments.
92777
92778 1999-11-17  Jim Meyering  <meyering@ascend.com>
92779
92780         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
92781
92782 1999-11-07  Jim Meyering  <meyering@ascend.com>
92783
92784         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
92785
92786 1999-11-06  Jim Meyering  <meyering@ascend.com>
92787
92788         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
92789         * m4/jm-macros.m4 (jm_MACROS): Use it here.
92790
92791 1999-11-05  Jim Meyering  <meyering@ascend.com>
92792
92793         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
92794         configure.in of textutils, fileutils, and sh-utils into this one
92795         (shared between those packages) file.
92796         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
92797         AC_STRUCT_ST_BLKSIZE.
92798
92799 1999-11-03  Jim Meyering  <meyering@ascend.com>
92800
92801         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
92802         of AC_CHECK_TYPE checks includes unistd.h.
92803         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
92804         Suggestion from Akim Demaille.
92805
92806 1999-10-30  Jim Meyering  <meyering@ascend.com>
92807
92808         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
92809         m4-quoted string.
92810         * m4/ls-mntd-fs.m4: Likewise.
92811         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
92812         * m4/jm-winsz1.m4: Likewise.
92813
92814         * m4/const.m4: Remove file, since the fix made it into the experimental
92815         version of autoconf.
92816         * m4/mktime.m4: Likewise.
92817
92818         * m4/check-type.m4: Remove file, now that the latest version of
92819         AC_CHECK_TYPE takes a third arg to specify additional #includes.
92820
92821         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
92822         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
92823         AC_CHECK_TYPE.
92824
92825 1999-10-04  Jim Meyering  <meyering@ascend.com>
92826
92827         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
92828
92829 1999-09-22  Paul Eggert  <eggert@twinsun.com>
92830
92831         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
92832         2.95.1 bug with HP-UX 10.20.
92833
92834 1999-09-17  Jim Meyering  <meyering@ascend.com>
92835
92836         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
92837         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
92838         due to missing strdup (against sh-utils-2.0).
92839
92840 1999-08-29  Jim Meyering  <meyering@ascend.com>
92841
92842         * m4/jm-macros.m4: Require jm_BISON.
92843         * m4/bison.m4: New file.
92844
92845 1999-08-17  Paul Eggert  <eggert@twinsun.com>
92846
92847         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
92848         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
92849
92850 1999-08-05  Jim Meyering  <meyering@ascend.com>
92851
92852         * m4/getline.m4: Rename test file from conftestdata to conftest.data
92853         to avoid conflicts with `conftest' on 8+3 filesystems.
92854         Suggestion from Eli Zaretskii.
92855
92856 1999-08-04  Jim Meyering  <meyering@ascend.com>
92857
92858         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
92859         fileutils and sh-utils (textutils's getline test was inadequate).
92860         (AM_FUNC_GETLINE): Run this test.
92861         (AC_CHECK_FUNCS): Check for getdelim.
92862         Reported by Bob Proulx.
92863
92864 1999-08-02  Jim Meyering  <meyering@ascend.com>
92865
92866         * m4/jm-macros.m4: Add a comment.
92867
92868 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92869
92870         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
92871         <inttypes.h> defines strtoumax as a macro (and not as a
92872         function).
92873
92874 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92875
92876         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
92877         that we can shift, multiply and divide unsigned long long
92878         values; Ultrix cc can't do it.
92879
92880 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92881
92882         * m4/mktime.m4: New file, which is a preview of what should appear
92883         in the next public autoconf release.
92884
92885 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92886
92887         * m4/lfs.m4: Remove this file.
92888         * m4/largefile.m4: New file.  It contains the old contents of
92889         lfs.m4, except that all names with prefix AC_LFS have been
92890         changed to use the prefix AC_SYS_LARGEFILE instead, to be
92891         compatible with future autoconf versions.  Also, some minor m4
92892         quoting problems have been fixed.
92893
92894 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92895
92896         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
92897         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
92898         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
92899         and simplify the shell code.
92900
92901 1999-08-01  Jim Meyering  <meyering@ascend.com>
92902
92903         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
92904         m4.
92905
92906 1999-07-20  Jim Meyering  <meyering@ascend.com>
92907
92908         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
92909
92910 1999-07-15  Jim Meyering  <meyering@ascend.com>
92911
92912         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
92913
92914 1999-05-22  Jim Meyering  <meyering@ascend.com>
92915
92916         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
92917
92918 1999-05-20  Jim Meyering  <meyering@ascend.com>
92919
92920         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
92921         Add a colon after each `then' in case $4 is empty.
92922
92923 1999-05-16  Jim Meyering  <meyering@ascend.com>
92924
92925         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
92926
92927 1999-05-10  Jim Meyering  <meyering@ascend.com>
92928
92929         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
92930
92931         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
92932         AC_FUNC_MKTIME.
92933
92934 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
92935
92936         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
92937
92938 1999-05-04  Paul Eggert  <eggert@twinsun.com>
92939
92940         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
92941         not CPPFLAGS, so that linking works correctly in IRIX.
92942
92943 1999-04-30  Paul Eggert  <eggert@twinsun.com>
92944
92945         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
92946
92947 1999-04-20  Paul Eggert  <eggert@twinsun.com>
92948
92949         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
92950         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
92951         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
92952         jm_AC_TYPE_UNSIGNED_LONG_LONG.
92953         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
92954
92955         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
92956
92957 1999-04-20  Jim Meyering  <meyering@ascend.com>
92958
92959         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
92960         AC_REPLACE xstroull if necessary.  From Paul Eggert.
92961         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
92962
92963 1999-04-18  Jim Meyering  <meyering@ascend.com>
92964
92965         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
92966         * m4/jm-macros.m4: Use it.
92967
92968 1999-04-06  Jim Meyering  <meyering@ascend.com>
92969
92970         * m4/strftime.m4: Remove test for %f.
92971
92972 1999-03-29  Jim Meyering  <meyering@ascend.com>
92973
92974         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
92975         superset of the AC_TYPE_* checks in the textutils, fileutils,
92976         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
92977         AC_TYPE_PID_T.
92978
92979 1999-03-28  Jim Meyering  <meyering@ascend.com>
92980
92981         * m4/jm-macros.m4: Define GNU_PACKAGE here.
92982         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
92983         replaced e.g., in the *.sh files of the sh-utils.
92984
92985 1999-03-20  Jim Meyering  <meyering@ascend.com>
92986
92987         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
92988         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
92989         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
92990
92991 1999-03-19  Jim Meyering  <meyering@ascend.com>
92992
92993         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
92994
92995 1999-03-12  Jim Meyering  <meyering@ascend.com>
92996
92997         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
92998
92999 1999-03-07  Jim Meyering  <meyering@ascend.com>
93000
93001         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
93002         declared.
93003
93004 1999-02-17  Jim Meyering  <meyering@ascend.com>
93005
93006         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
93007         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
93008
93009 1999-02-07  Jim Meyering  <meyering@ascend.com>
93010
93011         * m4/group-member.m4: New file -- extracted from sh-utils'
93012         configure.in.
93013
93014         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
93015         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
93016
93017 1999-02-06  Jim Meyering  <meyering@ascend.com>
93018
93019         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
93020         * m4/fnmatch.m4: Likewise.
93021         * m4/getgroups.m4: Likewise.
93022         * m4/lstat.m4: Likewise.
93023         * m4/malloc.m4: Likewise.
93024         * m4/putenv.m4: Likewise.
93025         * m4/realloc.m4: Likewise.
93026         * m4/regex.m4: Likewise.
93027         * m4/stat.m4: Likewise.
93028         * m4/strftime.m4: Likewise.
93029         Suggestion from Alain Magloire.
93030
93031         * m4/chown.m4: Use `.$ac_objext', not `.o'.
93032         * m4/fnmatch.m4: Likewise.
93033         * m4/getgroups.m4: Likewise.
93034         * m4/getline.m4: Likewise.
93035         * m4/lstat.m4: Likewise.
93036         * m4/malloc.m4: Likewise.
93037         * m4/memcmp.m4: Likewise.
93038         * m4/putenv.m4: Likewise.
93039         * m4/realloc.m4: Likewise.
93040         * m4/regex.m4: Likewise.
93041         * m4/stat.m4: Likewise.
93042         * m4/strftime.m4: Likewise.
93043         Suggestion from Alain Magloire.
93044
93045         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
93046         an argument.
93047
93048         * m4/regex.m4: Add a run-time Test for proper operation of
93049         re_compile_pattern.
93050
93051 1999-01-31  Jim Meyering  <meyering@ascend.com>
93052
93053         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
93054
93055 1999-01-30  Jim Meyering  <meyering@ascend.com>
93056
93057         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
93058
93059         * m4/jm-mktime.m4: Make this a wrapper around the official
93060         AM_FUNC_MKTIME rather than my private copy, now that the official one
93061         is up to date.
93062         * m4/mktime.m4: Remove file.
93063
93064         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
93065         * m4/uptime.m4: Likewise.
93066         * m4/uintmax_t.m4: Likewise.
93067
93068 1999-01-28  Jim Meyering  <meyering@ascend.com>
93069
93070         * m4/jm-macros.m4: Use jm_AFS.
93071         * m4/afs.m4: New file (from fileutils' configure.in).
93072
93073         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
93074         * m4/chown.m4: Likewise.
93075         * m4/d-ino.m4: Likewise.
93076         * m4/d-type.m4: Likewise.
93077         * m4/fnmatch.m4: Likewise.
93078         * m4/getgroups.m4: Likewise.
93079         * m4/gettext.m4: Likewise.
93080         * m4/jm-mktime.m4: Likewise.
93081         * m4/jm-winsz2.m4: Likewise.
93082         * m4/lcmessage.m4: Likewise.
93083         * m4/ls-mntd-fs.m4: Likewise.
93084         * m4/malloc.m4: Likewise.
93085         * m4/memcmp.m4: Likewise.
93086         * m4/putenv.m4: Likewise.
93087         * m4/realloc.m4: Likewise.
93088         * m4/st_mtim.m4: Likewise.
93089         * m4/strftime.m4: Likewise.
93090
93091 1999-01-16  Jim Meyering  <meyering@ascend.com>
93092
93093         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
93094         (ARGMATCH_DIE_DECL): Define.
93095
93096 1999-01-12  Jim Meyering  <meyering@ascend.com>
93097
93098         * m4/Makefile.am.in: Rewrite to avoid using fmt.
93099         Reported by Lars Hecking.
93100
93101 1999-01-10  Jim Meyering  <meyering@ascend.com>
93102
93103         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
93104         gross kludge.
93105         * m4/inttypes_h.m4: Likewise.
93106         * m4/lstat.m4: Likewise.
93107         * m4/malloc.m4: Likewise.
93108         * m4/readdir.m4: Likewise.
93109         * m4/realloc.m4: Likewise.
93110         * m4/st_dm_mode.m4: Likewise.
93111         * m4/stat.m4: Likewise.
93112         * m4/utimbuf.m4: Likewise.
93113         * m4/utimes.m4: Likewise.
93114
93115         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
93116         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
93117         comments in config.h.in are meaningful.
93118
93119         * m4/jm-macros.m4: Require autoconf-2.13 here.
93120
93121         * m4/regex.m4: By default, don't use the included regex.c on systems
93122         with glibc 2.  Suggestion from Uli Drepper.
93123
93124 1999-01-02  Jim Meyering  <meyering@ascend.com>
93125
93126         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
93127
93128 1998-12-18  Jim Meyering  <meyering@ascend.com>
93129
93130         * m4/Makefile.am.in (Makefile.am): Simplify rule.
93131         Based on a suggestion from Lars Hecking.
93132
93133 1998-11-16  Paul Eggert  <eggert@twinsun.com>
93134
93135         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
93136
93137 1998-11-16  Jim Meyering  <meyering@ascend.com>
93138
93139         * m4/lfs.m4: Double-quote the `uname...` expression.
93140
93141 1998-11-14  Jim Meyering  <meyering@ascend.com>
93142
93143         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
93144         * m4/stat.m4: Likewise.
93145
93146 1998-11-03  Jim Meyering  <meyering@ascend.com>
93147
93148         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
93149         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
93150
93151 1998-10-18  Jim Meyering  <meyering@ascend.com>
93152
93153         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
93154
93155 1998-10-17  Jim Meyering  <meyering@ascend.com>
93156
93157         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
93158         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
93159         calls for those previously hard-coded headers.  Instead, take a new
93160         parameter.
93161         (jm_CHECK_DECLARATIONS): Reflect interface change.
93162         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
93163         (jm_CHECK_DECL_LOCALTIME_R): New macro.
93164
93165         * m4/mktime.m4: Test for spring-forward gap before long-running test.
93166
93167 1998-10-14  Jim Meyering  <meyering@ascend.com>
93168
93169         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
93170         instead of "TZ=America/Vancouver".  From Paul Eggert.
93171
93172 1998-10-11  Jim Meyering  <meyering@ascend.com>
93173
93174         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
93175         This adds a test for a recently added compatibility fix for mktime.c.
93176         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
93177
93178 1998-09-27  Jim Meyering  <meyering@ascend.com>
93179
93180         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
93181
93182         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
93183         ../configure.in, including a change from Gordon Matzigkeit to allow
93184         cross-compiling for the Hurd.
93185
93186         * m4/glibc.m4: New file/macro to test for the GNU C Library
93187         versions 1 and 2.  From Gordon Matzigkeit.
93188         Indent.
93189
93190 1998-09-21  Jim Meyering  <meyering@ascend.com>
93191
93192         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
93193
93194 1998-08-18  Paul Eggert  <eggert@twinsun.com>
93195
93196         Port nanosecond-resolution times to UnixWare 2.1.2 and
93197         pedantic Solaris 2.6.
93198
93199         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
93200         AC_STRUCT_ST_MTIM.
93201         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
93202         Generate name of ns member, instead of just 1 or undef.
93203         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
93204
93205 1998-08-15  Jim Meyering  <meyering@ascend.com>
93206
93207         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
93208         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
93209         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
93210         instead of jm_TYPE_SSIZE_T.
93211
93212 1998-08-12  Jim Meyering  <meyering@ascend.com>
93213
93214         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
93215
93216 1998-08-02  Jim Meyering  <meyering@ascend.com>
93217
93218         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
93219         in acconfig.h manually.
93220
93221 1998-07-31  Paul Eggert  <eggert@twinsun.com>
93222
93223         * m4/st_mtim.m4: New file.
93224
93225 1998-07-28  Jim Meyering  <meyering@ascend.com>
93226
93227         * m4/utimes.m4: Undef stat.
93228
93229 1998-07-25  Jim Meyering  <meyering@ascend.com>
93230
93231         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
93232         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
93233
93234 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
93235
93236         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
93237         uid and gid actually remain unchanged.
93238
93239 1998-07-07  Jim Meyering  <meyering@ascend.com>
93240
93241         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
93242
93243 1998-07-04  Jim Meyering  <meyering@ascend.com>
93244
93245         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
93246         to prove that this macro can be used in packages without regex.c.
93247
93248 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
93249
93250         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
93251         is to be used.
93252
93253 1998-07-03  Jim Meyering  <meyering@ascend.com>
93254
93255         * m4/gettext.m4: Add -lintl if it's found to be necessary.
93256
93257         * m4/gettext.m4: New file -- from gettext-0.10.35.
93258         * m4/lcmessage.m4: Likewise.
93259         * m4/progtest.m4: Likewise.
93260
93261         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
93262         * m4/jm-macros.m4: Require the new macro.
93263
93264 1998-06-29  Jim Meyering  <meyering@ascend.com>
93265
93266         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
93267         for the definition of NGROUPS (used in a system header included
93268         by sys/mount.h).
93269
93270 1998-06-28  Jim Meyering  <meyering@ascend.com>
93271
93272         * m4/ls-mntd-fs.m4: New file.
93273         * m4/fstypename.m4: New file.
93274
93275         * m4/jm-macros.m4: Require the new macro.
93276         * m4/jm-glibc-io.m4: New file.
93277
93278 1998-05-19  Jim Meyering  <meyering@ascend.com>
93279
93280         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
93281         * m4/lchown.m4: New file.
93282
93283         * m4/Makefile.am.in: New file.
93284         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
93285
93286 1998-05-14  Jim Meyering  <meyering@ascend.com>
93287
93288         * m4/Makefile.am (EXTRA_DIST): Add them.
93289         * m4/jm-macros.m4: New file.
93290         * m4/utimbuf.m4: New file.
93291
93292 1998-05-12  Jim Meyering  <meyering@ascend.com>
93293
93294         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
93295
93296 1998-05-11  Jim Meyering  <meyering@ascend.com>
93297
93298         * m4/isc-posix.m4: New file.
93299
93300 1998-05-10  Jim Meyering  <meyering@ascend.com>
93301
93302         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
93303
93304 1998-05-09  Jim Meyering  <meyering@ascend.com>
93305
93306         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
93307         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
93308         with automake.
93309
93310         * m4/ssize_t.m4: New file.
93311         * m4/mktime.m4: Remove file -- the new automake has this now.
93312
93313 1998-04-26  Jim Meyering  <meyering@ascend.com>
93314
93315         * m4/assert.m4: New file.
93316         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
93317
93318 1998-04-05  Jim Meyering  <meyering@ascend.com>
93319
93320         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
93321         (jm_PREREQ): Use it here.
93322
93323 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
93324
93325         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
93326         in acconfig.h.
93327
93328 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
93329
93330         * m4/prereq.m4: New file.
93331         * m4/error.m4: New file.
93332         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
93333
93334 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
93335
93336         * m4/getline.m4: Don't set am_cv_func_working_getline before the
93337         cache-check for the same variable -- that defeated the purpose of
93338         the test; the test program was never run.  This was a problem only
93339         on systems with losing getline functions -- HP-UX 10.20 is one.
93340         Reported by Bjorn Helgaas.
93341
93342 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
93343
93344         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
93345
93346 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
93347
93348         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
93349
93350         * m4/const.m4: New file.  Use an initializer in this declaration
93351         typedef int charset[2]; const charset x;
93352         Reported by Bob Glickstein.
93353
93354 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
93355
93356         * m4/chown.m4: Fix reversed types on -1 args to chown.
93357         From Kaveh Ghazi.
93358
93359 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
93360
93361         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
93362         Add lseek and memchr.
93363
93364         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
93365         T.E.Dickey <dickey@clark.net> said that some older preprocessors
93366         have a 20-character limit on names.
93367
93368 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
93369
93370         * m4/inttypes_h.m4: New file.
93371         * m4/uintmax_t.m4: New file.
93372         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
93373
93374
93375         -----
93376
93377         Local Variables:
93378         coding: utf-8
93379         End:
93380
93381         Copyright (C) 1997-2012 Free Software Foundation, Inc.
93382
93383         Copying and distribution of this file, with or without
93384         modification, are permitted provided the copyright notice
93385         and this notice are preserved.